diff --git a/CHANGELOG.md b/CHANGELOG.md index ab0f3c03034..d93e18fb8ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,56 @@ +Release v1.48.0 (2023-11-17) +=== + +### Service Client Updates +* `service/appmesh`: Updates service API and documentation +* `service/athena`: Updates service API and documentation + * Adding SerivicePreProcessing time metric +* `service/cloud9`: Updates service documentation and examples + * A minor doc only update related to changing the date of an API change. +* `service/cloudformation`: Updates service API and documentation + * This release adds a new flag ImportExistingResources to CreateChangeSet. Specify this parameter on a CREATE- or UPDATE-type change set to import existing resources with custom names instead of recreating them. +* `service/codepipeline`: Updates service API and documentation + * CodePipeline now supports overriding source revisions to achieve manual re-deploy of a past revision +* `service/codestar-connections`: Updates service API, documentation, and paginators +* `service/connect`: Updates service API +* `service/dlm`: Updates service documentation +* `service/ec2`: Updates service API and documentation + * This release adds new features for Amazon VPC IP Address Manager (IPAM) Allowing a choice between Free and Advanced Tiers, viewing public IP address insights across regions and in Amazon Cloudwatch, use IPAM to plan your subnet IPs within a VPC and bring your own autonomous system number to IPAM. +* `service/ecr`: Updates service API and documentation + * Documentation and operational updates for Amazon ECR, adding support for pull through cache rules for upstream registries that require authentication. +* `service/elasticmapreduce`: Updates service API and documentation + * Launch support for IAM Identity Center Trusted Identity Propagation and workspace storage encryption using AWS KMS in EMR Studio +* `service/eventbridge`: Updates service API and documentation +* `service/internetmonitor`: Updates service API, documentation, and paginators +* `service/ivs`: Updates service API +* `service/ivschat`: Updates service API +* `service/kinesisvideo`: Updates service documentation + * Docs only build to bring up-to-date with public docs. +* `service/location`: Updates service API +* `service/medialive`: Updates service API and documentation + * MediaLive has now added support for per-output static image overlay. +* `service/mgn`: Updates service API +* `service/osis`: Updates service API and documentation +* `service/pipes`: Updates service API +* `service/rds`: Updates service API, documentation, waiters, paginators, and examples + * This release adds support for option groups and replica enhancements to Amazon RDS Custom. +* `service/redshift`: Updates service API, documentation, and paginators + * Updated SDK for Amazon Redshift, which you can use to configure a connection with IAM Identity Center to manage access to databases. With these, you can create a connection through a managed application. You can also change a managed application, delete it, or get information about an existing one. +* `service/redshift-serverless`: Updates service API and documentation +* `service/s3`: Updates service API, documentation, and examples + * Removes all default 0 values for numbers and false values for booleans +* `service/sso-admin`: Updates service API and documentation +* `service/sso-oidc`: Updates service API, documentation, and examples +* `service/sts`: Updates service documentation + * API updates for the AWS Security Token Service +* `service/trustedadvisor`: Adds new service +* `service/verifiedpermissions`: Updates service API and documentation +* `service/wisdom`: Updates service API, documentation, and paginators + +### SDK Features +* `service/macie`: Deprecate Macie + * This change removes the macie service, since it is deprecated. + Release v1.47.13 (2023-11-16) === diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index eb2f099ad97..8a1927a39ca 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -1,6 +1,5 @@ ### SDK Features -* `service/macie`: Deprecate Macie - * This change removes the macie service, since it is deprecated. + ### SDK Enhancements ### SDK Bugs diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index b00f78543b4..b11016c081a 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -26738,6 +26738,9 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "il-central-1", + }: endpoint{}, endpointKey{ Region: "me-central-1", }: endpoint{}, diff --git a/aws/version.go b/aws/version.go index 31adcf787a9..77fb05c4e93 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.47.13" +const SDKVersion = "1.48.0" diff --git a/models/apis/appmesh/2019-01-25/api-2.json b/models/apis/appmesh/2019-01-25/api-2.json index dd623ae41fc..94adf0aa02b 100644 --- a/models/apis/appmesh/2019-01-25/api-2.json +++ b/models/apis/appmesh/2019-01-25/api-2.json @@ -863,10 +863,7 @@ "required":["validation"], "members":{ "certificate":{"shape":"ClientTlsCertificate"}, - "enforce":{ - "shape":"Boolean", - "box":true - }, + "enforce":{"shape":"Boolean"}, "ports":{"shape":"PortSet"}, "validation":{"shape":"TlsValidationContext"} } @@ -1975,6 +1972,7 @@ }, "HealthCheckThreshold":{ "type":"integer", + "box":true, "max":10, "min":2 }, @@ -2689,14 +2687,17 @@ }, "MaxConnections":{ "type":"integer", + "box":true, "min":1 }, "MaxPendingRequests":{ "type":"integer", + "box":true, "min":1 }, "MaxRequests":{ "type":"integer", + "box":true, "min":1 }, "MaxRetries":{ @@ -2831,6 +2832,7 @@ }, "PortNumber":{ "type":"integer", + "box":true, "max":65535, "min":1 }, @@ -3497,10 +3499,7 @@ "required":["validation"], "members":{ "certificate":{"shape":"VirtualGatewayClientTlsCertificate"}, - "enforce":{ - "shape":"Boolean", - "box":true - }, + "enforce":{"shape":"Boolean"}, "ports":{"shape":"PortSet"}, "validation":{"shape":"VirtualGatewayTlsValidationContext"} } @@ -3581,6 +3580,7 @@ }, "VirtualGatewayHealthCheckThreshold":{ "type":"integer", + "box":true, "max":10, "min":2 }, @@ -3602,10 +3602,7 @@ "required":["maxConnections"], "members":{ "maxConnections":{"shape":"MaxConnections"}, - "maxPendingRequests":{ - "shape":"MaxPendingRequests", - "box":true - } + "maxPendingRequests":{"shape":"MaxPendingRequests"} } }, "VirtualGatewayList":{ @@ -3853,10 +3850,7 @@ "required":["maxConnections"], "members":{ "maxConnections":{"shape":"MaxConnections"}, - "maxPendingRequests":{ - "shape":"MaxPendingRequests", - "box":true - } + "maxPendingRequests":{"shape":"MaxPendingRequests"} } }, "VirtualNodeList":{ diff --git a/models/apis/appmesh/2019-01-25/docs-2.json b/models/apis/appmesh/2019-01-25/docs-2.json index a6a694a873c..7446b07add7 100644 --- a/models/apis/appmesh/2019-01-25/docs-2.json +++ b/models/apis/appmesh/2019-01-25/docs-2.json @@ -503,7 +503,7 @@ "FilePath": { "base": null, "refs": { - "FileAccessLog$path": "

The file path to write access logs to. You can use /dev/stdout to send access logs to standard out and configure your Envoy container to use a log driver, such as awslogs, to export the access logs to a log storage service such as Amazon CloudWatch Logs. You can also specify a path in the Envoy container's file system to write the files to disk.

 <note> <p>The Envoy process must have write permissions to the path that you specify here. Otherwise, Envoy fails to bootstrap properly.</p> </note> 
", + "FileAccessLog$path": "

The file path to write access logs to. You can use /dev/stdout to send access logs to standard out and configure your Envoy container to use a log driver, such as awslogs, to export the access logs to a log storage service such as Amazon CloudWatch Logs. You can also specify a path in the Envoy container's file system to write the files to disk.

The Envoy process must have write permissions to the path that you specify here. Otherwise, Envoy fails to bootstrap properly.

", "ListenerTlsFileCertificate$certificateChain": "

The certificate chain for the certificate.

", "ListenerTlsFileCertificate$privateKey": "

The private key for a certificate stored on the file system of the virtual node that the proxy is running on.

", "TlsValidationContextFileTrust$certificateChain": "

The certificate trust chain for a certificate stored on the file system of the virtual node that the proxy is running on.

", @@ -1092,7 +1092,7 @@ "base": null, "refs": { "GatewayRouteTarget$port": "

The port number of the gateway route target.

", - "GrpcGatewayRouteMatch$port": "

The port number to match from the request.

", + "GrpcGatewayRouteMatch$port": "

The gateway route port to be matched on.

", "GrpcRouteMatch$port": "

The port number to match on.

", "HttpGatewayRouteMatch$port": "

The port number to match on.

", "HttpRouteMatch$port": "

The port number to match on.

", diff --git a/models/apis/appmesh/2019-01-25/endpoint-rule-set-1.json b/models/apis/appmesh/2019-01-25/endpoint-rule-set-1.json new file mode 100644 index 00000000000..8f95e6a59e7 --- /dev/null +++ b/models/apis/appmesh/2019-01-25/endpoint-rule-set-1.json @@ -0,0 +1,314 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://appmesh-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://appmesh-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://appmesh.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://appmesh.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] +} \ No newline at end of file diff --git a/models/apis/appmesh/2019-01-25/endpoint-tests-1.json b/models/apis/appmesh/2019-01-25/endpoint-tests-1.json new file mode 100644 index 00000000000..76937ff673e --- /dev/null +++ b/models/apis/appmesh/2019-01-25/endpoint-tests-1.json @@ -0,0 +1,834 @@ +{ + "testCases": [ + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.af-south-1.amazonaws.com" + } + }, + "params": { + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.af-south-1.api.aws" + } + }, + "params": { + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.ap-east-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.ap-east-1.api.aws" + } + }, + "params": { + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.ap-northeast-1.api.aws" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.ap-northeast-2.api.aws" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.ap-south-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.ap-south-1.api.aws" + } + }, + "params": { + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.ap-southeast-1.api.aws" + } + }, + "params": { + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.ap-southeast-2.api.aws" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.ca-central-1.amazonaws.com" + } + }, + "params": { + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.ca-central-1.api.aws" + } + }, + "params": { + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.eu-central-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.eu-central-1.api.aws" + } + }, + "params": { + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.eu-north-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.eu-north-1.api.aws" + } + }, + "params": { + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.eu-south-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.eu-south-1.api.aws" + } + }, + "params": { + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.eu-west-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.eu-west-1.api.aws" + } + }, + "params": { + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.eu-west-2.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.eu-west-2.api.aws" + } + }, + "params": { + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.eu-west-3.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.eu-west-3.api.aws" + } + }, + "params": { + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.me-south-1.amazonaws.com" + } + }, + "params": { + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.me-south-1.api.aws" + } + }, + "params": { + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.sa-east-1.amazonaws.com" + } + }, + "params": { + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.sa-east-1.api.aws" + } + }, + "params": { + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.us-east-2.amazonaws.com" + } + }, + "params": { + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.us-east-2.api.aws" + } + }, + "params": { + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.us-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.us-west-1.api.aws" + } + }, + "params": { + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.us-west-2.api.aws" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://appmesh.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appmesh.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/athena/2017-05-18/api-2.json b/models/apis/athena/2017-05-18/api-2.json index 683da7d9df8..28d922f34d9 100644 --- a/models/apis/athena/2017-05-18/api-2.json +++ b/models/apis/athena/2017-05-18/api-2.json @@ -2583,6 +2583,7 @@ "DataManifestLocation":{"shape":"String"}, "TotalExecutionTimeInMillis":{"shape":"Long"}, "QueryQueueTimeInMillis":{"shape":"Long"}, + "ServicePreProcessingTimeInMillis":{"shape":"Long"}, "QueryPlanningTimeInMillis":{"shape":"Long"}, "ServiceProcessingTimeInMillis":{"shape":"Long"}, "ResultReuseInformation":{"shape":"ResultReuseInformation"} @@ -2619,6 +2620,7 @@ "type":"structure", "members":{ "QueryQueueTimeInMillis":{"shape":"Long"}, + "ServicePreProcessingTimeInMillis":{"shape":"Long"}, "QueryPlanningTimeInMillis":{"shape":"Long"}, "EngineExecutionTimeInMillis":{"shape":"Long"}, "ServiceProcessingTimeInMillis":{"shape":"Long"}, diff --git a/models/apis/athena/2017-05-18/docs-2.json b/models/apis/athena/2017-05-18/docs-2.json index 4bceff2dc34..b3b84ba6d47 100644 --- a/models/apis/athena/2017-05-18/docs-2.json +++ b/models/apis/athena/2017-05-18/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "

Amazon Athena is an interactive query service that lets you use standard SQL to analyze data directly in Amazon S3. You can point Athena at your data in Amazon S3 and run ad-hoc queries and get results in seconds. Athena is serverless, so there is no infrastructure to set up or manage. You pay only for the queries you run. Athena scales automatically—executing queries in parallel—so results are fast, even with large datasets and complex queries. For more information, see What is Amazon Athena in the Amazon Athena User Guide.

If you connect to Athena using the JDBC driver, use version 1.1.0 of the driver or later with the Amazon Athena API. Earlier version drivers do not support the API. For more information and to download the driver, see Accessing Amazon Athena with JDBC.

For code samples using the Amazon Web Services SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", + "service": "

Amazon Athena is an interactive query service that lets you use standard SQL to analyze data directly in Amazon S3. You can point Athena at your data in Amazon S3 and run ad-hoc queries and get results in seconds. Athena is serverless, so there is no infrastructure to set up or manage. You pay only for the queries you run. Athena scales automatically—executing queries in parallel—so results are fast, even with large datasets and complex queries. For more information, see What is Amazon Athena in the Amazon Athena User Guide.

If you connect to Athena using the JDBC driver, use version 1.1.0 of the driver or later with the Amazon Athena API. Earlier version drivers do not support the API. For more information and to download the driver, see Accessing Amazon Athena with JDBC.

", "operations": { "BatchGetNamedQuery": "

Returns the details of a single named query or a list of up to 50 queries, which you provide as an array of query ID strings. Requires you to have access to the workgroup in which the queries were saved. Use ListNamedQueriesInput to get the list of named query IDs in the specified workgroup. If information could not be retrieved for a submitted query ID, information about the query ID submitted is listed under UnprocessedNamedQueryId. Named queries differ from executed queries. Use BatchGetQueryExecutionInput to get details about each unique query execution, and ListQueryExecutionsInput to get a list of query execution IDs.

", "BatchGetPreparedStatement": "

Returns the details of a single prepared statement or a list of up to 256 prepared statements for the array of prepared statement names that you provide. Requires you to have access to the workgroup to which the prepared statements belong. If a prepared statement cannot be retrieved for the name specified, the statement is listed in UnprocessedPreparedStatementNames.

", @@ -8,14 +8,14 @@ "CancelCapacityReservation": "

Cancels the capacity reservation with the specified name. Cancelled reservations remain in your account and will be deleted 45 days after cancellation. During the 45 days, you cannot re-purpose or reuse a reservation that has been cancelled, but you can refer to its tags and view it for historical reference.

", "CreateCapacityReservation": "

Creates a capacity reservation with the specified name and number of requested data processing units.

", "CreateDataCatalog": "

Creates (registers) a data catalog with the specified name and properties. Catalogs created are visible to all users of the same Amazon Web Services account.

", - "CreateNamedQuery": "

Creates a named query in the specified workgroup. Requires that you have access to the workgroup.

For code samples using the Amazon Web Services SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", + "CreateNamedQuery": "

Creates a named query in the specified workgroup. Requires that you have access to the workgroup.

", "CreateNotebook": "

Creates an empty ipynb file in the specified Apache Spark enabled workgroup. Throws an error if a file in the workgroup with the same name already exists.

", "CreatePreparedStatement": "

Creates a prepared statement for use with SQL queries in Athena.

", "CreatePresignedNotebookUrl": "

Gets an authentication token and the URL at which the notebook can be accessed. During programmatic access, CreatePresignedNotebookUrl must be called every 10 minutes to refresh the authentication token. For information about granting programmatic access, see Grant programmatic access.

", "CreateWorkGroup": "

Creates a workgroup with the specified name. A workgroup can be an Apache Spark enabled workgroup or an Athena SQL workgroup.

", "DeleteCapacityReservation": "

Deletes a cancelled capacity reservation. A reservation must be cancelled before it can be deleted. A deleted reservation is immediately removed from your account and can no longer be referenced, including by its ARN. A deleted reservation cannot be called by GetCapacityReservation, and deleted reservations do not appear in the output of ListCapacityReservations.

", "DeleteDataCatalog": "

Deletes a data catalog.

", - "DeleteNamedQuery": "

Deletes the named query if you have access to the workgroup in which the query was saved.

For code samples using the Amazon Web Services SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", + "DeleteNamedQuery": "

Deletes the named query if you have access to the workgroup in which the query was saved.

", "DeleteNotebook": "

Deletes the specified notebook.

", "DeletePreparedStatement": "

Deletes the prepared statement with the specified name from the specified workgroup.

", "DeleteWorkGroup": "

Deletes the workgroup with the specified name. The primary workgroup cannot be deleted.

", @@ -45,21 +45,21 @@ "ListDatabases": "

Lists the databases in the specified data catalog.

", "ListEngineVersions": "

Returns a list of engine versions that are available to choose from, including the Auto option.

", "ListExecutors": "

Lists, in descending order, the executors that joined a session. Newer executors are listed first; older executors are listed later. The result can be optionally filtered by state.

", - "ListNamedQueries": "

Provides a list of available query IDs only for queries saved in the specified workgroup. Requires that you have access to the specified workgroup. If a workgroup is not specified, lists the saved queries for the primary workgroup.

For code samples using the Amazon Web Services SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", + "ListNamedQueries": "

Provides a list of available query IDs only for queries saved in the specified workgroup. Requires that you have access to the specified workgroup. If a workgroup is not specified, lists the saved queries for the primary workgroup.

", "ListNotebookMetadata": "

Displays the notebook files for the specified workgroup in paginated format.

", "ListNotebookSessions": "

Lists, in descending order, the sessions that have been created in a notebook that are in an active state like CREATING, CREATED, IDLE or BUSY. Newer sessions are listed first; older sessions are listed later.

", "ListPreparedStatements": "

Lists the prepared statements in the specified workgroup.

", - "ListQueryExecutions": "

Provides a list of available query execution IDs for the queries in the specified workgroup. If a workgroup is not specified, returns a list of query execution IDs for the primary workgroup. Requires you to have access to the workgroup in which the queries ran.

For code samples using the Amazon Web Services SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", + "ListQueryExecutions": "

Provides a list of available query execution IDs for the queries in the specified workgroup. Athena keeps a query history for 45 days. If a workgroup is not specified, returns a list of query execution IDs for the primary workgroup. Requires you to have access to the workgroup in which the queries ran.

", "ListSessions": "

Lists the sessions in a workgroup that are in an active state like CREATING, CREATED, IDLE, or BUSY. Newer sessions are listed first; older sessions are listed later.

", "ListTableMetadata": "

Lists the metadata for the tables in the specified data catalog database.

", "ListTagsForResource": "

Lists the tags associated with an Athena resource.

", "ListWorkGroups": "

Lists available workgroups for the account.

", "PutCapacityAssignmentConfiguration": "

Puts a new capacity assignment configuration for a specified capacity reservation. If a capacity assignment configuration already exists for the capacity reservation, replaces the existing capacity assignment configuration.

", - "StartCalculationExecution": "

Submits calculations for execution within a session. You can supply the code to run as an inline code block within the request.

", + "StartCalculationExecution": "

Submits calculations for execution within a session. You can supply the code to run as an inline code block within the request.

The request syntax requires the StartCalculationExecutionRequest$CodeBlock parameter or the CalculationConfiguration$CodeBlock parameter, but not both. Because CalculationConfiguration$CodeBlock is deprecated, use the StartCalculationExecutionRequest$CodeBlock parameter instead.

", "StartQueryExecution": "

Runs the SQL query statements contained in the Query. Requires you to have access to the workgroup in which the query ran. Running queries against an external catalog requires GetDataCatalog permission to the catalog. For code samples using the Amazon Web Services SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", "StartSession": "

Creates a session for running calculations within a workgroup. The session is ready when it reaches an IDLE state.

", "StopCalculationExecution": "

Requests the cancellation of a calculation. A StopCalculationExecution call on a calculation that is already in a terminal state (for example, STOPPED, FAILED, or COMPLETED) succeeds but has no effect.

Cancelling a calculation is done on a best effort basis. If a calculation cannot be cancelled, you can be charged for its completion. If you are concerned about being charged for a calculation that cannot be cancelled, consider terminating the session in which the calculation is running.

", - "StopQueryExecution": "

Stops a query execution. Requires you to have access to the workgroup in which the query ran.

For code samples using the Amazon Web Services SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", + "StopQueryExecution": "

Stops a query execution. Requires you to have access to the workgroup in which the query ran.

", "TagResource": "

Adds one or more tags to an Athena resource. A tag is a label that you assign to a resource. Each tag consists of a key and an optional value, both of which you define. For example, you can use tags to categorize Athena workgroups, data catalogs, or capacity reservations by purpose, owner, or environment. Use a consistent set of tag keys to make it easier to search and filter the resources in your account. For best practices, see Tagging Best Practices. Tag keys can be from 1 to 128 UTF-8 Unicode characters, and tag values can be from 0 to 256 UTF-8 Unicode characters. Tags can use letters and numbers representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Tag keys must be unique per resource. If you specify more than one tag, separate them by commas.

", "TerminateSession": "

Terminates an active session. A TerminateSession call on a session that is already inactive (for example, in a FAILED, TERMINATED or TERMINATING state) succeeds but has no effect. Calculations running in the session when TerminateSession is called are forcefully stopped, but may display as FAILED instead of STOPPED.

", "UntagResource": "

Removes one or more tags from an Athena resource.

", @@ -367,7 +367,7 @@ "refs": { "CalculationConfiguration$CodeBlock": "

A string that contains the code for the calculation.

", "GetCalculationExecutionCodeResponse$CodeBlock": "

The unencrypted code that was executed for the calculation.

", - "StartCalculationExecutionRequest$CodeBlock": "

A string that contains the code of the calculation.

" + "StartCalculationExecutionRequest$CodeBlock": "

A string that contains the code of the calculation. Use this parameter instead of CalculationConfiguration$CodeBlock, which is deprecated.

" } }, "Column": { @@ -484,7 +484,7 @@ } }, "CustomerContentEncryptionConfiguration": { - "base": "

Specifies the KMS key that is used to encrypt the user's data stores in Athena. This setting does not apply to Athena SQL workgroups.

", + "base": "

Specifies the customer managed KMS key that is used to encrypt the user's data stores in Athena. When an Amazon Web Services managed key is used, this value is null. This setting does not apply to Athena SQL workgroups.

", "refs": { "WorkGroupConfiguration$CustomerContentEncryptionConfiguration": "

Specifies the KMS key that is used to encrypt the user's data stores in Athena. This setting does not apply to Athena SQL workgroups.

", "WorkGroupConfigurationUpdates$CustomerContentEncryptionConfiguration": null @@ -1008,7 +1008,7 @@ "KmsKey": { "base": null, "refs": { - "CustomerContentEncryptionConfiguration$KmsKey": "

The KMS key that is used to encrypt the user's data stores in Athena.

" + "CustomerContentEncryptionConfiguration$KmsKey": "

The customer managed KMS key that is used to encrypt the user's data stores in Athena.

" } }, "ListApplicationDPUSizesInput": { @@ -1184,6 +1184,7 @@ "QueryExecutionStatistics$DataScannedInBytes": "

The number of bytes in the data that was queried.

", "QueryExecutionStatistics$TotalExecutionTimeInMillis": "

The number of milliseconds that Athena took to run the query.

", "QueryExecutionStatistics$QueryQueueTimeInMillis": "

The number of milliseconds that the query was in your query queue waiting for resources. Note that if transient errors occur, Athena might automatically add the query back to the queue.

", + "QueryExecutionStatistics$ServicePreProcessingTimeInMillis": "

The number of milliseconds that Athena took to preprocess the query before submitting the query to the query engine.

", "QueryExecutionStatistics$QueryPlanningTimeInMillis": "

The number of milliseconds that Athena took to plan the query processing flow. This includes the time spent retrieving table partitions from the data source. Note that because the query engine performs the query planning, query planning time is a subset of engine processing time.

", "QueryExecutionStatistics$ServiceProcessingTimeInMillis": "

The number of milliseconds that Athena took to finalize and publish the query results after the query engine finished running the query.

", "QueryRuntimeStatisticsRows$InputRows": "

The number of rows read to execute the query.

", @@ -1191,6 +1192,7 @@ "QueryRuntimeStatisticsRows$OutputBytes": "

The number of bytes returned by the query.

", "QueryRuntimeStatisticsRows$OutputRows": "

The number of rows returned by the query.

", "QueryRuntimeStatisticsTimeline$QueryQueueTimeInMillis": "

The number of milliseconds that the query was in your query queue waiting for resources. Note that if transient errors occur, Athena might automatically add the query back to the queue.

", + "QueryRuntimeStatisticsTimeline$ServicePreProcessingTimeInMillis": "

The number of milliseconds that Athena spends on preprocessing before it submits the query to the engine.

", "QueryRuntimeStatisticsTimeline$QueryPlanningTimeInMillis": "

The number of milliseconds that Athena took to plan the query processing flow. This includes the time spent retrieving table partitions from the data source. Note that because the query engine performs the query planning, query planning time is a subset of engine processing time.

", "QueryRuntimeStatisticsTimeline$EngineExecutionTimeInMillis": "

The number of milliseconds that the query took to execute.

", "QueryRuntimeStatisticsTimeline$ServiceProcessingTimeInMillis": "

The number of milliseconds that Athena took to finalize and publish the query results after the query engine finished running the query.

", @@ -1436,8 +1438,8 @@ "ParametersMap": { "base": null, "refs": { - "CreateDataCatalogInput$Parameters": "

Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type.

", - "DataCatalog$Parameters": "

Specifies the Lambda function or functions to use for the data catalog. This is a mapping whose values depend on the catalog type.

", + "CreateDataCatalogInput$Parameters": "

Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type.

", + "DataCatalog$Parameters": "

Specifies the Lambda function or functions to use for the data catalog. This is a mapping whose values depend on the catalog type.

", "Database$Parameters": "

A set of custom key/value pairs.

", "EngineConfiguration$AdditionalConfigs": "

Contains additional notebook engine MAP<string, string> parameter mappings in the form of key-value pairs. To specify an Athena notebook that the Jupyter server will download and serve, specify a value for the StartSessionRequest$NotebookVersion field, and then add a key named NotebookId to AdditionalConfigs that has the value of the Athena notebook ID.

", "EngineConfiguration$SparkProperties": "

Specifies custom jar files and Spark properties for use cases like cluster encryption, table formats, and general Spark tuning.

", @@ -1676,9 +1678,9 @@ "RoleArn": { "base": null, "refs": { - "SessionConfiguration$ExecutionRole": "

The ARN of the execution role used for the session.

", - "WorkGroupConfiguration$ExecutionRole": "

Role used in a session for accessing the user's resources.

", - "WorkGroupConfigurationUpdates$ExecutionRole": "

Contains the ARN of the execution role for the workgroup

" + "SessionConfiguration$ExecutionRole": "

The ARN of the execution role used in a Spark session to access user resources. This property applies only to Spark-enabled workgroups.

", + "WorkGroupConfiguration$ExecutionRole": "

Role used in a Spark session for accessing the user's resources. This property applies only to Spark-enabled workgroups.

", + "WorkGroupConfigurationUpdates$ExecutionRole": "

The ARN of the execution role used to access user resources. This property applies only to Spark-enabled workgroups.

" } }, "Row": { diff --git a/models/apis/athena/2017-05-18/endpoint-rule-set-1.json b/models/apis/athena/2017-05-18/endpoint-rule-set-1.json index 4bf6148f97e..86a55589c9c 100644 --- a/models/apis/athena/2017-05-18/endpoint-rule-set-1.json +++ b/models/apis/athena/2017-05-18/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -58,293 +57,258 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://athena-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://athena-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, true ] } ], - "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://athena-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://athena-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://athena.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], - "type": "tree", + ], "rules": [ { "conditions": [], "endpoint": { - "url": "https://athena.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://athena.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://athena.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" + ], + "type": "tree" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/cloud9/2017-09-23/docs-2.json b/models/apis/cloud9/2017-09-23/docs-2.json index 20884b43107..67cf30ade09 100644 --- a/models/apis/cloud9/2017-09-23/docs-2.json +++ b/models/apis/cloud9/2017-09-23/docs-2.json @@ -232,7 +232,7 @@ "ImageId": { "base": null, "refs": { - "CreateEnvironmentEC2Request$imageId": "

The identifier for the Amazon Machine Image (AMI) that's used to create the EC2 instance. To choose an AMI for the instance, you must specify a valid AMI alias or a valid Amazon EC2 Systems Manager (SSM) path.

From November 20, 2023, you will be required to include the imageId parameter for the CreateEnvironmentEC2 action. This change will be reflected across all direct methods of communicating with the API, such as Amazon Web Services SDK, Amazon Web Services CLI and Amazon Web Services CloudFormation. This change will only affect direct API consumers, and not Cloud9 console users.

From January 22, 2024, Amazon Linux (AL1) will be removed from the list of available image IDs for Cloud9. This is necessary as AL1 will reach the end of maintenance support in December 2023, and as a result will no longer receive security updates. We recommend using Amazon Linux 2 as the AMI to create your environment as it is fully supported. This change will only affect direct API consumers, and not Cloud9 console users.

Since Ubuntu 18.04 has ended standard support as of May 31, 2023, we recommend you choose Ubuntu 22.04.

AMI aliases

SSM paths

" + "CreateEnvironmentEC2Request$imageId": "

The identifier for the Amazon Machine Image (AMI) that's used to create the EC2 instance. To choose an AMI for the instance, you must specify a valid AMI alias or a valid Amazon EC2 Systems Manager (SSM) path.

From December 04, 2023, you will be required to include the imageId parameter for the CreateEnvironmentEC2 action. This change will be reflected across all direct methods of communicating with the API, such as Amazon Web Services SDK, Amazon Web Services CLI and Amazon Web Services CloudFormation. This change will only affect direct API consumers, and not Cloud9 console users.

From January 22, 2024, Amazon Linux (AL1) will be removed from the list of available image IDs for Cloud9. This is necessary as AL1 will reach the end of maintenance support in December 2023, and as a result will no longer receive security updates. We recommend using Amazon Linux 2 as the AMI to create your environment as it is fully supported. This change will only affect direct API consumers, and not Cloud9 console users.

Since Ubuntu 18.04 has ended standard support as of May 31, 2023, we recommend you choose Ubuntu 22.04.

AMI aliases

SSM paths

" } }, "InstanceType": { diff --git a/models/apis/cloud9/2017-09-23/examples-1.json b/models/apis/cloud9/2017-09-23/examples-1.json index fdef2700951..f50266854a6 100644 --- a/models/apis/cloud9/2017-09-23/examples-1.json +++ b/models/apis/cloud9/2017-09-23/examples-1.json @@ -7,6 +7,7 @@ "name": "my-demo-environment", "automaticStopTimeMinutes": 60, "description": "This is my demonstration environment.", + "imageId": "amazonlinux-2-x86_64", "instanceType": "t2.micro", "ownerArn": "arn:aws:iam::123456789012:user/MyDemoUser", "subnetId": "subnet-6300cd1b" diff --git a/models/apis/cloudformation/2010-05-15/api-2.json b/models/apis/cloudformation/2010-05-15/api-2.json index 0c487da0801..1e9525e9f7d 100644 --- a/models/apis/cloudformation/2010-05-15/api-2.json +++ b/models/apis/cloudformation/2010-05-15/api-2.json @@ -1369,7 +1369,8 @@ "Description":{"shape":"Description"}, "IncludeNestedStacks":{"shape":"IncludeNestedStacks"}, "ParentChangeSetId":{"shape":"ChangeSetId"}, - "RootChangeSetId":{"shape":"ChangeSetId"} + "RootChangeSetId":{"shape":"ChangeSetId"}, + "ImportExistingResources":{"shape":"ImportExistingResources"} } }, "ChangeSetType":{ @@ -1467,7 +1468,8 @@ "ChangeSetType":{"shape":"ChangeSetType"}, "ResourcesToImport":{"shape":"ResourcesToImport"}, "IncludeNestedStacks":{"shape":"IncludeNestedStacks"}, - "OnStackFailure":{"shape":"OnStackFailure"} + "OnStackFailure":{"shape":"OnStackFailure"}, + "ImportExistingResources":{"shape":"ImportExistingResources"} } }, "CreateChangeSetOutput":{ @@ -1758,7 +1760,8 @@ "IncludeNestedStacks":{"shape":"IncludeNestedStacks"}, "ParentChangeSetId":{"shape":"ChangeSetId"}, "RootChangeSetId":{"shape":"ChangeSetId"}, - "OnStackFailure":{"shape":"OnStackFailure"} + "OnStackFailure":{"shape":"OnStackFailure"}, + "ImportExistingResources":{"shape":"ImportExistingResources"} } }, "DescribeOrganizationsAccessInput":{ @@ -2312,6 +2315,7 @@ "Bitbucket" ] }, + "ImportExistingResources":{"type":"boolean"}, "ImportStacksToStackSetInput":{ "type":"structure", "required":["StackSetName"], diff --git a/models/apis/cloudformation/2010-05-15/docs-2.json b/models/apis/cloudformation/2010-05-15/docs-2.json index 18b24a4cd82..a7df1213bd5 100644 --- a/models/apis/cloudformation/2010-05-15/docs-2.json +++ b/models/apis/cloudformation/2010-05-15/docs-2.json @@ -19,12 +19,12 @@ "DeleteStackSet": "

Deletes a stack set. Before you can delete a stack set, all its member stack instances must be deleted. For more information about how to complete this, see DeleteStackInstances.

", "DeregisterType": "

Marks an extension or extension version as DEPRECATED in the CloudFormation registry, removing it from active use. Deprecated extensions or extension versions cannot be used in CloudFormation operations.

To deregister an entire extension, you must individually deregister all active versions of that extension. If an extension has only a single active version, deregistering that version results in the extension itself being deregistered and marked as deprecated in the registry.

You can't deregister the default version of an extension if there are other active version of that extension. If you do deregister the default version of an extension, the extension type itself is deregistered as well and marked as deprecated.

To view the deprecation status of an extension or extension version, use DescribeType.

", "DescribeAccountLimits": "

Retrieves your account's CloudFormation limits, such as the maximum number of stacks that you can create in your account. For more information about account limits, see CloudFormation Quotas in the CloudFormation User Guide.

", - "DescribeChangeSet": "

Returns the inputs for the change set and a list of changes that CloudFormation will make if you execute the change set. For more information, see Updating Stacks Using Change Sets in the CloudFormation User Guide.

", + "DescribeChangeSet": "

Returns the inputs for the change set and a list of changes that CloudFormation will make if you execute the change set. For more information, see Updating Stacks Using Change Sets in the CloudFormation User Guide.

", "DescribeChangeSetHooks": "

Returns hook-related information for the change set and a list of changes that CloudFormation makes when you run the change set.

", "DescribeOrganizationsAccess": "

Retrieves information about the account's OrganizationAccess status. This API can be called either by the management account or the delegated administrator by using the CallAs parameter. This API can also be called without the CallAs parameter by the management account.

", "DescribePublisher": "

Returns information about a CloudFormation extension publisher.

If you don't supply a PublisherId, and you have registered as an extension publisher, DescribePublisher returns information about your own publisher account.

For more information about registering as a publisher, see:

", "DescribeStackDriftDetectionStatus": "

Returns information about a stack drift detection operation. A stack drift detection operation detects whether a stack's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. A stack is considered to have drifted if one or more of its resources have drifted. For more information about stack and resource drift, see Detecting Unregulated Configuration Changes to Stacks and Resources.

Use DetectStackDrift to initiate a stack drift detection operation. DetectStackDrift returns a StackDriftDetectionId you can use to monitor the progress of the operation using DescribeStackDriftDetectionStatus. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return drift information about the stack and its resources.

", - "DescribeStackEvents": "

Returns all stack related events for a specified stack in reverse chronological order. For more information about a stack's event history, go to Stacks in the CloudFormation User Guide.

You can list events for stacks that have failed to create or have been deleted by specifying the unique stack identifier (stack ID).

", + "DescribeStackEvents": "

Returns all stack related events for a specified stack in reverse chronological order. For more information about a stack's event history, go to Stacks in the CloudFormation User Guide.

You can list events for stacks that have failed to create or have been deleted by specifying the unique stack identifier (stack ID).

", "DescribeStackInstance": "

Returns the stack instance that's associated with the specified StackSet, Amazon Web Services account, and Amazon Web Services Region.

For a list of stack instances that are associated with a specific StackSet, use ListStackInstances.

", "DescribeStackResource": "

Returns a description of the specified resource in the specified stack.

For deleted stacks, DescribeStackResource returns resource information for up to 90 days after the stack has been deleted.

", "DescribeStackResourceDrifts": "

Returns drift information for the resources that have been checked for drift in the specified stack. This includes actual and expected configuration values for resources where CloudFormation detects configuration drift.

For a given stack, there will be one StackResourceDrift for each stack resource that has been checked for drift. Resources that haven't yet been checked for drift aren't included. Resources that don't currently support drift detection aren't checked, and so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection.

Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect drift on all supported resources for a given stack.

", @@ -494,7 +494,7 @@ "ConcurrencyMode": { "base": null, "refs": { - "StackSetOperationPreferences$ConcurrencyMode": "

Specifies how the concurrency level behaves during the operation execution.

" + "StackSetOperationPreferences$ConcurrencyMode": "

Specifies how the concurrency level behaves during the operation execution.

" } }, "ConfigurationSchema": { @@ -1123,6 +1123,14 @@ "TypeSummary$PublisherIdentity": "

The service used to verify the publisher identity.

For more information, see Registering your account to publish CloudFormation extensions in the CFN-CLI User Guide for Extension Development.

" } }, + "ImportExistingResources": { + "base": null, + "refs": { + "ChangeSetSummary$ImportExistingResources": "

Indicates if the stack set imports resources that already exist.

", + "CreateChangeSetInput$ImportExistingResources": "

Indicates if the stack set imports resources that already exist.

This parameter can only import resources that have custom names in templates. For more information, see name type in the CloudFormation User Guide. To import resources that do not accept custom names, such as EC2 instances, use the resource import feature instead. For more information, see Bringing existing resources into CloudFormation management in the CloudFormation User Guide.

", + "DescribeChangeSetOutput$ImportExistingResources": "

Indicates if the stack set imports resources that already exist.

This parameter can only import resources that have custom names in templates. To import resources that do not accept custom names, such as EC2 instances, use the resource import feature instead.

" + } + }, "ImportStacksToStackSetInput": { "base": null, "refs": { @@ -2148,7 +2156,7 @@ "ResourceTypes": { "base": null, "refs": { - "CreateChangeSetInput$ResourceTypes": "

The template resource types that you have permissions to work with if you execute this change set, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

If the list of resource types doesn't include a resource type that you're updating, the stack update fails. By default, CloudFormation grants permissions to all resource types. Identity and Access Management (IAM) uses this parameter for condition keys in IAM policies for CloudFormation. For more information, see Controlling access with Identity and Access Management in the CloudFormation User Guide.

Only one of the Capabilities and ResourceType parameters can be specified.

", + "CreateChangeSetInput$ResourceTypes": "

The template resource types that you have permissions to work with if you execute this change set, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

If the list of resource types doesn't include a resource type that you're updating, the stack update fails. By default, CloudFormation grants permissions to all resource types. Identity and Access Management (IAM) uses this parameter for condition keys in IAM policies for CloudFormation. For more information, see Controlling access with Identity and Access Management in the CloudFormation User Guide.

Only one of the Capabilities and ResourceType parameters can be specified.

", "CreateStackInput$ResourceTypes": "

The template resource types that you have permissions to work with for this create stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance. Use the following syntax to describe template resource types: AWS::* (for all Amazon Web Services resources), Custom::* (for all custom resources), Custom::logical_ID (for a specific custom resource), AWS::service_name::* (for all resources of a particular Amazon Web Services service), and AWS::service_name::resource_logical_ID (for a specific Amazon Web Services resource).

If the list of resource types doesn't include a resource that you're creating, the stack creation fails. By default, CloudFormation grants permissions to all resource types. Identity and Access Management (IAM) uses this parameter for CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with Identity and Access Management.

Only one of the Capabilities and ResourceType parameters can be specified.

", "GetTemplateSummaryOutput$ResourceTypes": "

A list of all the template resource types that are defined in the template, such as AWS::EC2::Instance, AWS::Dynamo::Table, and Custom::MyCustomInstance.

", "UpdateStackInput$ResourceTypes": "

The template resource types that you have permissions to work with for this update stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

If the list of resource types doesn't include a resource that you're updating, the stack update fails. By default, CloudFormation grants permissions to all resource types. Identity and Access Management (IAM) uses this parameter for CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with Identity and Access Management.

Only one of the Capabilities and ResourceType parameters can be specified.

", @@ -2542,8 +2550,8 @@ "base": null, "refs": { "CreateStackInput$StackPolicyBody": "

Structure containing the stack policy body. For more information, go to Prevent Updates to Stack Resources in the CloudFormation User Guide. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

", - "GetStackPolicyOutput$StackPolicyBody": "

Structure containing the stack policy body. (For more information, go to Prevent Updates to Stack Resources in the CloudFormation User Guide.)

", - "SetStackPolicyInput$StackPolicyBody": "

Structure containing the stack policy body. For more information, go to Prevent updates to stack resources in the CloudFormation User Guide. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

", + "GetStackPolicyOutput$StackPolicyBody": "

Structure containing the stack policy body. (For more information, go to Prevent Updates to Stack Resources in the CloudFormation User Guide.)

", + "SetStackPolicyInput$StackPolicyBody": "

Structure containing the stack policy body. For more information, go to Prevent updates to stack resources in the CloudFormation User Guide. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

", "UpdateStackInput$StackPolicyBody": "

Structure containing a new stack policy body. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

You might update the stack policy, for example, in order to protect a new resource that you created during a stack update. If you don't specify a stack policy, the current policy that is associated with the stack is unchanged.

" } }, @@ -2931,15 +2939,15 @@ "base": null, "refs": { "CreateChangeSetInput$TemplateBody": "

A structure that contains the body of the revised template, with a minimum length of 1 byte and a maximum length of 51,200 bytes. CloudFormation generates the change set by comparing this template with the template of the stack that you specified.

Conditional: You must specify only TemplateBody or TemplateURL.

", - "CreateStackInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template anatomy in the CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

", + "CreateStackInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template anatomy in the CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

", "CreateStackSetInput$TemplateBody": "

The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see Template Anatomy in the CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

", - "EstimateTemplateCostInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the CloudFormation User Guide.)

Conditional: You must pass TemplateBody or TemplateURL. If both are passed, only TemplateBody is used.

", - "GetTemplateOutput$TemplateBody": "

Structure containing the template body. (For more information, go to Template Anatomy in the CloudFormation User Guide.)

CloudFormation returns the same template that was used when the stack was created.

", - "GetTemplateSummaryInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see Template anatomy in the CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

", + "EstimateTemplateCostInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the CloudFormation User Guide.)

Conditional: You must pass TemplateBody or TemplateURL. If both are passed, only TemplateBody is used.

", + "GetTemplateOutput$TemplateBody": "

Structure containing the template body. (For more information, go to Template Anatomy in the CloudFormation User Guide.)

CloudFormation returns the same template that was used when the stack was created.

", + "GetTemplateSummaryInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see Template anatomy in the CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

", "StackSet$TemplateBody": "

The structure that contains the body of the template that was used to create or update the stack set.

", - "UpdateStackInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the CloudFormation User Guide.)

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

", + "UpdateStackInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the CloudFormation User Guide.)

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

", "UpdateStackSetInput$TemplateBody": "

The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see Template Anatomy in the CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true.

", - "ValidateTemplateInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" + "ValidateTemplateInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" } }, "TemplateDescription": { @@ -2977,13 +2985,13 @@ "base": null, "refs": { "CreateChangeSetInput$TemplateURL": "

The location of the file that contains the revised template. The URL must point to a template (max size: 460,800 bytes) that's located in an Amazon S3 bucket or a Systems Manager document. CloudFormation generates the change set by comparing this template with the stack that you specified.

Conditional: You must specify only TemplateBody or TemplateURL.

", - "CreateStackInput$TemplateURL": "

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that's located in an Amazon S3 bucket or a Systems Manager document. For more information, go to the Template anatomy in the CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

", + "CreateStackInput$TemplateURL": "

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that's located in an Amazon S3 bucket or a Systems Manager document. For more information, go to the Template anatomy in the CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

", "CreateStackSetInput$TemplateURL": "

The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that's located in an Amazon S3 bucket or a Systems Manager document. For more information, see Template Anatomy in the CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

", - "EstimateTemplateCostInput$TemplateURL": "

Location of file containing the template body. The URL must point to a template that's located in an Amazon S3 bucket or a Systems Manager document. For more information, go to Template Anatomy in the CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

", - "GetTemplateSummaryInput$TemplateURL": "

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that's located in an Amazon S3 bucket or a Systems Manager document. For more information about templates, see Template anatomy in the CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

", - "UpdateStackInput$TemplateURL": "

Location of file containing the template body. The URL must point to a template that's located in an Amazon S3 bucket or a Systems Manager document. For more information, go to Template Anatomy in the CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

", + "EstimateTemplateCostInput$TemplateURL": "

Location of file containing the template body. The URL must point to a template that's located in an Amazon S3 bucket or a Systems Manager document. For more information, go to Template Anatomy in the CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

", + "GetTemplateSummaryInput$TemplateURL": "

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that's located in an Amazon S3 bucket or a Systems Manager document. For more information about templates, see Template anatomy in the CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

", + "UpdateStackInput$TemplateURL": "

Location of file containing the template body. The URL must point to a template that's located in an Amazon S3 bucket or a Systems Manager document. For more information, go to Template Anatomy in the CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

", "UpdateStackSetInput$TemplateURL": "

The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that is located in an Amazon S3 bucket or a Systems Manager document. For more information, see Template Anatomy in the CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true.

", - "ValidateTemplateInput$TemplateURL": "

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket or a Systems Manager document. For more information, go to Template Anatomy in the CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" + "ValidateTemplateInput$TemplateURL": "

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket or a Systems Manager document. For more information, go to Template Anatomy in the CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" } }, "TestTypeInput": { diff --git a/models/apis/cloudformation/2010-05-15/endpoint-tests-1.json b/models/apis/cloudformation/2010-05-15/endpoint-tests-1.json index 0ef14592b91..b20e6d8f1e7 100644 --- a/models/apis/cloudformation/2010-05-15/endpoint-tests-1.json +++ b/models/apis/cloudformation/2010-05-15/endpoint-tests-1.json @@ -672,17 +672,6 @@ "expect": { "error": "Invalid Configuration: Missing Region" } - }, - { - "documentation": "Partition doesn't support DualStack", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": false, - "UseDualStack": true - } } ], "version": "1.0" diff --git a/models/apis/codepipeline/2015-07-09/api-2.json b/models/apis/codepipeline/2015-07-09/api-2.json index 34c985edaf4..f91eaa9c02f 100644 --- a/models/apis/codepipeline/2015-07-09/api-2.json +++ b/models/apis/codepipeline/2015-07-09/api-2.json @@ -2529,6 +2529,33 @@ "type":"list", "member":{"shape":"SourceRevision"} }, + "SourceRevisionOverride":{ + "type":"structure", + "required":[ + "actionName", + "revisionType", + "revisionValue" + ], + "members":{ + "actionName":{"shape":"ActionName"}, + "revisionType":{"shape":"SourceRevisionType"}, + "revisionValue":{"shape":"Revision"} + } + }, + "SourceRevisionOverrideList":{ + "type":"list", + "member":{"shape":"SourceRevisionOverride"}, + "max":50, + "min":0 + }, + "SourceRevisionType":{ + "type":"string", + "enum":[ + "COMMIT_ID", + "IMAGE_DIGEST", + "S3_OBJECT_VERSION_ID" + ] + }, "StageActionDeclarationList":{ "type":"list", "member":{"shape":"ActionDeclaration"} @@ -2632,7 +2659,8 @@ "clientRequestToken":{ "shape":"ClientRequestToken", "idempotencyToken":true - } + }, + "sourceRevisions":{"shape":"SourceRevisionOverrideList"} } }, "StartPipelineExecutionOutput":{ diff --git a/models/apis/codepipeline/2015-07-09/docs-2.json b/models/apis/codepipeline/2015-07-09/docs-2.json index b09f0fd06eb..b347c54b1df 100644 --- a/models/apis/codepipeline/2015-07-09/docs-2.json +++ b/models/apis/codepipeline/2015-07-09/docs-2.json @@ -244,6 +244,7 @@ "PutActionRevisionInput$actionName": "

The name of the action that processes the revision.

", "PutApprovalResultInput$actionName": "

The name of the action for which approval is requested.

", "SourceRevision$actionName": "

The name of the action that processed the revision to the source artifact.

", + "SourceRevisionOverride$actionName": "

The name of the action where the override will be applied.

", "WebhookDefinition$targetAction": "

The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline.

" } }, @@ -866,7 +867,7 @@ } }, "GitConfiguration": { - "base": "

A type of trigger configuration for Git-based source actions.

You can specify the Git configuration trigger type for all third-party Git-based source actions that are supported by the CodeStarSourceConnection action type.

", + "base": "

A type of trigger configuration for Git-based source actions.

You can specify the Git configuration trigger type for all third-party Git-based source actions that are supported by the CodeStarSourceConnection action type.

V2 type pipelines, along with triggers on Git tags and pipeline-level variables, are not currently supported for CloudFormation and CDK resources in CodePipeline. For more information about V2 type pipelines, see Pipeline types in the CodePipeline User Guide.

", "refs": { "PipelineTriggerDeclaration$gitConfiguration": "

Provides the filter criteria and the source stage for the repository event that starts the pipeline, such as Git tags.

" } @@ -1437,7 +1438,7 @@ } }, "PipelineTriggerDeclaration": { - "base": "

Represents information about the specified trigger configuration, such as the filter criteria and the source stage for the action that contains the trigger.

This is only supported for the CodeStarSourceConnection action type.

When a trigger configuration is specified, default change detection for repository and branch commits is disabled.

", + "base": "

Represents information about the specified trigger configuration, such as the filter criteria and the source stage for the action that contains the trigger.

This is only supported for the CodeStarSourceConnection action type.

When a trigger configuration is specified, default change detection for repository and branch commits is disabled.

V2 type pipelines, along with triggers on Git tags and pipeline-level variables, are not currently supported for CloudFormation and CDK resources in CodePipeline. For more information about V2 type pipelines, see Pipeline types in the CodePipeline User Guide.

", "refs": { "PipelineTriggerDeclarationList$member": null } @@ -1457,18 +1458,18 @@ "PipelineType": { "base": null, "refs": { - "PipelineDeclaration$pipelineType": "

CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.

Including V2 parameters, such as triggers on Git tags, in the pipeline JSON when creating or updating a pipeline will result in the pipeline having the V2 type of pipeline and the associated costs.

For information about pricing for CodePipeline, see Pricing.

For information about which type of pipeline to choose, see What type of pipeline is right for me?.

", - "PipelineSummary$pipelineType": "

CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.

Including V2 parameters, such as triggers on Git tags, in the pipeline JSON when creating or updating a pipeline will result in the pipeline having the V2 type of pipeline and the associated costs.

For information about pricing for CodePipeline, see Pricing.

For information about which type of pipeline to choose, see What type of pipeline is right for me?.

" + "PipelineDeclaration$pipelineType": "

CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.

Including V2 parameters, such as triggers on Git tags, in the pipeline JSON when creating or updating a pipeline will result in the pipeline having the V2 type of pipeline and the associated costs.

For information about pricing for CodePipeline, see Pricing.

For information about which type of pipeline to choose, see What type of pipeline is right for me?.

V2 type pipelines, along with triggers on Git tags and pipeline-level variables, are not currently supported for CloudFormation and CDK resources in CodePipeline. For more information about V2 type pipelines, see Pipeline types in the CodePipeline User Guide.

", + "PipelineSummary$pipelineType": "

CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.

Including V2 parameters, such as triggers on Git tags, in the pipeline JSON when creating or updating a pipeline will result in the pipeline having the V2 type of pipeline and the associated costs.

For information about pricing for CodePipeline, see Pricing.

For information about which type of pipeline to choose, see What type of pipeline is right for me?.

V2 type pipelines, along with triggers on Git tags and pipeline-level variables, are not currently supported for CloudFormation and CDK resources in CodePipeline. For more information about V2 type pipelines, see Pipeline types in the CodePipeline User Guide.

" } }, "PipelineVariable": { - "base": "

A pipeline-level variable used for a pipeline execution.

", + "base": "

A pipeline-level variable used for a pipeline execution.

V2 type pipelines, along with triggers on Git tags and pipeline-level variables, are not currently supported for CloudFormation and CDK resources in CodePipeline. For more information about V2 type pipelines, see Pipeline types in the CodePipeline User Guide.

", "refs": { "PipelineVariableList$member": null } }, "PipelineVariableDeclaration": { - "base": "

A variable declared at the pipeline level.

", + "base": "

A variable declared at the pipeline level.

V2 type pipelines, along with triggers on Git tags and pipeline-level variables, are not currently supported for CloudFormation and CDK resources in CodePipeline. For more information about V2 type pipelines, see Pipeline types in the CodePipeline User Guide.

", "refs": { "PipelineVariableDeclarationList$member": null } @@ -1684,7 +1685,8 @@ "Artifact$revision": "

The artifact's revision ID. Depending on the type of object, this could be a commit ID (GitHub) or a revision ID (Amazon S3).

", "ArtifactRevision$revisionId": "

The revision ID of the artifact.

", "CurrentRevision$revision": "

The revision ID of the current version of an artifact.

", - "SourceRevision$revisionId": "

The system-generated unique ID that identifies the revision number of the artifact.

" + "SourceRevision$revisionId": "

The system-generated unique ID that identifies the revision number of the artifact.

", + "SourceRevisionOverride$revisionValue": "

The source revision, or version of your source artifact, with the changes that you want to run in the pipeline execution.

" } }, "RevisionChangeIdentifier": { @@ -1777,6 +1779,24 @@ "PipelineExecutionSummary$sourceRevisions": "

A list of the source artifact revisions that initiated a pipeline execution.

" } }, + "SourceRevisionOverride": { + "base": "

A list that allows you to specify, or override, the source revision for a pipeline execution that's being started. A source revision is the version with all the changes to your application code, or source artifact, for the pipeline execution.

", + "refs": { + "SourceRevisionOverrideList$member": null + } + }, + "SourceRevisionOverrideList": { + "base": null, + "refs": { + "StartPipelineExecutionInput$sourceRevisions": "

A list that allows you to specify, or override, the source revision for a pipeline execution that's being started. A source revision is the version with all the changes to your application code, or source artifact, for the pipeline execution.

" + } + }, + "SourceRevisionType": { + "base": null, + "refs": { + "SourceRevisionOverride$revisionType": "

The type of source revision, based on the source provider. For example, the revision type for the CodeCommit action provider is the commit ID.

" + } + }, "StageActionDeclarationList": { "base": null, "refs": { diff --git a/models/apis/codestar-connections/2019-12-01/api-2.json b/models/apis/codestar-connections/2019-12-01/api-2.json index 4e25fd1a5f9..bfa5d449b5d 100644 --- a/models/apis/codestar-connections/2019-12-01/api-2.json +++ b/models/apis/codestar-connections/2019-12-01/api-2.json @@ -39,6 +39,42 @@ {"shape":"LimitExceededException"} ] }, + "CreateRepositoryLink":{ + "name":"CreateRepositoryLink", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRepositoryLinkInput"}, + "output":{"shape":"CreateRepositoryLinkOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"} + ] + }, + "CreateSyncConfiguration":{ + "name":"CreateSyncConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSyncConfigurationInput"}, + "output":{"shape":"CreateSyncConfigurationOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"} + ] + }, "DeleteConnection":{ "name":"DeleteConnection", "http":{ @@ -64,6 +100,42 @@ {"shape":"ResourceUnavailableException"} ] }, + "DeleteRepositoryLink":{ + "name":"DeleteRepositoryLink", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRepositoryLinkInput"}, + "output":{"shape":"DeleteRepositoryLinkOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"SyncConfigurationStillExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnsupportedProviderTypeException"} + ] + }, + "DeleteSyncConfiguration":{ + "name":"DeleteSyncConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSyncConfigurationInput"}, + "output":{"shape":"DeleteSyncConfigurationOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"} + ] + }, "GetConnection":{ "name":"GetConnection", "http":{ @@ -90,6 +162,87 @@ {"shape":"ResourceUnavailableException"} ] }, + "GetRepositoryLink":{ + "name":"GetRepositoryLink", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRepositoryLinkInput"}, + "output":{"shape":"GetRepositoryLinkOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetRepositorySyncStatus":{ + "name":"GetRepositorySyncStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRepositorySyncStatusInput"}, + "output":{"shape":"GetRepositorySyncStatusOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetResourceSyncStatus":{ + "name":"GetResourceSyncStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetResourceSyncStatusInput"}, + "output":{"shape":"GetResourceSyncStatusOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetSyncBlockerSummary":{ + "name":"GetSyncBlockerSummary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSyncBlockerSummaryInput"}, + "output":{"shape":"GetSyncBlockerSummaryOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetSyncConfiguration":{ + "name":"GetSyncConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSyncConfigurationInput"}, + "output":{"shape":"GetSyncConfigurationOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, "ListConnections":{ "name":"ListConnections", "http":{ @@ -111,6 +264,55 @@ "input":{"shape":"ListHostsInput"}, "output":{"shape":"ListHostsOutput"} }, + "ListRepositoryLinks":{ + "name":"ListRepositoryLinks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRepositoryLinksInput"}, + "output":{"shape":"ListRepositoryLinksOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListRepositorySyncDefinitions":{ + "name":"ListRepositorySyncDefinitions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRepositorySyncDefinitionsInput"}, + "output":{"shape":"ListRepositorySyncDefinitionsOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListSyncConfigurations":{ + "name":"ListSyncConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSyncConfigurationsInput"}, + "output":{"shape":"ListSyncConfigurationsOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ @@ -162,9 +364,70 @@ {"shape":"ResourceUnavailableException"}, {"shape":"UnsupportedOperationException"} ] + }, + "UpdateRepositoryLink":{ + "name":"UpdateRepositoryLink", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRepositoryLinkInput"}, + "output":{"shape":"UpdateRepositoryLinkOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConditionalCheckFailedException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UpdateOutOfSyncException"} + ] + }, + "UpdateSyncBlocker":{ + "name":"UpdateSyncBlocker", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSyncBlockerInput"}, + "output":{"shape":"UpdateSyncBlockerOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"RetryLatestCommitFailedException"}, + {"shape":"SyncBlockerDoesNotExistException"}, + {"shape":"ThrottlingException"} + ] + }, + "UpdateSyncConfiguration":{ + "name":"UpdateSyncConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSyncConfigurationInput"}, + "output":{"shape":"UpdateSyncConfigurationOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UpdateOutOfSyncException"} + ] } }, "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "AccountId":{ "type":"string", "max":12, @@ -177,6 +440,37 @@ "min":1, "pattern":"arn:aws(-[\\w]+)*:.+:.+:[0-9]{12}:.+" }, + "BlockerStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "RESOLVED" + ] + }, + "BlockerType":{ + "type":"string", + "enum":["AUTOMATED"] + }, + "BranchName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^.*$" + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "ConditionalCheckFailedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "ConflictException":{ "type":"structure", "members":{ @@ -259,6 +553,55 @@ "Tags":{"shape":"TagList"} } }, + "CreateRepositoryLinkInput":{ + "type":"structure", + "required":[ + "ConnectionArn", + "OwnerId", + "RepositoryName" + ], + "members":{ + "ConnectionArn":{"shape":"ConnectionArn"}, + "OwnerId":{"shape":"OwnerId"}, + "RepositoryName":{"shape":"RepositoryName"}, + "EncryptionKeyArn":{"shape":"KmsKeyArn"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateRepositoryLinkOutput":{ + "type":"structure", + "required":["RepositoryLinkInfo"], + "members":{ + "RepositoryLinkInfo":{"shape":"RepositoryLinkInfo"} + } + }, + "CreateSyncConfigurationInput":{ + "type":"structure", + "required":[ + "Branch", + "ConfigFile", + "RepositoryLinkId", + "ResourceName", + "RoleArn", + "SyncType" + ], + "members":{ + "Branch":{"shape":"BranchName"}, + "ConfigFile":{"shape":"DeploymentFilePath"}, + "RepositoryLinkId":{"shape":"RepositoryLinkId"}, + "ResourceName":{"shape":"ResourceName"}, + "RoleArn":{"shape":"IamRoleArn"}, + "SyncType":{"shape":"SyncConfigurationType"} + } + }, + "CreateSyncConfigurationOutput":{ + "type":"structure", + "required":["SyncConfiguration"], + "members":{ + "SyncConfiguration":{"shape":"SyncConfiguration"} + } + }, + "CreatedReason":{"type":"string"}, "DeleteConnectionInput":{ "type":"structure", "required":["ConnectionArn"], @@ -283,10 +626,42 @@ "members":{ } }, + "DeleteRepositoryLinkInput":{ + "type":"structure", + "required":["RepositoryLinkId"], + "members":{ + "RepositoryLinkId":{"shape":"RepositoryLinkId"} + } + }, + "DeleteRepositoryLinkOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteSyncConfigurationInput":{ + "type":"structure", + "required":[ + "SyncType", + "ResourceName" + ], + "members":{ + "SyncType":{"shape":"SyncConfigurationType"}, + "ResourceName":{"shape":"ResourceName"} + } + }, + "DeleteSyncConfigurationOutput":{ + "type":"structure", + "members":{ + } + }, + "DeploymentFilePath":{"type":"string"}, + "Directory":{"type":"string"}, "ErrorMessage":{ "type":"string", "max":600 }, + "Event":{"type":"string"}, + "ExternalId":{"type":"string"}, "GetConnectionInput":{ "type":"structure", "required":["ConnectionArn"], @@ -317,6 +692,96 @@ "VpcConfiguration":{"shape":"VpcConfiguration"} } }, + "GetRepositoryLinkInput":{ + "type":"structure", + "required":["RepositoryLinkId"], + "members":{ + "RepositoryLinkId":{"shape":"RepositoryLinkId"} + } + }, + "GetRepositoryLinkOutput":{ + "type":"structure", + "required":["RepositoryLinkInfo"], + "members":{ + "RepositoryLinkInfo":{"shape":"RepositoryLinkInfo"} + } + }, + "GetRepositorySyncStatusInput":{ + "type":"structure", + "required":[ + "Branch", + "RepositoryLinkId", + "SyncType" + ], + "members":{ + "Branch":{"shape":"BranchName"}, + "RepositoryLinkId":{"shape":"RepositoryLinkId"}, + "SyncType":{"shape":"SyncConfigurationType"} + } + }, + "GetRepositorySyncStatusOutput":{ + "type":"structure", + "required":["LatestSync"], + "members":{ + "LatestSync":{"shape":"RepositorySyncAttempt"} + } + }, + "GetResourceSyncStatusInput":{ + "type":"structure", + "required":[ + "ResourceName", + "SyncType" + ], + "members":{ + "ResourceName":{"shape":"ResourceName"}, + "SyncType":{"shape":"SyncConfigurationType"} + } + }, + "GetResourceSyncStatusOutput":{ + "type":"structure", + "required":["LatestSync"], + "members":{ + "DesiredState":{"shape":"Revision"}, + "LatestSuccessfulSync":{"shape":"ResourceSyncAttempt"}, + "LatestSync":{"shape":"ResourceSyncAttempt"} + } + }, + "GetSyncBlockerSummaryInput":{ + "type":"structure", + "required":[ + "SyncType", + "ResourceName" + ], + "members":{ + "SyncType":{"shape":"SyncConfigurationType"}, + "ResourceName":{"shape":"ResourceName"} + } + }, + "GetSyncBlockerSummaryOutput":{ + "type":"structure", + "required":["SyncBlockerSummary"], + "members":{ + "SyncBlockerSummary":{"shape":"SyncBlockerSummary"} + } + }, + "GetSyncConfigurationInput":{ + "type":"structure", + "required":[ + "SyncType", + "ResourceName" + ], + "members":{ + "SyncType":{"shape":"SyncConfigurationType"}, + "ResourceName":{"shape":"ResourceName"} + } + }, + "GetSyncConfigurationOutput":{ + "type":"structure", + "required":["SyncConfiguration"], + "members":{ + "SyncConfiguration":{"shape":"SyncConfiguration"} + } + }, "Host":{ "type":"structure", "members":{ @@ -352,6 +817,41 @@ "pattern":".*" }, "HostStatusMessage":{"type":"string"}, + "IamRoleArn":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"arn:aws(-[\\w]+)*:iam::\\d{12}:role/[a-zA-Z_0-9+=,.@\\-_/]+" + }, + "Id":{ + "type":"string", + "max":50, + "min":1 + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "KmsKeyArn":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"arn:aws(-[\\w]+)*:kms:[a-z\\-0-9]+:\\d{12}:key/[a-zA-Z0-9\\-]+" + }, + "LatestSyncBlockerList":{ + "type":"list", + "member":{"shape":"SyncBlocker"} + }, "LimitExceededException":{ "type":"structure", "members":{ @@ -389,6 +889,61 @@ "NextToken":{"shape":"NextToken"} } }, + "ListRepositoryLinksInput":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"SharpNextToken"} + } + }, + "ListRepositoryLinksOutput":{ + "type":"structure", + "required":["RepositoryLinks"], + "members":{ + "RepositoryLinks":{"shape":"RepositoryLinkList"}, + "NextToken":{"shape":"SharpNextToken"} + } + }, + "ListRepositorySyncDefinitionsInput":{ + "type":"structure", + "required":[ + "RepositoryLinkId", + "SyncType" + ], + "members":{ + "RepositoryLinkId":{"shape":"RepositoryLinkId"}, + "SyncType":{"shape":"SyncConfigurationType"} + } + }, + "ListRepositorySyncDefinitionsOutput":{ + "type":"structure", + "required":["RepositorySyncDefinitions"], + "members":{ + "RepositorySyncDefinitions":{"shape":"RepositorySyncDefinitionList"}, + "NextToken":{"shape":"SharpNextToken"} + } + }, + "ListSyncConfigurationsInput":{ + "type":"structure", + "required":[ + "RepositoryLinkId", + "SyncType" + ], + "members":{ + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"SharpNextToken"}, + "RepositoryLinkId":{"shape":"RepositoryLinkId"}, + "SyncType":{"shape":"SyncConfigurationType"} + } + }, + "ListSyncConfigurationsOutput":{ + "type":"structure", + "required":["SyncConfigurations"], + "members":{ + "SyncConfigurations":{"shape":"SyncConfigurationList"}, + "NextToken":{"shape":"SharpNextToken"} + } + }, "ListTagsForResourceInput":{ "type":"structure", "required":["ResourceArn"], @@ -411,8 +966,15 @@ "type":"string", "max":1024, "min":1, - "pattern":".*" + "pattern":"^.*$" + }, + "OwnerId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^.*$" }, + "Parent":{"type":"string"}, "ProviderType":{ "type":"string", "enum":[ @@ -422,6 +984,122 @@ "GitLab" ] }, + "RepositoryLinkArn":{ + "type":"string", + "pattern":"^arn:aws(?:-[a-z]+)*:codestar-connections:[a-z\\-0-9]+:\\d{12}:repository-link\\/[a-zA-Z0-9\\-:/]+" + }, + "RepositoryLinkId":{ + "type":"string", + "pattern":"^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$" + }, + "RepositoryLinkInfo":{ + "type":"structure", + "required":[ + "ConnectionArn", + "OwnerId", + "ProviderType", + "RepositoryLinkArn", + "RepositoryLinkId", + "RepositoryName" + ], + "members":{ + "ConnectionArn":{"shape":"ConnectionArn"}, + "EncryptionKeyArn":{"shape":"KmsKeyArn"}, + "OwnerId":{"shape":"OwnerId"}, + "ProviderType":{"shape":"ProviderType"}, + "RepositoryLinkArn":{"shape":"RepositoryLinkArn"}, + "RepositoryLinkId":{"shape":"RepositoryLinkId"}, + "RepositoryName":{"shape":"RepositoryName"} + } + }, + "RepositoryLinkList":{ + "type":"list", + "member":{"shape":"RepositoryLinkInfo"} + }, + "RepositoryName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^.*$" + }, + "RepositorySyncAttempt":{ + "type":"structure", + "required":[ + "StartedAt", + "Status", + "Events" + ], + "members":{ + "StartedAt":{"shape":"Timestamp"}, + "Status":{"shape":"RepositorySyncStatus"}, + "Events":{"shape":"RepositorySyncEventList"} + } + }, + "RepositorySyncDefinition":{ + "type":"structure", + "required":[ + "Branch", + "Directory", + "Parent", + "Target" + ], + "members":{ + "Branch":{"shape":"BranchName"}, + "Directory":{"shape":"Directory"}, + "Parent":{"shape":"Parent"}, + "Target":{"shape":"Target"} + } + }, + "RepositorySyncDefinitionList":{ + "type":"list", + "member":{"shape":"RepositorySyncDefinition"} + }, + "RepositorySyncEvent":{ + "type":"structure", + "required":[ + "Event", + "Time", + "Type" + ], + "members":{ + "Event":{"shape":"Event"}, + "ExternalId":{"shape":"ExternalId"}, + "Time":{"shape":"Timestamp"}, + "Type":{"shape":"Type"} + } + }, + "RepositorySyncEventList":{ + "type":"list", + "member":{"shape":"RepositorySyncEvent"} + }, + "RepositorySyncStatus":{ + "type":"string", + "enum":[ + "FAILED", + "INITIATED", + "IN_PROGRESS", + "SUCCEEDED", + "QUEUED" + ] + }, + "ResolvedReason":{ + "type":"string", + "max":250, + "min":1 + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "ResourceName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[0-9A-Za-z]+[0-9A-Za-z_\\\\-]*$" + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -429,6 +1107,52 @@ }, "exception":true }, + "ResourceSyncAttempt":{ + "type":"structure", + "required":[ + "Events", + "InitialRevision", + "StartedAt", + "Status", + "TargetRevision", + "Target" + ], + "members":{ + "Events":{"shape":"ResourceSyncEventList"}, + "InitialRevision":{"shape":"Revision"}, + "StartedAt":{"shape":"Timestamp"}, + "Status":{"shape":"ResourceSyncStatus"}, + "TargetRevision":{"shape":"Revision"}, + "Target":{"shape":"Target"} + } + }, + "ResourceSyncEvent":{ + "type":"structure", + "required":[ + "Event", + "Time", + "Type" + ], + "members":{ + "Event":{"shape":"Event"}, + "ExternalId":{"shape":"ExternalId"}, + "Time":{"shape":"Timestamp"}, + "Type":{"shape":"Type"} + } + }, + "ResourceSyncEventList":{ + "type":"list", + "member":{"shape":"ResourceSyncEvent"} + }, + "ResourceSyncStatus":{ + "type":"string", + "enum":[ + "FAILED", + "INITIATED", + "IN_PROGRESS", + "SUCCEEDED" + ] + }, "ResourceUnavailableException":{ "type":"structure", "members":{ @@ -436,6 +1160,37 @@ }, "exception":true }, + "RetryLatestCommitFailedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "Revision":{ + "type":"structure", + "required":[ + "Branch", + "Directory", + "OwnerId", + "RepositoryName", + "ProviderType", + "Sha" + ], + "members":{ + "Branch":{"shape":"BranchName"}, + "Directory":{"shape":"Directory"}, + "OwnerId":{"shape":"OwnerId"}, + "RepositoryName":{"shape":"RepositoryName"}, + "ProviderType":{"shape":"ProviderType"}, + "Sha":{"shape":"SHA"} + } + }, + "SHA":{ + "type":"string", + "max":255, + "min":1 + }, "SecurityGroupId":{ "type":"string", "max":20, @@ -448,6 +1203,12 @@ "max":10, "min":1 }, + "SharpNextToken":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^.*$" + }, "SubnetId":{ "type":"string", "max":24, @@ -460,6 +1221,98 @@ "max":10, "min":1 }, + "SyncBlocker":{ + "type":"structure", + "required":[ + "Id", + "Type", + "Status", + "CreatedReason", + "CreatedAt" + ], + "members":{ + "Id":{"shape":"Id"}, + "Type":{"shape":"BlockerType"}, + "Status":{"shape":"BlockerStatus"}, + "CreatedReason":{"shape":"CreatedReason"}, + "CreatedAt":{"shape":"Timestamp"}, + "Contexts":{"shape":"SyncBlockerContextList"}, + "ResolvedReason":{"shape":"ResolvedReason"}, + "ResolvedAt":{"shape":"Timestamp"} + } + }, + "SyncBlockerContext":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{"shape":"SyncBlockerContextKey"}, + "Value":{"shape":"SyncBlockerContextValue"} + } + }, + "SyncBlockerContextKey":{"type":"string"}, + "SyncBlockerContextList":{ + "type":"list", + "member":{"shape":"SyncBlockerContext"} + }, + "SyncBlockerContextValue":{"type":"string"}, + "SyncBlockerDoesNotExistException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "SyncBlockerSummary":{ + "type":"structure", + "required":["ResourceName"], + "members":{ + "ResourceName":{"shape":"ResourceName"}, + "ParentResourceName":{"shape":"ResourceName"}, + "LatestBlockers":{"shape":"LatestSyncBlockerList"} + } + }, + "SyncConfiguration":{ + "type":"structure", + "required":[ + "Branch", + "OwnerId", + "ProviderType", + "RepositoryLinkId", + "RepositoryName", + "ResourceName", + "RoleArn", + "SyncType" + ], + "members":{ + "Branch":{"shape":"BranchName"}, + "ConfigFile":{"shape":"DeploymentFilePath"}, + "OwnerId":{"shape":"OwnerId"}, + "ProviderType":{"shape":"ProviderType"}, + "RepositoryLinkId":{"shape":"RepositoryLinkId"}, + "RepositoryName":{"shape":"RepositoryName"}, + "ResourceName":{"shape":"ResourceName"}, + "RoleArn":{"shape":"IamRoleArn"}, + "SyncType":{"shape":"SyncConfigurationType"} + } + }, + "SyncConfigurationList":{ + "type":"list", + "member":{"shape":"SyncConfiguration"} + }, + "SyncConfigurationStillExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "SyncConfigurationType":{ + "type":"string", + "enum":["CFN_STACK_SYNC"] + }, "Tag":{ "type":"structure", "required":[ @@ -511,12 +1364,22 @@ "min":0, "pattern":".*" }, + "Target":{"type":"string"}, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "Timestamp":{"type":"timestamp"}, "TlsCertificate":{ "type":"string", "max":16384, "min":1, "pattern":"[\\s\\S]*" }, + "Type":{"type":"string"}, "UnsupportedOperationException":{ "type":"structure", "members":{ @@ -524,6 +1387,13 @@ }, "exception":true }, + "UnsupportedProviderTypeException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "UntagResourceInput":{ "type":"structure", "required":[ @@ -554,6 +1424,78 @@ "members":{ } }, + "UpdateOutOfSyncException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "UpdateRepositoryLinkInput":{ + "type":"structure", + "required":["RepositoryLinkId"], + "members":{ + "ConnectionArn":{"shape":"ConnectionArn"}, + "EncryptionKeyArn":{"shape":"KmsKeyArn"}, + "RepositoryLinkId":{"shape":"RepositoryLinkId"} + } + }, + "UpdateRepositoryLinkOutput":{ + "type":"structure", + "required":["RepositoryLinkInfo"], + "members":{ + "RepositoryLinkInfo":{"shape":"RepositoryLinkInfo"} + } + }, + "UpdateSyncBlockerInput":{ + "type":"structure", + "required":[ + "Id", + "SyncType", + "ResourceName", + "ResolvedReason" + ], + "members":{ + "Id":{"shape":"Id"}, + "SyncType":{"shape":"SyncConfigurationType"}, + "ResourceName":{"shape":"ResourceName"}, + "ResolvedReason":{"shape":"ResolvedReason"} + } + }, + "UpdateSyncBlockerOutput":{ + "type":"structure", + "required":[ + "ResourceName", + "SyncBlocker" + ], + "members":{ + "ResourceName":{"shape":"ResourceName"}, + "ParentResourceName":{"shape":"ResourceName"}, + "SyncBlocker":{"shape":"SyncBlocker"} + } + }, + "UpdateSyncConfigurationInput":{ + "type":"structure", + "required":[ + "ResourceName", + "SyncType" + ], + "members":{ + "Branch":{"shape":"BranchName"}, + "ConfigFile":{"shape":"DeploymentFilePath"}, + "RepositoryLinkId":{"shape":"RepositoryLinkId"}, + "ResourceName":{"shape":"ResourceName"}, + "RoleArn":{"shape":"IamRoleArn"}, + "SyncType":{"shape":"SyncConfigurationType"} + } + }, + "UpdateSyncConfigurationOutput":{ + "type":"structure", + "required":["SyncConfiguration"], + "members":{ + "SyncConfiguration":{"shape":"SyncConfiguration"} + } + }, "Url":{ "type":"string", "max":512, diff --git a/models/apis/codestar-connections/2019-12-01/docs-2.json b/models/apis/codestar-connections/2019-12-01/docs-2.json index 152d14b8a3d..c4298deb9b1 100644 --- a/models/apis/codestar-connections/2019-12-01/docs-2.json +++ b/models/apis/codestar-connections/2019-12-01/docs-2.json @@ -4,18 +4,38 @@ "operations": { "CreateConnection": "

Creates a connection that can then be given to other Amazon Web Services services like CodePipeline so that it can access third-party code repositories. The connection is in pending status until the third-party connection handshake is completed from the console.

", "CreateHost": "

Creates a resource that represents the infrastructure where a third-party provider is installed. The host is used when you create connections to an installed third-party provider type, such as GitHub Enterprise Server. You create one host for all connections to that provider.

A host created through the CLI or the SDK is in `PENDING` status by default. You can make its status `AVAILABLE` by setting up the host in the console.

", + "CreateRepositoryLink": "

Creates a link to a specified external Git repository. A repository link allows Git sync to monitor and sync changes to files in a specified Git repository.

", + "CreateSyncConfiguration": "

Creates a sync configuration which allows Amazon Web Services to sync content from a Git repository to update a specified Amazon Web Services resource. Parameters for the sync configuration are determined by the sync type.

", "DeleteConnection": "

The connection to be deleted.

", "DeleteHost": "

The host to be deleted. Before you delete a host, all connections associated to the host must be deleted.

A host cannot be deleted if it is in the VPC_CONFIG_INITIALIZING or VPC_CONFIG_DELETING state.

", + "DeleteRepositoryLink": "

Deletes the association between your connection and a specified external Git repository.

", + "DeleteSyncConfiguration": "

Deletes the sync configuration for a specified repository and connection.

", "GetConnection": "

Returns the connection ARN and details such as status, owner, and provider type.

", "GetHost": "

Returns the host ARN and details such as status, provider type, endpoint, and, if applicable, the VPC configuration.

", + "GetRepositoryLink": "

Returns details about a repository link. A repository link allows Git sync to monitor and sync changes from files in a specified Git repository.

", + "GetRepositorySyncStatus": "

Returns details about the sync status for a repository. A repository sync uses Git sync to push and pull changes from your remote repository.

", + "GetResourceSyncStatus": "

Returns the status of the sync with the Git repository for a specific Amazon Web Services resource.

", + "GetSyncBlockerSummary": "

Returns a list of the most recent sync blockers.

", + "GetSyncConfiguration": "

Returns details about a sync configuration, including the sync type and resource name. A sync configuration allows the configuration to sync (push and pull) changes from the remote repository for a specified branch in a Git repository.

", "ListConnections": "

Lists the connections associated with your account.

", "ListHosts": "

Lists the hosts associated with your account.

", + "ListRepositoryLinks": "

Lists the repository links created for connections in your account.

", + "ListRepositorySyncDefinitions": "

Lists the repository sync definitions for repository links in your account.

", + "ListSyncConfigurations": "

Returns a list of sync configurations for a specified repository.

", "ListTagsForResource": "

Gets the set of key-value pairs (metadata) that are used to manage the resource.

", "TagResource": "

Adds to or modifies the tags of the given resource. Tags are metadata that can be used to manage a resource.

", "UntagResource": "

Removes tags from an Amazon Web Services resource.

", - "UpdateHost": "

Updates a specified host with the provided configurations.

" + "UpdateHost": "

Updates a specified host with the provided configurations.

", + "UpdateRepositoryLink": "

Updates the association between your connection and a specified external Git repository. A repository link allows Git sync to monitor and sync changes to files in a specified Git repository.

", + "UpdateSyncBlocker": "

Allows you to update the status of a sync blocker, resolving the blocker and allowing syncing to continue.

", + "UpdateSyncConfiguration": "

Updates the sync configuration for your connection and a specified external Git repository.

" }, "shapes": { + "AccessDeniedException": { + "base": "

You do not have sufficient access to perform this action.

", + "refs": { + } + }, "AccountId": { "base": null, "refs": { @@ -30,6 +50,39 @@ "UntagResourceInput$ResourceArn": "

The Amazon Resource Name (ARN) of the resource to remove tags from.

" } }, + "BlockerStatus": { + "base": null, + "refs": { + "SyncBlocker$Status": "

The status for a specific sync blocker.

" + } + }, + "BlockerType": { + "base": null, + "refs": { + "SyncBlocker$Type": "

The sync blocker type.

" + } + }, + "BranchName": { + "base": null, + "refs": { + "CreateSyncConfigurationInput$Branch": "

The branch in the repository from which changes will be synced.

", + "GetRepositorySyncStatusInput$Branch": "

The branch of the repository link for the requested repository sync status.

", + "RepositorySyncDefinition$Branch": "

The branch specified for a repository sync definition.

", + "Revision$Branch": "

The branch name for a specific revision.

", + "SyncConfiguration$Branch": "

The branch associated with a specific sync configuration.

", + "UpdateSyncConfigurationInput$Branch": "

The branch for the sync configuration to be updated.

" + } + }, + "ConcurrentModificationException": { + "base": "

Exception thrown as a result of concurrent modification to an application. For example, two individuals attempting to edit the same application at the same time.

", + "refs": { + } + }, + "ConditionalCheckFailedException": { + "base": "

The conditional check failed. Try again later.

", + "refs": { + } + }, "ConflictException": { "base": "

Two conflicting operations have been made on the same resource.

", "refs": { @@ -47,8 +100,11 @@ "refs": { "Connection$ConnectionArn": "

The Amazon Resource Name (ARN) of the connection. The ARN is used as the connection reference when the connection is shared between Amazon Web Services.

The ARN is never reused if the connection is deleted.

", "CreateConnectionOutput$ConnectionArn": "

The Amazon Resource Name (ARN) of the connection to be created. The ARN is used as the connection reference when the connection is shared between Amazon Web Services services.

The ARN is never reused if the connection is deleted.

", + "CreateRepositoryLinkInput$ConnectionArn": "

The Amazon Resource Name (ARN) of the connection to be associated with the repository link.

", "DeleteConnectionInput$ConnectionArn": "

The Amazon Resource Name (ARN) of the connection to be deleted.

The ARN is never reused if the connection is deleted.

", - "GetConnectionInput$ConnectionArn": "

The Amazon Resource Name (ARN) of a connection.

" + "GetConnectionInput$ConnectionArn": "

The Amazon Resource Name (ARN) of a connection.

", + "RepositoryLinkInfo$ConnectionArn": "

The Amazon Resource Name (ARN) of the connection associated with the repository link.

", + "UpdateRepositoryLinkInput$ConnectionArn": "

The Amazon Resource Name (ARN) of the connection for the repository link to be updated. The updated connection ARN must have the same providerType (such as GitHub) as the original connection ARN for the repo link.

" } }, "ConnectionList": { @@ -90,6 +146,32 @@ "refs": { } }, + "CreateRepositoryLinkInput": { + "base": null, + "refs": { + } + }, + "CreateRepositoryLinkOutput": { + "base": null, + "refs": { + } + }, + "CreateSyncConfigurationInput": { + "base": null, + "refs": { + } + }, + "CreateSyncConfigurationOutput": { + "base": null, + "refs": { + } + }, + "CreatedReason": { + "base": null, + "refs": { + "SyncBlocker$CreatedReason": "

The provided reason for a specific sync blocker.

" + } + }, "DeleteConnectionInput": { "base": null, "refs": { @@ -110,14 +192,75 @@ "refs": { } }, + "DeleteRepositoryLinkInput": { + "base": null, + "refs": { + } + }, + "DeleteRepositoryLinkOutput": { + "base": null, + "refs": { + } + }, + "DeleteSyncConfigurationInput": { + "base": null, + "refs": { + } + }, + "DeleteSyncConfigurationOutput": { + "base": null, + "refs": { + } + }, + "DeploymentFilePath": { + "base": null, + "refs": { + "CreateSyncConfigurationInput$ConfigFile": "

The file name of the configuration file that manages syncing between the connection and the repository. This configuration file is stored in the repository.

", + "SyncConfiguration$ConfigFile": "

The file path to the configuration file associated with a specific sync configuration. The path should point to an actual file in the sync configurations linked repository.

", + "UpdateSyncConfigurationInput$ConfigFile": "

The configuration file for the sync configuration to be updated.

" + } + }, + "Directory": { + "base": null, + "refs": { + "RepositorySyncDefinition$Directory": "

The configuration file for a repository sync definition. This value comes from creating or updating the config-file field of a sync-configuration.

", + "Revision$Directory": "

The directory, if any, for a specific revision.

" + } + }, "ErrorMessage": { "base": null, "refs": { + "AccessDeniedException$Message": null, + "ConcurrentModificationException$Message": null, + "ConditionalCheckFailedException$Message": null, "ConflictException$Message": null, + "InternalServerException$Message": null, + "InvalidInputException$Message": null, "LimitExceededException$Message": null, + "ResourceAlreadyExistsException$Message": null, "ResourceNotFoundException$Message": null, "ResourceUnavailableException$Message": null, - "UnsupportedOperationException$Message": null + "RetryLatestCommitFailedException$Message": null, + "SyncBlockerDoesNotExistException$Message": null, + "SyncConfigurationStillExistsException$Message": null, + "ThrottlingException$Message": null, + "UnsupportedOperationException$Message": null, + "UnsupportedProviderTypeException$Message": null, + "UpdateOutOfSyncException$Message": null + } + }, + "Event": { + "base": null, + "refs": { + "RepositorySyncEvent$Event": "

A description of a repository sync event.

", + "ResourceSyncEvent$Event": "

The event for a resource sync event.

" + } + }, + "ExternalId": { + "base": null, + "refs": { + "RepositorySyncEvent$ExternalId": "

The ID for a repository sync event.

", + "ResourceSyncEvent$ExternalId": "

The ID for a resource sync event.

" } }, "GetConnectionInput": { @@ -140,6 +283,56 @@ "refs": { } }, + "GetRepositoryLinkInput": { + "base": null, + "refs": { + } + }, + "GetRepositoryLinkOutput": { + "base": null, + "refs": { + } + }, + "GetRepositorySyncStatusInput": { + "base": null, + "refs": { + } + }, + "GetRepositorySyncStatusOutput": { + "base": null, + "refs": { + } + }, + "GetResourceSyncStatusInput": { + "base": null, + "refs": { + } + }, + "GetResourceSyncStatusOutput": { + "base": null, + "refs": { + } + }, + "GetSyncBlockerSummaryInput": { + "base": null, + "refs": { + } + }, + "GetSyncBlockerSummaryOutput": { + "base": null, + "refs": { + } + }, + "GetSyncConfigurationInput": { + "base": null, + "refs": { + } + }, + "GetSyncConfigurationOutput": { + "base": null, + "refs": { + } + }, "Host": { "base": "

A resource that represents the infrastructure where a third-party provider is installed. The host is used when you create connections to an installed third-party provider type, such as GitHub Enterprise Server. You create one host for all connections to that provider.

A host created through the CLI or the SDK is in `PENDING` status by default. You can make its status `AVAILABLE` by setting up the host in the console.

", "refs": { @@ -186,6 +379,45 @@ "Host$StatusMessage": "

The status description for the host.

" } }, + "IamRoleArn": { + "base": null, + "refs": { + "CreateSyncConfigurationInput$RoleArn": "

The ARN of the IAM role that grants permission for Amazon Web Services to use Git sync to update a given Amazon Web Services resource on your behalf.

", + "SyncConfiguration$RoleArn": "

The Amazon Resource Name (ARN) of the IAM role associated with a specific sync configuration.

", + "UpdateSyncConfigurationInput$RoleArn": "

The ARN of the IAM role for the sync configuration to be updated.

" + } + }, + "Id": { + "base": null, + "refs": { + "SyncBlocker$Id": "

The ID for a specific sync blocker.

", + "UpdateSyncBlockerInput$Id": "

The ID of the sync blocker to be updated.

" + } + }, + "InternalServerException": { + "base": "

Received an internal server exception. Try again later.

", + "refs": { + } + }, + "InvalidInputException": { + "base": "

The input is not valid. Verify that the action is typed correctly.

", + "refs": { + } + }, + "KmsKeyArn": { + "base": null, + "refs": { + "CreateRepositoryLinkInput$EncryptionKeyArn": "

The Amazon Resource Name (ARN) encryption key for the repository to be associated with the repository link.

", + "RepositoryLinkInfo$EncryptionKeyArn": "

The Amazon Resource Name (ARN) of the encryption key for the repository associated with the repository link.

", + "UpdateRepositoryLinkInput$EncryptionKeyArn": "

The Amazon Resource Name (ARN) of the encryption key for the repository link to be updated.

" + } + }, + "LatestSyncBlockerList": { + "base": null, + "refs": { + "SyncBlockerSummary$LatestBlockers": "

The latest events for a sync blocker summary.

" + } + }, "LimitExceededException": { "base": "

Exceeded the maximum limit for connections.

", "refs": { @@ -211,6 +443,36 @@ "refs": { } }, + "ListRepositoryLinksInput": { + "base": null, + "refs": { + } + }, + "ListRepositoryLinksOutput": { + "base": null, + "refs": { + } + }, + "ListRepositorySyncDefinitionsInput": { + "base": null, + "refs": { + } + }, + "ListRepositorySyncDefinitionsOutput": { + "base": null, + "refs": { + } + }, + "ListSyncConfigurationsInput": { + "base": null, + "refs": { + } + }, + "ListSyncConfigurationsOutput": { + "base": null, + "refs": { + } + }, "ListTagsForResourceInput": { "base": null, "refs": { @@ -225,7 +487,9 @@ "base": null, "refs": { "ListConnectionsInput$MaxResults": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value.

", - "ListHostsInput$MaxResults": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + "ListHostsInput$MaxResults": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value.

", + "ListRepositoryLinksInput$MaxResults": "

A non-zero, non-negative integer used to limit the number of returned results.

", + "ListSyncConfigurationsInput$MaxResults": "

A non-zero, non-negative integer used to limit the number of returned results.

" } }, "NextToken": { @@ -237,6 +501,21 @@ "ListHostsOutput$NextToken": "

A token that can be used in the next ListHosts call. To view all items in the list, continue to call this operation with each subsequent token until no more nextToken values are returned.

" } }, + "OwnerId": { + "base": null, + "refs": { + "CreateRepositoryLinkInput$OwnerId": "

The owner ID for the repository associated with a specific sync configuration, such as the owner ID in GitHub.

", + "RepositoryLinkInfo$OwnerId": "

The owner ID for the repository associated with the repository link, such as the owner ID in GitHub.

", + "Revision$OwnerId": "

The owner ID for a specific revision, such as the GitHub owner ID for a GitHub repository.

", + "SyncConfiguration$OwnerId": "

The owner ID for the repository associated with a specific sync configuration, such as the owner ID in GitHub.

" + } + }, + "Parent": { + "base": null, + "refs": { + "RepositorySyncDefinition$Parent": "

The parent resource specified for a repository sync definition.

" + } + }, "ProviderType": { "base": null, "refs": { @@ -245,7 +524,120 @@ "CreateHostInput$ProviderType": "

The name of the installed provider to be associated with your connection. The host resource represents the infrastructure where your provider type is installed. The valid provider type is GitHub Enterprise Server.

", "GetHostOutput$ProviderType": "

The provider type of the requested host, such as GitHub Enterprise Server.

", "Host$ProviderType": "

The name of the installed provider to be associated with your connection. The host resource represents the infrastructure where your provider type is installed. The valid provider type is GitHub Enterprise Server.

", - "ListConnectionsInput$ProviderTypeFilter": "

Filters the list of connections to those associated with a specified provider, such as Bitbucket.

" + "ListConnectionsInput$ProviderTypeFilter": "

Filters the list of connections to those associated with a specified provider, such as Bitbucket.

", + "RepositoryLinkInfo$ProviderType": "

The provider type for the connection, such as GitHub, associated with the repository link.

", + "Revision$ProviderType": "

The provider type for a revision, such as GitHub.

", + "SyncConfiguration$ProviderType": "

The connection provider type associated with a specific sync configuration, such as GitHub.

" + } + }, + "RepositoryLinkArn": { + "base": null, + "refs": { + "RepositoryLinkInfo$RepositoryLinkArn": "

The Amazon Resource Name (ARN) of the repository link.

" + } + }, + "RepositoryLinkId": { + "base": null, + "refs": { + "CreateSyncConfigurationInput$RepositoryLinkId": "

The ID of the repository link created for the connection. A repository link allows Git sync to monitor and sync changes to files in a specified Git repository.

", + "DeleteRepositoryLinkInput$RepositoryLinkId": "

The ID of the repository link to be deleted.

", + "GetRepositoryLinkInput$RepositoryLinkId": "

The ID of the repository link to get.

", + "GetRepositorySyncStatusInput$RepositoryLinkId": "

The repository link ID for the requested repository sync status.

", + "ListRepositorySyncDefinitionsInput$RepositoryLinkId": "

The ID of the repository link for the sync definition for which you want to retrieve information.

", + "ListSyncConfigurationsInput$RepositoryLinkId": "

The ID of the repository link for the requested list of sync configurations.

", + "RepositoryLinkInfo$RepositoryLinkId": "

The ID of the repository link.

", + "SyncConfiguration$RepositoryLinkId": "

The ID of the repository link associated with a specific sync configuration.

", + "UpdateRepositoryLinkInput$RepositoryLinkId": "

The ID of the repository link to be updated.

", + "UpdateSyncConfigurationInput$RepositoryLinkId": "

The ID of the repository link for the sync configuration to be updated.

" + } + }, + "RepositoryLinkInfo": { + "base": "

Information about the repository link resource, such as the repository link ARN, the associated connection ARN, encryption key ARN, and owner ID.

", + "refs": { + "CreateRepositoryLinkOutput$RepositoryLinkInfo": "

The returned information about the created repository link.

", + "GetRepositoryLinkOutput$RepositoryLinkInfo": "

The information returned for a specified repository link.

", + "RepositoryLinkList$member": null, + "UpdateRepositoryLinkOutput$RepositoryLinkInfo": "

Information about the repository link to be updated.

" + } + }, + "RepositoryLinkList": { + "base": null, + "refs": { + "ListRepositoryLinksOutput$RepositoryLinks": "

Lists the repository links called by the list repository links operation.

" + } + }, + "RepositoryName": { + "base": null, + "refs": { + "CreateRepositoryLinkInput$RepositoryName": "

The name of the repository to be associated with the repository link.

", + "RepositoryLinkInfo$RepositoryName": "

The name of the repository associated with the repository link.

", + "Revision$RepositoryName": "

The repository name for a specific revision.

", + "SyncConfiguration$RepositoryName": "

The name of the repository associated with a specific sync configuration.

" + } + }, + "RepositorySyncAttempt": { + "base": "

Information about a repository sync attempt for a repository with a sync configuration.

", + "refs": { + "GetRepositorySyncStatusOutput$LatestSync": "

The status of the latest sync returned for a specified repository and branch.

" + } + }, + "RepositorySyncDefinition": { + "base": "

The definition for a repository with a sync configuration.

", + "refs": { + "RepositorySyncDefinitionList$member": null + } + }, + "RepositorySyncDefinitionList": { + "base": null, + "refs": { + "ListRepositorySyncDefinitionsOutput$RepositorySyncDefinitions": "

The list of repository sync definitions returned by the request. A RepositorySyncDefinition is a mapping from a repository branch to all the Amazon Web Services resources that are being synced from that branch.

" + } + }, + "RepositorySyncEvent": { + "base": "

Information about a repository sync event.

", + "refs": { + "RepositorySyncEventList$member": null + } + }, + "RepositorySyncEventList": { + "base": null, + "refs": { + "RepositorySyncAttempt$Events": "

The events associated with a specific sync attempt.

" + } + }, + "RepositorySyncStatus": { + "base": null, + "refs": { + "RepositorySyncAttempt$Status": "

The status of a specific sync attempt. The following are valid statuses:

" + } + }, + "ResolvedReason": { + "base": null, + "refs": { + "SyncBlocker$ResolvedReason": "

The resolved reason for a specific sync blocker.

", + "UpdateSyncBlockerInput$ResolvedReason": "

The reason for resolving the sync blocker.

" + } + }, + "ResourceAlreadyExistsException": { + "base": "

Unable to create resource. Resource already exists.

", + "refs": { + } + }, + "ResourceName": { + "base": null, + "refs": { + "CreateSyncConfigurationInput$ResourceName": "

The name of the Amazon Web Services resource (for example, a CloudFormation stack in the case of CFN_STACK_SYNC) that will be synchronized from the linked repository.

", + "DeleteSyncConfigurationInput$ResourceName": "

The name of the Amazon Web Services resource associated with the sync configuration to be deleted.

", + "GetResourceSyncStatusInput$ResourceName": "

The name of the Amazon Web Services resource for the sync status with the Git repository.

", + "GetSyncBlockerSummaryInput$ResourceName": "

The name of the Amazon Web Services resource currently blocked from automatically being synced from a Git repository.

", + "GetSyncConfigurationInput$ResourceName": "

The name of the Amazon Web Services resource for the sync configuration for which you want to retrieve information.

", + "SyncBlockerSummary$ResourceName": "

The resource name for sync blocker summary.

", + "SyncBlockerSummary$ParentResourceName": "

The parent resource name for a sync blocker summary.

", + "SyncConfiguration$ResourceName": "

The name of the connection resource associated with a specific sync configuration.

", + "UpdateSyncBlockerInput$ResourceName": "

The name of the resource for the sync blocker to be updated.

", + "UpdateSyncBlockerOutput$ResourceName": "

The resource name for the sync blocker.

", + "UpdateSyncBlockerOutput$ParentResourceName": "

The parent resource name for the sync blocker.

", + "UpdateSyncConfigurationInput$ResourceName": "

The name of the Amazon Web Services resource for the sync configuration to be updated.

" } }, "ResourceNotFoundException": { @@ -253,11 +645,55 @@ "refs": { } }, + "ResourceSyncAttempt": { + "base": "

Information about a resource sync attempt.

", + "refs": { + "GetResourceSyncStatusOutput$LatestSuccessfulSync": "

The latest successful sync for the sync status with the Git repository.

", + "GetResourceSyncStatusOutput$LatestSync": "

The latest sync for the sync status with the Git repository, whether successful or not.

" + } + }, + "ResourceSyncEvent": { + "base": "

Information about a resource sync event for the resource associated with a sync configuration.

", + "refs": { + "ResourceSyncEventList$member": null + } + }, + "ResourceSyncEventList": { + "base": null, + "refs": { + "ResourceSyncAttempt$Events": "

The events related to a resource sync attempt.

" + } + }, + "ResourceSyncStatus": { + "base": null, + "refs": { + "ResourceSyncAttempt$Status": "

The status for a resource sync attempt. The follow are valid statuses:

" + } + }, "ResourceUnavailableException": { "base": "

Resource not found. Verify the ARN for the host resource and try again.

", "refs": { } }, + "RetryLatestCommitFailedException": { + "base": "

Retrying the latest commit failed. Try again later.

", + "refs": { + } + }, + "Revision": { + "base": "

Information about the revision for a specific sync event, such as the branch, owner ID, and name of the repository.

", + "refs": { + "GetResourceSyncStatusOutput$DesiredState": "

The desired state of the Amazon Web Services resource for the sync status with the Git repository.

", + "ResourceSyncAttempt$InitialRevision": "

The current state of the resource as defined in the resource's config-file in the linked repository.

", + "ResourceSyncAttempt$TargetRevision": "

The desired state of the resource as defined in the resource's config-file in the linked repository. Git sync attempts to update the resource to this state.

" + } + }, + "SHA": { + "base": null, + "refs": { + "Revision$Sha": "

The SHA, such as the commit ID, for a specific revision.

" + } + }, "SecurityGroupId": { "base": null, "refs": { @@ -270,6 +706,16 @@ "VpcConfiguration$SecurityGroupIds": "

The ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed.

" } }, + "SharpNextToken": { + "base": null, + "refs": { + "ListRepositoryLinksInput$NextToken": "

An enumeration token that, when provided in a request, returns the next batch of the results.

", + "ListRepositoryLinksOutput$NextToken": "

An enumeration token that allows the operation to batch the results of the operation.

", + "ListRepositorySyncDefinitionsOutput$NextToken": "

An enumeration token that, when provided in a request, returns the next batch of the results.

", + "ListSyncConfigurationsInput$NextToken": "

An enumeration token that allows the operation to batch the results of the operation.

", + "ListSyncConfigurationsOutput$NextToken": "

An enumeration token that allows the operation to batch the next results of the operation.

" + } + }, "SubnetId": { "base": null, "refs": { @@ -282,6 +728,84 @@ "VpcConfiguration$SubnetIds": "

The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed.

" } }, + "SyncBlocker": { + "base": "

Information about a blocker for a sync event.

", + "refs": { + "LatestSyncBlockerList$member": null, + "UpdateSyncBlockerOutput$SyncBlocker": "

Information about the sync blocker to be updated.

" + } + }, + "SyncBlockerContext": { + "base": "

The context for a specific sync blocker.

", + "refs": { + "SyncBlockerContextList$member": null + } + }, + "SyncBlockerContextKey": { + "base": null, + "refs": { + "SyncBlockerContext$Key": "

The key provided for a context key-value pair for a specific sync blocker.

" + } + }, + "SyncBlockerContextList": { + "base": null, + "refs": { + "SyncBlocker$Contexts": "

The contexts for a specific sync blocker.

" + } + }, + "SyncBlockerContextValue": { + "base": null, + "refs": { + "SyncBlockerContext$Value": "

The value provided for a context key-value pair for a specific sync blocker.

" + } + }, + "SyncBlockerDoesNotExistException": { + "base": "

Unable to continue. The sync blocker does not exist.

", + "refs": { + } + }, + "SyncBlockerSummary": { + "base": "

A summary for sync blockers.

", + "refs": { + "GetSyncBlockerSummaryOutput$SyncBlockerSummary": "

The list of sync blockers for a specified resource.

" + } + }, + "SyncConfiguration": { + "base": "

Information, such as repository, branch, provider, and resource names for a specific sync configuration.

", + "refs": { + "CreateSyncConfigurationOutput$SyncConfiguration": "

The created sync configuration for the connection. A sync configuration allows Amazon Web Services to sync content from a Git repository to update a specified Amazon Web Services resource.

", + "GetSyncConfigurationOutput$SyncConfiguration": "

The details about the sync configuration for which you want to retrieve information.

", + "SyncConfigurationList$member": null, + "UpdateSyncConfigurationOutput$SyncConfiguration": "

The information returned for the sync configuration to be updated.

" + } + }, + "SyncConfigurationList": { + "base": null, + "refs": { + "ListSyncConfigurationsOutput$SyncConfigurations": "

The list of repository sync definitions returned by the request.

" + } + }, + "SyncConfigurationStillExistsException": { + "base": "

Unable to continue. The sync blocker still exists.

", + "refs": { + } + }, + "SyncConfigurationType": { + "base": null, + "refs": { + "CreateSyncConfigurationInput$SyncType": "

The type of sync configuration.

", + "DeleteSyncConfigurationInput$SyncType": "

The type of sync configuration to be deleted.

", + "GetRepositorySyncStatusInput$SyncType": "

The sync type of the requested sync status.

", + "GetResourceSyncStatusInput$SyncType": "

The sync type for the sync status with the Git repository.

", + "GetSyncBlockerSummaryInput$SyncType": "

The sync type for the sync blocker summary.

", + "GetSyncConfigurationInput$SyncType": "

The sync type for the sync configuration for which you want to retrieve information.

", + "ListRepositorySyncDefinitionsInput$SyncType": "

The sync type of the repository link for the the sync definition for which you want to retrieve information.

", + "ListSyncConfigurationsInput$SyncType": "

The sync type for the requested list of sync configurations.

", + "SyncConfiguration$SyncType": "

The type of sync for a specific sync configuration.

", + "UpdateSyncBlockerInput$SyncType": "

The sync type of the sync blocker to be updated.

", + "UpdateSyncConfigurationInput$SyncType": "

The sync type for the sync configuration to be updated.

" + } + }, "Tag": { "base": "

A tag is a key-value pair that is used to manage the resource.

This tag is available for use by Amazon Web Services services that support tags.

", "refs": { @@ -306,8 +830,9 @@ "refs": { "CreateConnectionInput$Tags": "

The key-value pair to use when tagging the resource.

", "CreateConnectionOutput$Tags": "

Specifies the tags applied to the resource.

", - "CreateHostInput$Tags": null, - "CreateHostOutput$Tags": null, + "CreateHostInput$Tags": "

Tags for the host to be created.

", + "CreateHostOutput$Tags": "

Tags for the created host.

", + "CreateRepositoryLinkInput$Tags": "

The tags for the repository to be associated with the repository link.

", "ListTagsForResourceOutput$Tags": "

A list of tag key and value pairs associated with the specified resource.

", "TagResourceInput$Tags": "

The tags you want to modify or add to the resource.

" } @@ -328,17 +853,52 @@ "Tag$Value": "

The tag's value.

" } }, + "Target": { + "base": null, + "refs": { + "RepositorySyncDefinition$Target": "

The target resource specified for a repository sync definition. In some cases, such as CFN_STACK_SYNC, the parent and target resource are the same.

", + "ResourceSyncAttempt$Target": "

The name of the Amazon Web Services resource that is attempted to be synchronized.

" + } + }, + "ThrottlingException": { + "base": "

The request was denied due to request throttling.

", + "refs": { + } + }, + "Timestamp": { + "base": null, + "refs": { + "RepositorySyncAttempt$StartedAt": "

The start time of a specific sync attempt.

", + "RepositorySyncEvent$Time": "

The time that a repository sync event occurred.

", + "ResourceSyncAttempt$StartedAt": "

The start time for a resource sync attempt.

", + "ResourceSyncEvent$Time": "

The time that a resource sync event occurred.

", + "SyncBlocker$CreatedAt": "

The creation time for a specific sync blocker.

", + "SyncBlocker$ResolvedAt": "

The time that a specific sync blocker was resolved.

" + } + }, "TlsCertificate": { "base": null, "refs": { "VpcConfiguration$TlsCertificate": "

The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed.

" } }, + "Type": { + "base": null, + "refs": { + "RepositorySyncEvent$Type": "

The event type for a repository sync event.

", + "ResourceSyncEvent$Type": "

The type of resource sync event.

" + } + }, "UnsupportedOperationException": { "base": "

The operation is not supported. Check the connection status and try again.

", "refs": { } }, + "UnsupportedProviderTypeException": { + "base": "

The specified provider type is not supported for connections.

", + "refs": { + } + }, "UntagResourceInput": { "base": null, "refs": { @@ -359,6 +919,41 @@ "refs": { } }, + "UpdateOutOfSyncException": { + "base": "

The update is out of sync. Try syncing again.

", + "refs": { + } + }, + "UpdateRepositoryLinkInput": { + "base": null, + "refs": { + } + }, + "UpdateRepositoryLinkOutput": { + "base": null, + "refs": { + } + }, + "UpdateSyncBlockerInput": { + "base": null, + "refs": { + } + }, + "UpdateSyncBlockerOutput": { + "base": null, + "refs": { + } + }, + "UpdateSyncConfigurationInput": { + "base": null, + "refs": { + } + }, + "UpdateSyncConfigurationOutput": { + "base": null, + "refs": { + } + }, "Url": { "base": null, "refs": { diff --git a/models/apis/codestar-connections/2019-12-01/endpoint-rule-set-1.json b/models/apis/codestar-connections/2019-12-01/endpoint-rule-set-1.json index 54683182617..184d43d901c 100644 --- a/models/apis/codestar-connections/2019-12-01/endpoint-rule-set-1.json +++ b/models/apis/codestar-connections/2019-12-01/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -58,293 +57,258 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://codestar-connections-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://codestar-connections-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, true ] } ], - "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://codestar-connections-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://codestar-connections-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://codestar-connections.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], - "type": "tree", + ], "rules": [ { "conditions": [], "endpoint": { - "url": "https://codestar-connections.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://codestar-connections.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://codestar-connections.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" + ], + "type": "tree" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/codestar-connections/2019-12-01/paginators-1.json b/models/apis/codestar-connections/2019-12-01/paginators-1.json index 1b3698862ca..11686affe88 100644 --- a/models/apis/codestar-connections/2019-12-01/paginators-1.json +++ b/models/apis/codestar-connections/2019-12-01/paginators-1.json @@ -9,6 +9,16 @@ "input_token": "NextToken", "output_token": "NextToken", "limit_key": "MaxResults" + }, + "ListRepositoryLinks": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListSyncConfigurations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" } } } diff --git a/models/apis/connect/2017-08-08/api-2.json b/models/apis/connect/2017-08-08/api-2.json index 6e3ad19ed19..ab29c16355f 100644 --- a/models/apis/connect/2017-08-08/api-2.json +++ b/models/apis/connect/2017-08-08/api-2.json @@ -7972,6 +7972,7 @@ "PINPOINT_APP", "WISDOM_ASSISTANT", "WISDOM_KNOWLEDGE_BASE", + "WISDOM_QUICK_RESPONSES", "CASES_DOMAIN", "APPLICATION", "FILE_SCANNER" @@ -8461,10 +8462,7 @@ }, "ListFlowAssociationResourceType":{ "type":"string", - "enum":[ - "SMS_PHONE_NUMBER", - "VOICE_PHONE_NUMBER" - ] + "enum":["VOICE_PHONE_NUMBER"] }, "ListHoursOfOperationsRequest":{ "type":"structure", diff --git a/models/apis/dlm/2018-01-12/docs-2.json b/models/apis/dlm/2018-01-12/docs-2.json index 7fb49df62d0..4c45d1e17ac 100644 --- a/models/apis/dlm/2018-01-12/docs-2.json +++ b/models/apis/dlm/2018-01-12/docs-2.json @@ -315,13 +315,13 @@ "ExecutionHandler": { "base": null, "refs": { - "Script$ExecutionHandler": "

The SSM document that includes the pre and/or post scripts to run.

" + "Script$ExecutionHandler": "

The SSM document that includes the pre and/or post scripts to run.

" } }, "ExecutionHandlerServiceValues": { "base": null, "refs": { - "Script$ExecutionHandlerService": "

Indicates the service used to execute the pre and/or post scripts.

Default: AWS_SYSTEMS_MANAGER

" + "Script$ExecutionHandlerService": "

Indicates the service used to execute the pre and/or post scripts.

Default: AWS_SYSTEMS_MANAGER

" } }, "ExecutionRoleArn": { diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 098100116fa..14252b6753e 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -200,6 +200,15 @@ "input":{"shape":"AssociateInstanceEventWindowRequest"}, "output":{"shape":"AssociateInstanceEventWindowResult"} }, + "AssociateIpamByoasn":{ + "name":"AssociateIpamByoasn", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateIpamByoasnRequest"}, + "output":{"shape":"AssociateIpamByoasnResult"} + }, "AssociateIpamResourceDiscovery":{ "name":"AssociateIpamResourceDiscovery", "http":{ @@ -1885,6 +1894,15 @@ "input":{"shape":"DeprovisionByoipCidrRequest"}, "output":{"shape":"DeprovisionByoipCidrResult"} }, + "DeprovisionIpamByoasn":{ + "name":"DeprovisionIpamByoasn", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeprovisionIpamByoasnRequest"}, + "output":{"shape":"DeprovisionIpamByoasnResult"} + }, "DeprovisionIpamPoolCidr":{ "name":"DeprovisionIpamPoolCidr", "http":{ @@ -2442,6 +2460,15 @@ "input":{"shape":"DescribeInternetGatewaysRequest"}, "output":{"shape":"DescribeInternetGatewaysResult"} }, + "DescribeIpamByoasn":{ + "name":"DescribeIpamByoasn", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeIpamByoasnRequest"}, + "output":{"shape":"DescribeIpamByoasnResult"} + }, "DescribeIpamPools":{ "name":"DescribeIpamPools", "http":{ @@ -3499,6 +3526,15 @@ "input":{"shape":"DisassociateInstanceEventWindowRequest"}, "output":{"shape":"DisassociateInstanceEventWindowResult"} }, + "DisassociateIpamByoasn":{ + "name":"DisassociateIpamByoasn", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateIpamByoasnRequest"}, + "output":{"shape":"DisassociateIpamByoasnResult"} + }, "DisassociateIpamResourceDiscovery":{ "name":"DisassociateIpamResourceDiscovery", "http":{ @@ -3928,6 +3964,15 @@ "input":{"shape":"GetIpamDiscoveredAccountsRequest"}, "output":{"shape":"GetIpamDiscoveredAccountsResult"} }, + "GetIpamDiscoveredPublicAddresses":{ + "name":"GetIpamDiscoveredPublicAddresses", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetIpamDiscoveredPublicAddressesRequest"}, + "output":{"shape":"GetIpamDiscoveredPublicAddressesResult"} + }, "GetIpamDiscoveredResourceCidrs":{ "name":"GetIpamDiscoveredResourceCidrs", "http":{ @@ -4864,6 +4909,15 @@ "input":{"shape":"ProvisionByoipCidrRequest"}, "output":{"shape":"ProvisionByoipCidrResult"} }, + "ProvisionIpamByoasn":{ + "name":"ProvisionIpamByoasn", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ProvisionIpamByoasnRequest"}, + "output":{"shape":"ProvisionIpamByoasnResult"} + }, "ProvisionIpamPoolCidr":{ "name":"ProvisionIpamPoolCidr", "http":{ @@ -6092,6 +6146,7 @@ "required":["Cidr"], "members":{ "Cidr":{"shape":"String"}, + "Asn":{"shape":"String"}, "DryRun":{"shape":"Boolean"} } }, @@ -6227,6 +6282,10 @@ }, "Description":{"shape":"String"}, "PreviewNextCidr":{"shape":"Boolean"}, + "AllowedCidrs":{ + "shape":"IpamPoolAllocationAllowedCidrs", + "locationName":"AllowedCidr" + }, "DisallowedCidrs":{ "shape":"IpamPoolAllocationDisallowedCidrs", "locationName":"DisallowedCidr" @@ -6649,6 +6708,67 @@ "locationName":"item" } }, + "AsnAssociation":{ + "type":"structure", + "members":{ + "Asn":{ + "shape":"String", + "locationName":"asn" + }, + "Cidr":{ + "shape":"String", + "locationName":"cidr" + }, + "StatusMessage":{ + "shape":"String", + "locationName":"statusMessage" + }, + "State":{ + "shape":"AsnAssociationState", + "locationName":"state" + } + } + }, + "AsnAssociationSet":{ + "type":"list", + "member":{ + "shape":"AsnAssociation", + "locationName":"item" + } + }, + "AsnAssociationState":{ + "type":"string", + "enum":[ + "disassociated", + "failed-disassociation", + "failed-association", + "pending-disassociation", + "pending-association", + "associated" + ] + }, + "AsnAuthorizationContext":{ + "type":"structure", + "required":[ + "Message", + "Signature" + ], + "members":{ + "Message":{"shape":"String"}, + "Signature":{"shape":"String"} + } + }, + "AsnState":{ + "type":"string", + "enum":[ + "deprovisioned", + "failed-deprovision", + "failed-provision", + "pending-deprovision", + "pending-provision", + "provisioned" + ] + }, "AssetId":{"type":"string"}, "AssetIdList":{ "type":"list", @@ -6927,6 +7047,27 @@ } } }, + "AssociateIpamByoasnRequest":{ + "type":"structure", + "required":[ + "Asn", + "Cidr" + ], + "members":{ + "DryRun":{"shape":"Boolean"}, + "Asn":{"shape":"String"}, + "Cidr":{"shape":"String"} + } + }, + "AssociateIpamByoasnResult":{ + "type":"structure", + "members":{ + "AsnAssociation":{ + "shape":"AsnAssociation", + "locationName":"asnAssociation" + } + } + }, "AssociateIpamResourceDiscoveryRequest":{ "type":"structure", "required":[ @@ -7022,10 +7163,7 @@ }, "AssociateSubnetCidrBlockRequest":{ "type":"structure", - "required":[ - "Ipv6CidrBlock", - "SubnetId" - ], + "required":["SubnetId"], "members":{ "Ipv6CidrBlock":{ "shape":"String", @@ -7034,7 +7172,9 @@ "SubnetId":{ "shape":"SubnetId", "locationName":"subnetId" - } + }, + "Ipv6IpamPoolId":{"shape":"IpamPoolId"}, + "Ipv6NetmaskLength":{"shape":"NetmaskLength"} } }, "AssociateSubnetCidrBlockResult":{ @@ -8041,6 +8181,34 @@ ] }, "BurstablePerformanceFlag":{"type":"boolean"}, + "Byoasn":{ + "type":"structure", + "members":{ + "Asn":{ + "shape":"String", + "locationName":"asn" + }, + "IpamId":{ + "shape":"IpamId", + "locationName":"ipamId" + }, + "StatusMessage":{ + "shape":"String", + "locationName":"statusMessage" + }, + "State":{ + "shape":"AsnState", + "locationName":"state" + } + } + }, + "ByoasnSet":{ + "type":"list", + "member":{ + "shape":"Byoasn", + "locationName":"item" + } + }, "ByoipCidr":{ "type":"structure", "members":{ @@ -8052,6 +8220,10 @@ "shape":"String", "locationName":"description" }, + "AsnAssociations":{ + "shape":"AsnAssociationSet", + "locationName":"asnAssociationSet" + }, "StatusMessage":{ "shape":"String", "locationName":"statusMessage" @@ -9679,6 +9851,65 @@ "type":"string", "enum":["Topic"] }, + "ConnectionTrackingConfiguration":{ + "type":"structure", + "members":{ + "TcpEstablishedTimeout":{ + "shape":"Integer", + "locationName":"tcpEstablishedTimeout" + }, + "UdpStreamTimeout":{ + "shape":"Integer", + "locationName":"udpStreamTimeout" + }, + "UdpTimeout":{ + "shape":"Integer", + "locationName":"udpTimeout" + } + } + }, + "ConnectionTrackingSpecification":{ + "type":"structure", + "members":{ + "TcpEstablishedTimeout":{ + "shape":"Integer", + "locationName":"tcpEstablishedTimeout" + }, + "UdpTimeout":{ + "shape":"Integer", + "locationName":"udpTimeout" + }, + "UdpStreamTimeout":{ + "shape":"Integer", + "locationName":"udpStreamTimeout" + } + } + }, + "ConnectionTrackingSpecificationRequest":{ + "type":"structure", + "members":{ + "TcpEstablishedTimeout":{"shape":"Integer"}, + "UdpStreamTimeout":{"shape":"Integer"}, + "UdpTimeout":{"shape":"Integer"} + } + }, + "ConnectionTrackingSpecificationResponse":{ + "type":"structure", + "members":{ + "TcpEstablishedTimeout":{ + "shape":"Integer", + "locationName":"tcpEstablishedTimeout" + }, + "UdpStreamTimeout":{ + "shape":"Integer", + "locationName":"udpStreamTimeout" + }, + "UdpTimeout":{ + "shape":"Integer", + "locationName":"udpTimeout" + } + } + }, "ConnectivityType":{ "type":"string", "enum":[ @@ -10669,7 +10900,8 @@ "idempotencyToken":true }, "AwsService":{"shape":"IpamPoolAwsService"}, - "PublicIpSource":{"shape":"IpamPoolPublicIpSource"} + "PublicIpSource":{"shape":"IpamPoolPublicIpSource"}, + "SourceResource":{"shape":"IpamPoolSourceResourceRequest"} } }, "CreateIpamPoolResult":{ @@ -10697,7 +10929,8 @@ "ClientToken":{ "shape":"String", "idempotencyToken":true - } + }, + "Tier":{"shape":"IpamTier"} } }, "CreateIpamResourceDiscoveryRequest":{ @@ -11240,7 +11473,8 @@ "shape":"String", "idempotencyToken":true }, - "EnablePrimaryIpv6":{"shape":"Boolean"} + "EnablePrimaryIpv6":{"shape":"Boolean"}, + "ConnectionTrackingSpecification":{"shape":"ConnectionTrackingSpecificationRequest"} } }, "CreateNetworkInterfaceResult":{ @@ -11660,7 +11894,11 @@ "shape":"Boolean", "locationName":"dryRun" }, - "Ipv6Native":{"shape":"Boolean"} + "Ipv6Native":{"shape":"Boolean"}, + "Ipv4IpamPoolId":{"shape":"IpamPoolId"}, + "Ipv4NetmaskLength":{"shape":"NetmaskLength"}, + "Ipv6IpamPoolId":{"shape":"IpamPoolId"}, + "Ipv6NetmaskLength":{"shape":"NetmaskLength"} } }, "CreateSubnetResult":{ @@ -13118,7 +13356,8 @@ "required":["IpamPoolId"], "members":{ "DryRun":{"shape":"Boolean"}, - "IpamPoolId":{"shape":"IpamPoolId"} + "IpamPoolId":{"shape":"IpamPoolId"}, + "Cascade":{"shape":"Boolean"} } }, "DeleteIpamPoolResult":{ @@ -14246,6 +14485,27 @@ } } }, + "DeprovisionIpamByoasnRequest":{ + "type":"structure", + "required":[ + "IpamId", + "Asn" + ], + "members":{ + "DryRun":{"shape":"Boolean"}, + "IpamId":{"shape":"IpamId"}, + "Asn":{"shape":"String"} + } + }, + "DeprovisionIpamByoasnResult":{ + "type":"structure", + "members":{ + "Byoasn":{ + "shape":"Byoasn", + "locationName":"byoasn" + } + } + }, "DeprovisionIpamPoolCidrRequest":{ "type":"structure", "required":["IpamPoolId"], @@ -16212,6 +16472,32 @@ } } }, + "DescribeIpamByoasnMaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "DescribeIpamByoasnRequest":{ + "type":"structure", + "members":{ + "DryRun":{"shape":"Boolean"}, + "MaxResults":{"shape":"DescribeIpamByoasnMaxResults"}, + "NextToken":{"shape":"NextToken"} + } + }, + "DescribeIpamByoasnResult":{ + "type":"structure", + "members":{ + "Byoasns":{ + "shape":"ByoasnSet", + "locationName":"byoasnSet" + }, + "NextToken":{ + "shape":"String", + "locationName":"nextToken" + } + } + }, "DescribeIpamPoolsRequest":{ "type":"structure", "members":{ @@ -19913,6 +20199,27 @@ } } }, + "DisassociateIpamByoasnRequest":{ + "type":"structure", + "required":[ + "Asn", + "Cidr" + ], + "members":{ + "DryRun":{"shape":"Boolean"}, + "Asn":{"shape":"String"}, + "Cidr":{"shape":"String"} + } + }, + "DisassociateIpamByoasnResult":{ + "type":"structure", + "members":{ + "AsnAssociation":{ + "shape":"AsnAssociation", + "locationName":"asnAssociation" + } + } + }, "DisassociateIpamResourceDiscoveryRequest":{ "type":"structure", "required":["IpamResourceDiscoveryAssociationId"], @@ -23327,6 +23634,41 @@ } } }, + "GetIpamDiscoveredPublicAddressesRequest":{ + "type":"structure", + "required":[ + "IpamResourceDiscoveryId", + "AddressRegion" + ], + "members":{ + "DryRun":{"shape":"Boolean"}, + "IpamResourceDiscoveryId":{"shape":"IpamResourceDiscoveryId"}, + "AddressRegion":{"shape":"String"}, + "Filters":{ + "shape":"FilterList", + "locationName":"Filter" + }, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"IpamMaxResults"} + } + }, + "GetIpamDiscoveredPublicAddressesResult":{ + "type":"structure", + "members":{ + "IpamDiscoveredPublicAddresses":{ + "shape":"IpamDiscoveredPublicAddressSet", + "locationName":"ipamDiscoveredPublicAddressSet" + }, + "OldestSampleTime":{ + "shape":"MillisecondDateTime", + "locationName":"oldestSampleTime" + }, + "NextToken":{ + "shape":"NextToken", + "locationName":"nextToken" + } + } + }, "GetIpamDiscoveredResourceCidrsRequest":{ "type":"structure", "required":[ @@ -26663,6 +27005,10 @@ "Ipv6Prefixes":{ "shape":"InstanceIpv6PrefixList", "locationName":"ipv6PrefixSet" + }, + "ConnectionTrackingConfiguration":{ + "shape":"ConnectionTrackingSpecificationResponse", + "locationName":"connectionTrackingConfiguration" } } }, @@ -26798,7 +27144,8 @@ }, "Ipv6PrefixCount":{"shape":"Integer"}, "PrimaryIpv6":{"shape":"Boolean"}, - "EnaSrdSpecification":{"shape":"EnaSrdSpecificationRequest"} + "EnaSrdSpecification":{"shape":"EnaSrdSpecificationRequest"}, + "ConnectionTrackingSpecification":{"shape":"ConnectionTrackingSpecificationRequest"} } }, "InstanceNetworkInterfaceSpecificationList":{ @@ -28486,6 +28833,14 @@ "ResourceDiscoveryAssociationCount":{ "shape":"Integer", "locationName":"resourceDiscoveryAssociationCount" + }, + "StateMessage":{ + "shape":"String", + "locationName":"stateMessage" + }, + "Tier":{ + "shape":"IpamTier", + "locationName":"tier" } } }, @@ -28615,6 +28970,94 @@ "locationName":"item" } }, + "IpamDiscoveredPublicAddress":{ + "type":"structure", + "members":{ + "IpamResourceDiscoveryId":{ + "shape":"IpamResourceDiscoveryId", + "locationName":"ipamResourceDiscoveryId" + }, + "AddressRegion":{ + "shape":"String", + "locationName":"addressRegion" + }, + "Address":{ + "shape":"String", + "locationName":"address" + }, + "AddressOwnerId":{ + "shape":"String", + "locationName":"addressOwnerId" + }, + "AddressAllocationId":{ + "shape":"String", + "locationName":"addressAllocationId" + }, + "AssociationStatus":{ + "shape":"IpamPublicAddressAssociationStatus", + "locationName":"associationStatus" + }, + "AddressType":{ + "shape":"IpamPublicAddressType", + "locationName":"addressType" + }, + "Service":{ + "shape":"IpamPublicAddressAwsService", + "locationName":"service" + }, + "ServiceResource":{ + "shape":"String", + "locationName":"serviceResource" + }, + "VpcId":{ + "shape":"String", + "locationName":"vpcId" + }, + "SubnetId":{ + "shape":"String", + "locationName":"subnetId" + }, + "PublicIpv4PoolId":{ + "shape":"String", + "locationName":"publicIpv4PoolId" + }, + "NetworkInterfaceId":{ + "shape":"String", + "locationName":"networkInterfaceId" + }, + "NetworkInterfaceDescription":{ + "shape":"String", + "locationName":"networkInterfaceDescription" + }, + "InstanceId":{ + "shape":"String", + "locationName":"instanceId" + }, + "Tags":{ + "shape":"IpamPublicAddressTags", + "locationName":"tags" + }, + "NetworkBorderGroup":{ + "shape":"String", + "locationName":"networkBorderGroup" + }, + "SecurityGroups":{ + "shape":"IpamPublicAddressSecurityGroupList", + "locationName":"securityGroupSet" + }, + "SampleTime":{ + "shape":"MillisecondDateTime", + "locationName":"sampleTime" + } + } + }, + "IpamDiscoveredPublicAddressSet":{ + "type":"list", + "member":{ + "shape":"IpamDiscoveredPublicAddress", + "locationName":"item" + } + }, "IpamDiscoveredResourceCidr":{ "type":"structure", "members":{ @@ -28825,6 +29268,10 @@ "PublicIpSource":{ "shape":"IpamPoolPublicIpSource", "locationName":"publicIpSource" + }, + "SourceResource":{ + "shape":"IpamPoolSourceResource", + "locationName":"sourceResource" } } }, @@ -28861,6 +29308,13 @@ } } }, + "IpamPoolAllocationAllowedCidrs":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, "IpamPoolAllocationDisallowedCidrs":{ "type":"list", "member":{ @@ -28875,7 +29329,8 @@ "ipam-pool", "vpc", "ec2-public-ipv4-pool", - "custom" + "custom", + "subnet" ] }, "IpamPoolAllocationSet":{ @@ -28970,6 +29425,40 @@ "locationName":"item" } }, + "IpamPoolSourceResource":{ + "type":"structure", + "members":{ + "ResourceId":{ + "shape":"String", + "locationName":"resourceId" + }, + "ResourceType":{ + "shape":"IpamPoolSourceResourceType", + "locationName":"resourceType" + }, + "ResourceRegion":{ + "shape":"String", + "locationName":"resourceRegion" + }, + "ResourceOwner":{ + "shape":"String", + "locationName":"resourceOwner" + } + } + }, + "IpamPoolSourceResourceRequest":{ + "type":"structure", + "members":{ + "ResourceId":{"shape":"String"}, + "ResourceType":{"shape":"IpamPoolSourceResourceType"}, + "ResourceRegion":{"shape":"String"}, + "ResourceOwner":{"shape":"String"} + } + }, + "IpamPoolSourceResourceType":{ + "type":"string", + "enum":["vpc"] + }, "IpamPoolState":{ "type":"string", "enum":[ @@ -28987,6 +29476,86 @@ "restore-in-progress" ] }, + "IpamPublicAddressAssociationStatus":{ + "type":"string", + "enum":[ + "associated", + "disassociated" + ] + }, + "IpamPublicAddressAwsService":{ + "type":"string", + "enum":[ + "nat-gateway", + "database-migration-service", + "redshift", + "elastic-container-service", + "relational-database-service", + "site-to-site-vpn", + "load-balancer", + "global-accelerator", + "other" + ] + }, + "IpamPublicAddressSecurityGroup":{ + "type":"structure", + "members":{ + "GroupName":{ + "shape":"String", + "locationName":"groupName" + }, + "GroupId":{ + "shape":"String", + "locationName":"groupId" + } + } + }, + "IpamPublicAddressSecurityGroupList":{ + "type":"list", + "member":{ + "shape":"IpamPublicAddressSecurityGroup", + "locationName":"item" + } + }, + "IpamPublicAddressTag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "locationName":"key" + }, + "Value":{ + "shape":"String", + "locationName":"value" + } + } + }, + "IpamPublicAddressTagList":{ + "type":"list", + "member":{ + "shape":"IpamPublicAddressTag", + "locationName":"item" + } + }, + "IpamPublicAddressTags":{ + "type":"structure", + "members":{ + "EipTags":{ + "shape":"IpamPublicAddressTagList", + "locationName":"eipTagSet" + } + } + }, + "IpamPublicAddressType":{ + "type":"string", + "enum":[ + "service-managed-ip", + "service-managed-byoip", + "amazon-owned-eip", + "byoip", + "ec2-public-ip" + ] + }, "IpamResourceCidr":{ "type":"structure", "members":{ @@ -29223,7 +29792,8 @@ "subnet", "eip", "public-ipv4-pool", - "ipv6-pool" + "ipv6-pool", + "eni" ] }, "IpamScope":{ @@ -29331,6 +29901,13 @@ "restore-in-progress" ] }, + "IpamTier":{ + "type":"string", + "enum":[ + "free", + "advanced" + ] + }, "Ipv4PoolCoipId":{"type":"string"}, "Ipv4PoolEc2Id":{"type":"string"}, "Ipv4PrefixList":{ @@ -30291,6 +30868,10 @@ "EnaSrdSpecification":{ "shape":"LaunchTemplateEnaSrdSpecification", "locationName":"enaSrdSpecification" + }, + "ConnectionTrackingSpecification":{ + "shape":"ConnectionTrackingSpecification", + "locationName":"connectionTrackingSpecification" } } }, @@ -30333,7 +30914,8 @@ }, "Ipv6PrefixCount":{"shape":"Integer"}, "PrimaryIpv6":{"shape":"Boolean"}, - "EnaSrdSpecification":{"shape":"EnaSrdSpecificationRequest"} + "EnaSrdSpecification":{"shape":"EnaSrdSpecificationRequest"}, + "ConnectionTrackingSpecification":{"shape":"ConnectionTrackingSpecificationRequest"} } }, "LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList":{ @@ -32137,7 +32719,8 @@ "RemoveOperatingRegions":{ "shape":"RemoveIpamOperatingRegionSet", "locationName":"RemoveOperatingRegion" - } + }, + "Tier":{"shape":"IpamTier"} } }, "ModifyIpamResourceCidrRequest":{ @@ -32321,7 +32904,8 @@ "locationName":"sourceDestCheck" }, "EnaSrdSpecification":{"shape":"EnaSrdSpecification"}, - "EnablePrimaryIpv6":{"shape":"Boolean"} + "EnablePrimaryIpv6":{"shape":"Boolean"}, + "ConnectionTrackingSpecification":{"shape":"ConnectionTrackingSpecificationRequest"} } }, "ModifyPrivateDnsNameOptionsRequest":{ @@ -34058,6 +34642,10 @@ "shape":"String", "locationName":"availabilityZone" }, + "ConnectionTrackingConfiguration":{ + "shape":"ConnectionTrackingConfiguration", + "locationName":"connectionTrackingConfiguration" + }, "Description":{ "shape":"String", "locationName":"description" @@ -35814,6 +36402,29 @@ } } }, + "ProvisionIpamByoasnRequest":{ + "type":"structure", + "required":[ + "IpamId", + "Asn", + "AsnAuthorizationContext" + ], + "members":{ + "DryRun":{"shape":"Boolean"}, + "IpamId":{"shape":"IpamId"}, + "Asn":{"shape":"String"}, + "AsnAuthorizationContext":{"shape":"AsnAuthorizationContext"} + } + }, + "ProvisionIpamByoasnResult":{ + "type":"structure", + "members":{ + "Byoasn":{ + "shape":"Byoasn", + "locationName":"byoasn" + } + } + }, "ProvisionIpamPoolCidrRequest":{ "type":"structure", "required":["IpamPoolId"], diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index e88fea2a3ab..6ac1e14b51a 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -23,15 +23,16 @@ "AssociateEnclaveCertificateIamRole": "

Associates an Identity and Access Management (IAM) role with an Certificate Manager (ACM) certificate. This enables the certificate to be used by the ACM for Nitro Enclaves application inside an enclave. For more information, see Certificate Manager for Nitro Enclaves in the Amazon Web Services Nitro Enclaves User Guide.

When the IAM role is associated with the ACM certificate, the certificate, certificate chain, and encrypted private key are placed in an Amazon S3 location that only the associated IAM role can access. The private key of the certificate is encrypted with an Amazon Web Services managed key that has an attached attestation-based key policy.

To enable the IAM role to access the Amazon S3 object, you must grant it permission to call s3:GetObject on the Amazon S3 bucket returned by the command. To enable the IAM role to access the KMS key, you must grant it permission to call kms:Decrypt on the KMS key returned by the command. For more information, see Grant the role permission to access the certificate and encryption key in the Amazon Web Services Nitro Enclaves User Guide.

", "AssociateIamInstanceProfile": "

Associates an IAM instance profile with a running or stopped instance. You cannot associate more than one IAM instance profile with an instance.

", "AssociateInstanceEventWindow": "

Associates one or more targets with an event window. Only one type of target (instance IDs, Dedicated Host IDs, or tags) can be specified with an event window.

For more information, see Define event windows for scheduled events in the Amazon EC2 User Guide.

", + "AssociateIpamByoasn": "

Associates your Autonomous System Number (ASN) with a BYOIP CIDR that you own in the same Amazon Web Services Region. For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

After the association succeeds, the ASN is eligible for advertisement. You can view the association with DescribeByoipCidrs. You can advertise the CIDR with AdvertiseByoipCidr.

", "AssociateIpamResourceDiscovery": "

Associates an IPAM resource discovery with an Amazon VPC IPAM. A resource discovery is an IPAM component that enables IPAM to manage and monitor resources that belong to the owning account.

", "AssociateNatGatewayAddress": "

Associates Elastic IP addresses (EIPs) and private IPv4 addresses with a public NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

By default, you can associate up to 2 Elastic IP addresses per public NAT gateway. You can increase the limit by requesting a quota adjustment. For more information, see Elastic IP address quotas in the Amazon VPC User Guide.

When you associate an EIP or secondary EIPs with a public NAT gateway, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it's not the same, the EIP will fail to associate. You can see the network border group for the subnet's AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

", "AssociateRouteTable": "

Associates a subnet in your VPC or an internet gateway or virtual private gateway attached to your VPC with a route table in your VPC. This association causes traffic from the subnet or gateway to be routed according to the routes in the route table. The action returns an association ID, which you need in order to disassociate the route table later. A route table can be associated with multiple subnets.

For more information, see Route tables in the Amazon VPC User Guide.

", - "AssociateSubnetCidrBlock": "

Associates a CIDR block with your subnet. You can only associate a single IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length of /64.

", + "AssociateSubnetCidrBlock": "

Associates a CIDR block with your subnet. You can only associate a single IPv6 CIDR block with your subnet.

", "AssociateTransitGatewayMulticastDomain": "

Associates the specified subnets and transit gateway attachments with the specified transit gateway multicast domain.

The transit gateway attachment must be in the available state before you can add a resource. Use DescribeTransitGatewayAttachments to see the state of the attachment.

", "AssociateTransitGatewayPolicyTable": "

Associates the specified transit gateway attachment with a transit gateway policy table.

", "AssociateTransitGatewayRouteTable": "

Associates the specified attachment with the specified transit gateway route table. You can associate only one route table with an attachment.

", - "AssociateTrunkInterface": "

This API action is currently in limited preview only. If you are interested in using this feature, contact your account manager.

Associates a branch network interface with a trunk network interface.

Before you create the association, run the create-network-interface command and set --interface-type to trunk. You must also create a network interface for each branch network interface that you want to associate with the trunk network interface.

", - "AssociateVpcCidrBlock": "

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP). The IPv6 CIDR block size is fixed at /56.

You must specify one of the following in the request: an IPv4 CIDR block, an IPv6 pool, or an Amazon-provided IPv6 CIDR block.

For more information about associating CIDR blocks with your VPC and applicable restrictions, see IP addressing for your VPCs and subnets in the Amazon VPC User Guide.

", + "AssociateTrunkInterface": "

Associates a branch network interface with a trunk network interface.

Before you create the association, run the create-network-interface command and set --interface-type to trunk. You must also create a network interface for each branch network interface that you want to associate with the trunk network interface.

", + "AssociateVpcCidrBlock": "

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).

You must specify one of the following in the request: an IPv4 CIDR block, an IPv6 pool, or an Amazon-provided IPv6 CIDR block.

For more information about associating CIDR blocks with your VPC and applicable restrictions, see IP addressing for your VPCs and subnets in the Amazon VPC User Guide.

", "AttachClassicLinkVpc": "

This action is deprecated.

Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC security groups. You cannot link an EC2-Classic instance to more than one VPC at a time. You can only link an instance that's in the running state. An instance is automatically unlinked from a VPC when it's stopped - you can link it to the VPC again when you restart it.

After you've linked an instance, you cannot change the VPC security groups that are associated with it. To change the security groups, you must first unlink the instance, and then link it again.

Linking your instance to a VPC is sometimes referred to as attaching your instance.

", "AttachInternetGateway": "

Attaches an internet gateway or a virtual private gateway to a VPC, enabling connectivity between the internet and the VPC. For more information, see Internet gateways in the Amazon VPC User Guide.

", "AttachNetworkInterface": "

Attaches a network interface to an instance.

", @@ -107,7 +108,7 @@ "CreateSnapshots": "

Creates crash-consistent snapshots of multiple EBS volumes and stores the data in S3. Volumes are chosen by specifying an instance. Any attached volumes will produce one snapshot each that is crash-consistent across the instance.

You can include all of the volumes currently attached to the instance, or you can exclude the root volume or specific data (non-root) volumes from the multi-volume snapshot set.

You can create multi-volume snapshots of instances in a Region and instances on an Outpost. If you create snapshots from an instance in a Region, the snapshots must be stored in the same Region as the instance. If you create snapshots from an instance on an Outpost, the snapshots can be stored on the same Outpost as the instance, or in the Region for that Outpost.

", "CreateSpotDatafeedSubscription": "

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per Amazon Web Services account. For more information, see Spot Instance data feed in the Amazon EC2 User Guide for Linux Instances.

", "CreateStoreImageTask": "

Stores an AMI as a single object in an Amazon S3 bucket.

To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the Amazon EC2 User Guide.

For more information, see Store and restore an AMI using Amazon S3 in the Amazon EC2 User Guide.

", - "CreateSubnet": "

Creates a subnet in the specified VPC. For an IPv4 only subnet, specify an IPv4 CIDR block. If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead. For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both an IPv4 CIDR block and an IPv6 CIDR block.

A subnet CIDR block must not overlap the CIDR block of an existing subnet in the VPC. After you create a subnet, you can't change its CIDR block.

The allowed size for an IPv4 subnet is between a /28 netmask (16 IP addresses) and a /16 netmask (65,536 IP addresses). Amazon Web Services reserves both the first four and the last IPv4 address in each subnet's CIDR block. They're not available for your use.

If you've associated an IPv6 CIDR block with your VPC, you can associate an IPv6 CIDR block with a subnet when you create it. The allowed block size for an IPv6 subnet is a /64 netmask.

If you add more than one subnet to a VPC, they're set up in a star topology with a logical router in the middle.

When you stop an instance in a subnet, it retains its private IPv4 address. It's therefore possible to have a subnet with no running instances (they're all stopped), but no remaining IP addresses available.

For more information, see Subnets in the Amazon VPC User Guide.

", + "CreateSubnet": "

Creates a subnet in the specified VPC. For an IPv4 only subnet, specify an IPv4 CIDR block. If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead. For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both an IPv4 CIDR block and an IPv6 CIDR block.

A subnet CIDR block must not overlap the CIDR block of an existing subnet in the VPC. After you create a subnet, you can't change its CIDR block.

The allowed size for an IPv4 subnet is between a /28 netmask (16 IP addresses) and a /16 netmask (65,536 IP addresses). Amazon Web Services reserves both the first four and the last IPv4 address in each subnet's CIDR block. They're not available for your use.

If you've associated an IPv6 CIDR block with your VPC, you can associate an IPv6 CIDR block with a subnet when you create it.

If you add more than one subnet to a VPC, they're set up in a star topology with a logical router in the middle.

When you stop an instance in a subnet, it retains its private IPv4 address. It's therefore possible to have a subnet with no running instances (they're all stopped), but no remaining IP addresses available.

For more information, see Subnets in the Amazon VPC User Guide.

", "CreateSubnetCidrReservation": "

Creates a subnet CIDR reservation. For more information, see Subnet CIDR reservations in the Amazon Virtual Private Cloud User Guide and Assign prefixes to network interfaces in the Amazon Elastic Compute Cloud User Guide.

", "CreateTags": "

Adds or overwrites only the specified tags for the specified Amazon EC2 resource or resources. When you specify an existing tag key, the value is overwritten with the new value. Each resource can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide. For more information about creating IAM policies that control users' access to resources based on tags, see Supported resource-level permissions for Amazon EC2 API actions in the Amazon Elastic Compute Cloud User Guide.

", "CreateTrafficMirrorFilter": "

Creates a Traffic Mirror filter.

A Traffic Mirror filter is a set of rules that defines the traffic to mirror.

By default, no traffic is mirrored. To mirror traffic, use CreateTrafficMirrorFilterRule to add Traffic Mirror rules to the filter. The rules you add define what traffic gets mirrored. You can also use ModifyTrafficMirrorFilterNetworkServices to mirror supported network services.

", @@ -130,7 +131,7 @@ "CreateVerifiedAccessInstance": "

An Amazon Web Services Verified Access instance is a regional entity that evaluates application requests and grants access only when your security requirements are met.

", "CreateVerifiedAccessTrustProvider": "

A trust provider is a third-party entity that creates, maintains, and manages identity information for users and devices. When an application request is made, the identity information sent by the trust provider is evaluated by Verified Access before allowing or denying the application request.

", "CreateVolume": "

Creates an EBS volume that can be attached to an instance in the same Availability Zone.

You can create a new empty volume or restore a volume from an EBS snapshot. Any Amazon Web Services Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

You can tag your volumes during creation. For more information, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Create an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.

", - "CreateVpc": "

Creates a VPC with the specified CIDR blocks. For more information, see IP addressing for your VPCs and subnets in the Amazon VPC User Guide.

You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).

By default, each instance that you launch in the VPC has the default DHCP options, which include only a default DNS server that we provide (AmazonProvidedDNS). For more information, see DHCP option sets in the Amazon VPC User Guide.

You can specify the instance tenancy value for the VPC when you create it. You can't change this value for the VPC after you create it. For more information, see Dedicated Instances in the Amazon EC2 User Guide.

", + "CreateVpc": "

Creates a VPC with the specified CIDR blocks. For more information, see IP addressing for your VPCs and subnets in the Amazon VPC User Guide.

You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).

By default, each instance that you launch in the VPC has the default DHCP options, which include only a default DNS server that we provide (AmazonProvidedDNS). For more information, see DHCP option sets in the Amazon VPC User Guide.

You can specify the instance tenancy value for the VPC when you create it. You can't change this value for the VPC after you create it. For more information, see Dedicated Instances in the Amazon EC2 User Guide.

", "CreateVpcEndpoint": "

Creates a VPC endpoint. A VPC endpoint provides a private connection between the specified VPC and the specified endpoint service. You can use an endpoint service provided by Amazon Web Services, an Amazon Web Services Marketplace Partner, or another Amazon Web Services account. For more information, see the Amazon Web Services PrivateLink User Guide.

", "CreateVpcEndpointConnectionNotification": "

Creates a connection notification for a specified VPC endpoint or VPC endpoint service. A connection notification notifies you of specific endpoint events. You must create an SNS topic to receive notifications. For more information, see Create a Topic in the Amazon Simple Notification Service Developer Guide.

You can create a connection notification for interface endpoints only.

", "CreateVpcEndpointServiceConfiguration": "

Creates a VPC endpoint service to which service consumers (Amazon Web Services accounts, users, and IAM roles) can connect.

Before you create an endpoint service, you must create one of the following for your service:

If you set the private DNS name, you must prove that you own the private DNS domain name.

For more information, see the Amazon Web Services PrivateLink Guide.

", @@ -213,6 +214,7 @@ "DeleteVpnConnectionRoute": "

Deletes the specified static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

", "DeleteVpnGateway": "

Deletes the specified virtual private gateway. You must first detach the virtual private gateway from the VPC. Note that you don't need to delete the virtual private gateway if you plan to delete and recreate the VPN connection between your VPC and your network.

", "DeprovisionByoipCidr": "

Releases the specified address range that you provisioned for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP) and deletes the corresponding address pool.

Before you can release an address range, you must stop advertising it using WithdrawByoipCidr and you must not have any IP addresses allocated from its address range.

", + "DeprovisionIpamByoasn": "

Deprovisions your Autonomous System Number (ASN) from your Amazon Web Services account. This action can only be called after any BYOIP CIDR associations are removed from your Amazon Web Services account with DisassociateIpamByoasn. For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

", "DeprovisionIpamPoolCidr": "

Deprovision a CIDR provisioned from an IPAM pool. If you deprovision a CIDR from a pool that has a source pool, the CIDR is recycled back into the source pool. For more information, see Deprovision pool CIDRs in the Amazon VPC IPAM User Guide.

", "DeprovisionPublicIpv4PoolCidr": "

Deprovision a CIDR from a public IPv4 pool.

", "DeregisterImage": "

Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new instances.

If you deregister an AMI that matches a Recycle Bin retention rule, the AMI is retained in the Recycle Bin for the specified retention period. For more information, see Recycle Bin in the Amazon EC2 User Guide.

When you deregister an AMI, it doesn't affect any instances that you've already launched from the AMI. You'll continue to incur usage costs for those instances until you terminate them.

When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was created for the root volume of the instance during the AMI creation process. When you deregister an instance store-backed AMI, it doesn't affect the files that you uploaded to Amazon S3 when you created the AMI.

", @@ -275,6 +277,7 @@ "DescribeInstanceTypes": "

Describes the details of the instance types that are offered in a location. The results can be filtered by the attributes of the instance types.

", "DescribeInstances": "

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

", "DescribeInternetGateways": "

Describes one or more of your internet gateways.

", + "DescribeIpamByoasn": "

Describes your Autonomous System Numbers (ASNs), their provisioning statuses, and the BYOIP CIDRs with which they are associated. For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

", "DescribeIpamPools": "

Get information about your IPAM pools.

", "DescribeIpamResourceDiscoveries": "

Describes IPAM resource discoveries. A resource discovery is an IPAM component that enables IPAM to manage and monitor resources that belong to the owning account.

", "DescribeIpamResourceDiscoveryAssociations": "

Describes resource discovery association with an Amazon VPC IPAM. An associated resource discovery is a resource discovery that has been associated with an IPAM..

", @@ -344,7 +347,7 @@ "DescribeTransitGatewayRouteTables": "

Describes one or more transit gateway route tables. By default, all transit gateway route tables are described. Alternatively, you can filter the results.

", "DescribeTransitGatewayVpcAttachments": "

Describes one or more VPC attachments. By default, all VPC attachments are described. Alternatively, you can filter the results.

", "DescribeTransitGateways": "

Describes one or more transit gateways. By default, all transit gateways are described. Alternatively, you can filter the results.

", - "DescribeTrunkInterfaceAssociations": "

This API action is currently in limited preview only. If you are interested in using this feature, contact your account manager.

Describes one or more network interface trunk associations.

", + "DescribeTrunkInterfaceAssociations": "

Describes one or more network interface trunk associations.

", "DescribeVerifiedAccessEndpoints": "

Describes the specified Amazon Web Services Verified Access endpoints.

", "DescribeVerifiedAccessGroups": "

Describes the specified Verified Access groups.

", "DescribeVerifiedAccessInstanceLoggingConfigurations": "

Describes the specified Amazon Web Services Verified Access instances.

", @@ -393,6 +396,7 @@ "DisassociateEnclaveCertificateIamRole": "

Disassociates an IAM role from an Certificate Manager (ACM) certificate. Disassociating an IAM role from an ACM certificate removes the Amazon S3 object that contains the certificate, certificate chain, and encrypted private key from the Amazon S3 bucket. It also revokes the IAM role's permission to use the KMS key used to encrypt the private key. This effectively revokes the role's permission to use the certificate.

", "DisassociateIamInstanceProfile": "

Disassociates an IAM instance profile from a running or stopped instance.

Use DescribeIamInstanceProfileAssociations to get the association ID.

", "DisassociateInstanceEventWindow": "

Disassociates one or more targets from an event window.

For more information, see Define event windows for scheduled events in the Amazon EC2 User Guide.

", + "DisassociateIpamByoasn": "

Remove the association between your Autonomous System Number (ASN) and your BYOIP CIDR. You may want to use this action to disassociate an ASN from a CIDR or if you want to swap ASNs. For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

", "DisassociateIpamResourceDiscovery": "

Disassociates a resource discovery from an Amazon VPC IPAM. A resource discovery is an IPAM component that enables IPAM to manage and monitor resources that belong to the owning account.

", "DisassociateNatGatewayAddress": "

Disassociates secondary Elastic IP addresses (EIPs) from a public NAT gateway. You cannot disassociate your primary EIP. For more information, see Edit secondary IP address associations in the Amazon VPC User Guide.

While disassociating is in progress, you cannot associate/disassociate additional EIPs while the connections are being drained. You are, however, allowed to delete the NAT gateway.

An EIP is released only at the end of MaxDrainDurationSeconds. It stays associated and supports the existing connections but does not support any new connections (new connections are distributed across the remaining associated EIPs). As the existing connections drain out, the EIPs (and the corresponding private IP addresses mapped to them) are released.

", "DisassociateRouteTable": "

Disassociates a subnet or gateway from a route table.

After you perform this action, the subnet no longer uses the routes in the route table. Instead, it uses the routes in the VPC's main route table. For more information about route tables, see Route tables in the Amazon VPC User Guide.

", @@ -400,7 +404,7 @@ "DisassociateTransitGatewayMulticastDomain": "

Disassociates the specified subnets from the transit gateway multicast domain.

", "DisassociateTransitGatewayPolicyTable": "

Removes the association between an an attachment and a policy table.

", "DisassociateTransitGatewayRouteTable": "

Disassociates a resource attachment from a transit gateway route table.

", - "DisassociateTrunkInterface": "

This API action is currently in limited preview only. If you are interested in using this feature, contact your account manager.

Removes an association between a branch network interface with a trunk network interface.

", + "DisassociateTrunkInterface": "

Removes an association between a branch network interface with a trunk network interface.

", "DisassociateVpcCidrBlock": "

Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you must specify its association ID. You can get the association ID by using DescribeVpcs. You must detach or delete all gateways and resources that are associated with the CIDR block before you can disassociate it.

You cannot disassociate the CIDR block with which you originally created the VPC (the primary CIDR block).

", "EnableAddressTransfer": "

Enables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

", "EnableAwsNetworkPerformanceMetricSubscription": "

Enables Infrastructure Performance subscriptions.

", @@ -441,6 +445,7 @@ "GetInstanceUefiData": "

A binary representation of the UEFI variable store. Only non-volatile variables are stored. This is a base64 encoded and zlib compressed binary value that must be properly encoded.

When you use register-image to create an AMI, you can create an exact copy of your variable store by passing the UEFI data in the UefiData parameter. You can modify the UEFI data by using the python-uefivars tool on GitHub. You can use the tool to convert the UEFI data into a human-readable format (JSON), which you can inspect and modify, and then convert back into the binary format to use with register-image.

For more information, see UEFI Secure Boot in the Amazon EC2 User Guide.

", "GetIpamAddressHistory": "

Retrieve historical information about a CIDR within an IPAM scope. For more information, see View the history of IP addresses in the Amazon VPC IPAM User Guide.

", "GetIpamDiscoveredAccounts": "

Gets IPAM discovered accounts. A discovered account is an Amazon Web Services account that is monitored under a resource discovery. If you have integrated IPAM with Amazon Web Services Organizations, all accounts in the organization are discovered accounts. Only the IPAM account can get all discovered accounts in the organization.

", + "GetIpamDiscoveredPublicAddresses": "

Gets the public IP addresses that have been discovered by IPAM.

", "GetIpamDiscoveredResourceCidrs": "

Returns the resource CIDRs that are monitored as part of a resource discovery. A discovered resource is a resource CIDR monitored under a resource discovery. The following resources can be discovered: VPCs, Public IPv4 pools, VPC subnets, and Elastic IP addresses.

", "GetIpamPoolAllocations": "

Get a list of all the CIDR allocations in an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations.

If you use this action after AllocateIpamPoolCidr or ReleaseIpamPoolAllocation, note that all EC2 API actions follow an eventual consistency model.

", "GetIpamPoolCidrs": "

Get the CIDRs provisioned to an IPAM pool.

", @@ -546,6 +551,7 @@ "MoveAddressToVpc": "

This action is deprecated.

Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC platform. The Elastic IP address must be allocated to your account for more than 24 hours, and it must not be associated with an instance. After the Elastic IP address is moved, it is no longer available for use in the EC2-Classic platform, unless you move it back using the RestoreAddressToClassic request. You cannot move an Elastic IP address that was originally allocated for use in the EC2-VPC platform to the EC2-Classic platform.

", "MoveByoipCidrToIpam": "

Move a BYOIPv4 CIDR to IPAM from a public IPv4 pool.

If you already have a BYOIPv4 CIDR with Amazon Web Services, you can move the CIDR to IPAM from a public IPv4 pool. You cannot move an IPv6 CIDR to IPAM. If you are bringing a new IP address to Amazon Web Services for the first time, complete the steps in Tutorial: BYOIP address CIDRs to IPAM.

", "ProvisionByoipCidr": "

Provisions an IPv4 or IPv6 address range for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP) and creates a corresponding address pool. After the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.

Amazon Web Services verifies that you own the address range and are authorized to advertise it. You must ensure that the address range is registered to you and that you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise the address range. For more information, see Bring your own IP addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

Provisioning an address range is an asynchronous operation, so the call returns immediately, but the address range is not ready to use until its status changes from pending-provision to provisioned. To monitor the status of an address range, use DescribeByoipCidrs. To allocate an Elastic IP address from your IPv4 address pool, use AllocateAddress with either the specific address from the address pool or the ID of the address pool.

", + "ProvisionIpamByoasn": "

Provisions your Autonomous System Number (ASN) for use in your Amazon Web Services account. This action requires authorization context for Amazon to bring the ASN to an Amazon Web Services account. For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

", "ProvisionIpamPoolCidr": "

Provision a CIDR to an IPAM pool. You can use this action to provision new CIDRs to a top-level pool or to transfer a CIDR from a top-level pool to a pool within it.

For more information, see Provision CIDRs to pools in the Amazon VPC IPAM User Guide.

", "ProvisionPublicIpv4PoolCidr": "

Provision a CIDR to a public IPv4 pool.

For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

", "PurchaseCapacityBlock": "

Purchase the Capacity Block for use with your account. With Capacity Blocks you ensure GPU capacity is available for machine learning (ML) workloads. You must specify the ID of the Capacity Block offering you are purchasing.

", @@ -1257,6 +1263,38 @@ "StartNetworkInsightsAnalysisRequest$FilterInArns": "

The Amazon Resource Names (ARN) of the resources that the path must traverse.

" } }, + "AsnAssociation": { + "base": "

An Autonomous System Number (ASN) and BYOIP CIDR association.

", + "refs": { + "AsnAssociationSet$member": null, + "AssociateIpamByoasnResult$AsnAssociation": "

The ASN and BYOIP CIDR association.

", + "DisassociateIpamByoasnResult$AsnAssociation": "

An ASN and BYOIP CIDR association.

" + } + }, + "AsnAssociationSet": { + "base": null, + "refs": { + "ByoipCidr$AsnAssociations": "

The BYOIP CIDR associations with ASNs.

" + } + }, + "AsnAssociationState": { + "base": null, + "refs": { + "AsnAssociation$State": "

The association's state.

" + } + }, + "AsnAuthorizationContext": { + "base": "

Provides authorization for Amazon to bring an Autonomous System Number (ASN) to a specific Amazon Web Services account using bring your own ASN (BYOASN). For details on the format of the message and signature, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

", + "refs": { + "ProvisionIpamByoasnRequest$AsnAuthorizationContext": "

An ASN authorization context.

" + } + }, + "AsnState": { + "base": null, + "refs": { + "Byoasn$State": "

The provisioning state of the BYOASN.

" + } + }, "AssetId": { "base": null, "refs": { @@ -1367,6 +1405,16 @@ "refs": { } }, + "AssociateIpamByoasnRequest": { + "base": null, + "refs": { + } + }, + "AssociateIpamByoasnResult": { + "base": null, + "refs": { + } + }, "AssociateIpamResourceDiscoveryRequest": { "base": null, "refs": { @@ -1926,6 +1974,7 @@ "AssociateDhcpOptionsRequest$DryRun": "

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.

", "AssociateEnclaveCertificateIamRoleRequest$DryRun": "

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.

", "AssociateInstanceEventWindowRequest$DryRun": "

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.

", + "AssociateIpamByoasnRequest$DryRun": "

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.

", "AssociateIpamResourceDiscoveryRequest$DryRun": "

A check for 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.

", "AssociateNatGatewayAddressRequest$DryRun": "

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.

", "AssociateRouteTableRequest$DryRun": "

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.

", @@ -1933,7 +1982,7 @@ "AssociateTransitGatewayPolicyTableRequest$DryRun": "

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.

", "AssociateTransitGatewayRouteTableRequest$DryRun": "

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.

", "AssociateTrunkInterfaceRequest$DryRun": "

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.

", - "AssociateVpcCidrBlockRequest$AmazonProvidedIpv6CidrBlock": "

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses, or the size of the CIDR block.

", + "AssociateVpcCidrBlockRequest$AmazonProvidedIpv6CidrBlock": "

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses or the size of the CIDR block.

", "AttachClassicLinkVpcRequest$DryRun": "

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.

", "AttachClassicLinkVpcResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", "AttachInternetGatewayRequest$DryRun": "

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.

", @@ -2105,6 +2154,7 @@ "DeleteInstanceEventWindowRequest$ForceDelete": "

Specify true to force delete the event window. Use the force delete parameter if the event window is currently associated with targets.

", "DeleteInternetGatewayRequest$DryRun": "

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.

", "DeleteIpamPoolRequest$DryRun": "

A check for 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.

", + "DeleteIpamPoolRequest$Cascade": "

Enables you to quickly delete an IPAM pool and all resources within that pool, including provisioned CIDRs, allocations, and other pools.

You can only use this option to delete pools in the private scope or pools in the public scope with a source resource. A source resource is a resource used to provision CIDRs to a resource planning pool.

", "DeleteIpamRequest$DryRun": "

A check for 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.

", "DeleteIpamRequest$Cascade": "

Enables you to quickly delete an IPAM, private scopes, pools in private scopes, and any allocations in the pools in private scopes. You cannot delete the IPAM with this option if there is a pool in your public scope. If you use this option, IPAM does the following:

", "DeleteIpamResourceDiscoveryRequest$DryRun": "

A check for 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.

", @@ -2171,6 +2221,7 @@ "DeleteVpnConnectionRequest$DryRun": "

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.

", "DeleteVpnGatewayRequest$DryRun": "

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.

", "DeprovisionByoipCidrRequest$DryRun": "

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.

", + "DeprovisionIpamByoasnRequest$DryRun": "

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.

", "DeprovisionIpamPoolCidrRequest$DryRun": "

A check for 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.

", "DeprovisionPublicIpv4PoolCidrRequest$DryRun": "

A check for 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.

", "DeregisterImageRequest$DryRun": "

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.

", @@ -2232,6 +2283,7 @@ "DescribeInstanceTypesRequest$DryRun": "

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.

", "DescribeInstancesRequest$DryRun": "

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.

", "DescribeInternetGatewaysRequest$DryRun": "

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.

", + "DescribeIpamByoasnRequest$DryRun": "

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.

", "DescribeIpamPoolsRequest$DryRun": "

A check for 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.

", "DescribeIpamResourceDiscoveriesRequest$DryRun": "

A check for 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.

", "DescribeIpamResourceDiscoveryAssociationsRequest$DryRun": "

A check for 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.

", @@ -2364,6 +2416,7 @@ "DisassociateEnclaveCertificateIamRoleRequest$DryRun": "

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.

", "DisassociateEnclaveCertificateIamRoleResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", "DisassociateInstanceEventWindowRequest$DryRun": "

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.

", + "DisassociateIpamByoasnRequest$DryRun": "

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.

", "DisassociateIpamResourceDiscoveryRequest$DryRun": "

A check for 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.

", "DisassociateNatGatewayAddressRequest$DryRun": "

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.

", "DisassociateRouteTableRequest$DryRun": "

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.

", @@ -2440,6 +2493,7 @@ "GetInstanceUefiDataRequest$DryRun": "

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.

", "GetIpamAddressHistoryRequest$DryRun": "

A check for 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.

", "GetIpamDiscoveredAccountsRequest$DryRun": "

A check for 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.

", + "GetIpamDiscoveredPublicAddressesRequest$DryRun": "

A check for 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.

", "GetIpamDiscoveredResourceCidrsRequest$DryRun": "

A check for 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.

", "GetIpamPoolAllocationsRequest$DryRun": "

A check for 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.

", "GetIpamPoolCidrsRequest$DryRun": "

A check for 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.

", @@ -2673,6 +2727,7 @@ "ProvisionByoipCidrRequest$PubliclyAdvertisable": "

(IPv6 only) Indicate whether the address range will be publicly advertised to the internet.

Default: true

", "ProvisionByoipCidrRequest$DryRun": "

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.

", "ProvisionByoipCidrRequest$MultiRegion": "

Reserved.

", + "ProvisionIpamByoasnRequest$DryRun": "

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.

", "ProvisionIpamPoolCidrRequest$DryRun": "

A check for 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.

", "ProvisionPublicIpv4PoolCidrRequest$DryRun": "

A check for 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.

", "PurchaseCapacityBlockRequest$DryRun": "

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.

", @@ -2932,6 +2987,20 @@ "InstanceTypeInfo$BurstablePerformanceSupported": "

Indicates whether the instance type is a burstable performance T instance type. For more information, see Burstable performance instances.

" } }, + "Byoasn": { + "base": "

The Autonomous System Number (ASN) and BYOIP CIDR association.

", + "refs": { + "ByoasnSet$member": null, + "DeprovisionIpamByoasnResult$Byoasn": "

An ASN and BYOIP CIDR association.

", + "ProvisionIpamByoasnResult$Byoasn": "

An ASN and BYOIP CIDR association.

" + } + }, + "ByoasnSet": { + "base": null, + "refs": { + "DescribeIpamByoasnResult$Byoasns": "

ASN and BYOIP CIDR associations.

" + } + }, "ByoipCidr": { "base": "

Information about an address range that is provisioned for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP).

", "refs": { @@ -3811,6 +3880,33 @@ "ConnectionNotification$ConnectionNotificationType": "

The type of notification.

" } }, + "ConnectionTrackingConfiguration": { + "base": "

A security group connection tracking configuration that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

", + "refs": { + "NetworkInterface$ConnectionTrackingConfiguration": "

A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

" + } + }, + "ConnectionTrackingSpecification": { + "base": "

A security group connection tracking specification that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

", + "refs": { + "LaunchTemplateInstanceNetworkInterfaceSpecification$ConnectionTrackingSpecification": "

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

" + } + }, + "ConnectionTrackingSpecificationRequest": { + "base": "

A security group connection tracking specification request that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

", + "refs": { + "CreateNetworkInterfaceRequest$ConnectionTrackingSpecification": "

A connection tracking specification for the network interface.

", + "InstanceNetworkInterfaceSpecification$ConnectionTrackingSpecification": "

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

", + "LaunchTemplateInstanceNetworkInterfaceSpecificationRequest$ConnectionTrackingSpecification": "

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

", + "ModifyNetworkInterfaceAttributeRequest$ConnectionTrackingSpecification": "

A connection tracking specification.

" + } + }, + "ConnectionTrackingSpecificationResponse": { + "base": "

A security group connection tracking specification response that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

", + "refs": { + "InstanceNetworkInterface$ConnectionTrackingConfiguration": "

A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

" + } + }, "ConnectivityType": { "base": null, "refs": { @@ -5843,6 +5939,16 @@ "refs": { } }, + "DeprovisionIpamByoasnRequest": { + "base": null, + "refs": { + } + }, + "DeprovisionIpamByoasnResult": { + "base": null, + "refs": { + } + }, "DeprovisionIpamPoolCidrRequest": { "base": null, "refs": { @@ -6664,6 +6770,22 @@ "refs": { } }, + "DescribeIpamByoasnMaxResults": { + "base": null, + "refs": { + "DescribeIpamByoasnRequest$MaxResults": "

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + } + }, + "DescribeIpamByoasnRequest": { + "base": null, + "refs": { + } + }, + "DescribeIpamByoasnResult": { + "base": null, + "refs": { + } + }, "DescribeIpamPoolsRequest": { "base": null, "refs": { @@ -8133,6 +8255,16 @@ "refs": { } }, + "DisassociateIpamByoasnRequest": { + "base": null, + "refs": { + } + }, + "DisassociateIpamByoasnResult": { + "base": null, + "refs": { + } + }, "DisassociateIpamResourceDiscoveryRequest": { "base": null, "refs": { @@ -9362,6 +9494,7 @@ "ExportTransitGatewayRoutesRequest$Filters": "

One or more filters. The possible values are:

", "GetCoipPoolUsageRequest$Filters": "

One or more filters.

", "GetIpamDiscoveredAccountsRequest$Filters": "

Discovered account filters.

", + "GetIpamDiscoveredPublicAddressesRequest$Filters": "

Filters.

", "GetIpamDiscoveredResourceCidrsRequest$Filters": "

Filters.

", "GetIpamPoolAllocationsRequest$Filters": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

", "GetIpamPoolCidrsRequest$Filters": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

", @@ -9984,6 +10117,16 @@ "refs": { } }, + "GetIpamDiscoveredPublicAddressesRequest": { + "base": null, + "refs": { + } + }, + "GetIpamDiscoveredPublicAddressesResult": { + "base": null, + "refs": { + } + }, "GetIpamDiscoveredResourceCidrsRequest": { "base": null, "refs": { @@ -11877,6 +12020,18 @@ "CapacityReservationFleet$TotalTargetCapacity": "

The total number of capacity units for which the Capacity Reservation Fleet reserves capacity. For more information, see Total target capacity in the Amazon EC2 User Guide.

", "ClientVpnEndpoint$VpnPort": "

The port number for the Client VPN endpoint.

", "ClientVpnEndpoint$SessionTimeoutHours": "

The maximum VPN session duration time in hours.

Valid values: 8 | 10 | 12 | 24

Default value: 24

", + "ConnectionTrackingConfiguration$TcpEstablishedTimeout": "

Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds.

", + "ConnectionTrackingConfiguration$UdpStreamTimeout": "

Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds.

", + "ConnectionTrackingConfiguration$UdpTimeout": "

Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

", + "ConnectionTrackingSpecification$TcpEstablishedTimeout": "

Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds.

", + "ConnectionTrackingSpecification$UdpTimeout": "

Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

", + "ConnectionTrackingSpecification$UdpStreamTimeout": "

Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds.

", + "ConnectionTrackingSpecificationRequest$TcpEstablishedTimeout": "

Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds.

", + "ConnectionTrackingSpecificationRequest$UdpStreamTimeout": "

Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds.

", + "ConnectionTrackingSpecificationRequest$UdpTimeout": "

Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

", + "ConnectionTrackingSpecificationResponse$TcpEstablishedTimeout": "

Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds.

", + "ConnectionTrackingSpecificationResponse$UdpStreamTimeout": "

Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds.

", + "ConnectionTrackingSpecificationResponse$UdpTimeout": "

Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

", "CpuOptions$CoreCount": "

The number of CPU cores for the instance.

", "CpuOptions$ThreadsPerCore": "

The number of threads per CPU core.

", "CpuOptionsRequest$CoreCount": "

The number of CPU cores for the instance.

", @@ -12410,6 +12565,18 @@ "GetIpamDiscoveredAccountsResult$IpamDiscoveredAccounts": "

Discovered accounts.

" } }, + "IpamDiscoveredPublicAddress": { + "base": "

A public IP Address discovered by IPAM.

", + "refs": { + "IpamDiscoveredPublicAddressSet$member": null + } + }, + "IpamDiscoveredPublicAddressSet": { + "base": null, + "refs": { + "GetIpamDiscoveredPublicAddressesResult$IpamDiscoveredPublicAddresses": "

IPAM discovered public addresses.

" + } + }, "IpamDiscoveredResourceCidr": { "base": "

An IPAM discovered resource CIDR. A discovered resource is a resource CIDR monitored under a resource discovery. The following resources can be discovered: VPCs, Public IPv4 pools, VPC subnets, and Elastic IP addresses. The discovered resource CIDR is the IP address range in CIDR notation that is associated with the resource.

", "refs": { @@ -12438,12 +12605,15 @@ "base": null, "refs": { "AssociateIpamResourceDiscoveryRequest$IpamId": "

An IPAM ID.

", + "Byoasn$IpamId": "

An IPAM ID.

", "CreateIpamScopeRequest$IpamId": "

The ID of the IPAM for which you're creating this scope.

", "DeleteIpamRequest$IpamId": "

The ID of the IPAM to delete.

", + "DeprovisionIpamByoasnRequest$IpamId": "

The IPAM ID.

", "Ipam$IpamId": "

The ID of the IPAM.

", "IpamResourceCidr$IpamId": "

The IPAM ID for an IPAM resource.

", "IpamResourceDiscoveryAssociation$IpamId": "

The IPAM ID.

", - "ModifyIpamRequest$IpamId": "

The ID of the IPAM you want to modify.

" + "ModifyIpamRequest$IpamId": "

The ID of the IPAM you want to modify.

", + "ProvisionIpamByoasnRequest$IpamId": "

An IPAM ID.

" } }, "IpamManagementState": { @@ -12461,6 +12631,7 @@ "DescribeIpamScopesRequest$MaxResults": "

The maximum number of results to return in the request.

", "DescribeIpamsRequest$MaxResults": "

The maximum number of results to return in the request.

", "GetIpamDiscoveredAccountsRequest$MaxResults": "

The maximum number of discovered accounts to return in one page of results.

", + "GetIpamDiscoveredPublicAddressesRequest$MaxResults": "

The maximum number of IPAM discovered public addresses to return in one page of results.

", "GetIpamDiscoveredResourceCidrsRequest$MaxResults": "

The maximum number of discovered resource CIDRs to return in one page of results.

", "GetIpamPoolCidrsRequest$MaxResults": "

The maximum number of results to return in the request.

", "GetIpamResourceCidrsRequest$MaxResults": "

The maximum number of results to return in the request.

" @@ -12516,6 +12687,12 @@ "IpamPoolAllocationSet$member": null } }, + "IpamPoolAllocationAllowedCidrs": { + "base": null, + "refs": { + "AllocateIpamPoolCidrRequest$AllowedCidrs": "

Include a particular CIDR range that can be returned by the pool. Allowed CIDRs are only allowed if using netmask length for allocation.

" + } + }, "IpamPoolAllocationDisallowedCidrs": { "base": null, "refs": { @@ -12591,9 +12768,12 @@ "base": null, "refs": { "AllocateIpamPoolCidrRequest$IpamPoolId": "

The ID of the IPAM pool from which you would like to allocate a CIDR.

", + "AssociateSubnetCidrBlockRequest$Ipv6IpamPoolId": "

An IPv6 IPAM pool ID.

", "AssociateVpcCidrBlockRequest$Ipv4IpamPoolId": "

Associate a CIDR allocated from an IPv4 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide.

", "AssociateVpcCidrBlockRequest$Ipv6IpamPoolId": "

Associates a CIDR allocated from an IPv6 IPAM pool to a VPC. For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide.

", "CreateIpamPoolRequest$SourceIpamPoolId": "

The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the CIDR you provision for the pool within the source pool must be available in the source pool's CIDR range.

", + "CreateSubnetRequest$Ipv4IpamPoolId": "

An IPv4 IPAM pool ID for the subnet.

", + "CreateSubnetRequest$Ipv6IpamPoolId": "

An IPv6 IPAM pool ID for the subnet.

", "CreateVpcRequest$Ipv4IpamPoolId": "

The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.

", "CreateVpcRequest$Ipv6IpamPoolId": "

The ID of an IPv6 IPAM pool which will be used to allocate this VPC an IPv6 CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts throughout your Amazon Web Services Organization. For more information, see What is IPAM? in the Amazon VPC IPAM User Guide.

", "DeleteIpamPoolRequest$IpamPoolId": "

The ID of the pool to delete.

", @@ -12624,12 +12804,79 @@ "DescribeIpamPoolsResult$IpamPools": "

Information about the IPAM pools.

" } }, + "IpamPoolSourceResource": { + "base": "

The resource used to provision CIDRs to a resource planning pool.

", + "refs": { + "IpamPool$SourceResource": null + } + }, + "IpamPoolSourceResourceRequest": { + "base": "

The resource used to provision CIDRs to a resource planning pool.

", + "refs": { + "CreateIpamPoolRequest$SourceResource": "

The resource used to provision CIDRs to a resource planning pool.

" + } + }, + "IpamPoolSourceResourceType": { + "base": null, + "refs": { + "IpamPoolSourceResource$ResourceType": "

The source resource type.

", + "IpamPoolSourceResourceRequest$ResourceType": "

The source resource type.

" + } + }, "IpamPoolState": { "base": null, "refs": { "IpamPool$State": "

The state of the IPAM pool.

" } }, + "IpamPublicAddressAssociationStatus": { + "base": null, + "refs": { + "IpamDiscoveredPublicAddress$AssociationStatus": "

The association status.

" + } + }, + "IpamPublicAddressAwsService": { + "base": null, + "refs": { + "IpamDiscoveredPublicAddress$Service": "

The Amazon Web Services service associated with the IP address.

" + } + }, + "IpamPublicAddressSecurityGroup": { + "base": "

The security group that the resource with the public IP address is in.

", + "refs": { + "IpamPublicAddressSecurityGroupList$member": null + } + }, + "IpamPublicAddressSecurityGroupList": { + "base": null, + "refs": { + "IpamDiscoveredPublicAddress$SecurityGroups": "

Security groups associated with the resource that the IP address is assigned to.

" + } + }, + "IpamPublicAddressTag": { + "base": "

A tag for a public IP address discovered by IPAM.

", + "refs": { + "IpamPublicAddressTagList$member": null + } + }, + "IpamPublicAddressTagList": { + "base": null, + "refs": { + "IpamPublicAddressTags$EipTags": "

Tags for an Elastic IP address.

" + } + }, + "IpamPublicAddressTags": { + "base": "

Tags for a public IP address discovered by IPAM.

", + "refs": { + "IpamDiscoveredPublicAddress$Tags": "

Tags associated with the IP address.

" + } + }, + "IpamPublicAddressType": { + "base": null, + "refs": { + "IpamDiscoveredPublicAddress$AddressType": "

The IP address type.

" + } + }, "IpamResourceCidr": { "base": "

The CIDR for an IPAM resource.

", "refs": { @@ -12686,8 +12933,10 @@ "AssociateIpamResourceDiscoveryRequest$IpamResourceDiscoveryId": "

A resource discovery ID.

", "DeleteIpamResourceDiscoveryRequest$IpamResourceDiscoveryId": "

The IPAM resource discovery ID.

", "GetIpamDiscoveredAccountsRequest$IpamResourceDiscoveryId": "

A resource discovery ID.

", + "GetIpamDiscoveredPublicAddressesRequest$IpamResourceDiscoveryId": "

An IPAM resource discovery ID.

", "GetIpamDiscoveredResourceCidrsRequest$IpamResourceDiscoveryId": "

A resource discovery ID.

", "Ipam$DefaultResourceDiscoveryId": "

The IPAM's default resource discovery ID.

", + "IpamDiscoveredPublicAddress$IpamResourceDiscoveryId": "

The resource discovery ID.

", "IpamDiscoveredResourceCidr$IpamResourceDiscoveryId": "

The resource discovery ID.

", "IpamResourceDiscovery$IpamResourceDiscoveryId": "

The resource discovery ID.

", "IpamResourceDiscoveryAssociation$IpamResourceDiscoveryId": "

The resource discovery ID.

", @@ -12784,6 +13033,14 @@ "Ipam$State": "

The state of the IPAM.

" } }, + "IpamTier": { + "base": null, + "refs": { + "CreateIpamRequest$Tier": "

IPAM is offered in a Free Tier and an Advanced Tier. For more information about the features available in each tier and the costs associated with the tiers, see Amazon VPC pricing > IPAM tab.

", + "Ipam$Tier": "

IPAM is offered in a Free Tier and an Advanced Tier. For more information about the features available in each tier and the costs associated with the tiers, see Amazon VPC pricing > IPAM tab.

", + "ModifyIpamRequest$Tier": "

IPAM is offered in a Free Tier and an Advanced Tier. For more information about the features available in each tier and the costs associated with the tiers, see Amazon VPC pricing > IPAM tab.

" + } + }, "Ipv4PoolCoipId": { "base": null, "refs": { @@ -14215,6 +14472,7 @@ "GetAwsNetworkPerformanceDataRequest$EndTime": "

The ending time for the performance data request. The end time must be formatted as yyyy-mm-ddThh:mm:ss. For example, 2022-06-12T12:00:00.000Z.

", "GetIpamAddressHistoryRequest$StartTime": "

The start of the time period for which you are looking for history. If you omit this option, it will default to the value of EndTime.

", "GetIpamAddressHistoryRequest$EndTime": "

The end of the time period for which you are looking for history. If you omit this option, it will default to the current time.

", + "GetIpamDiscoveredPublicAddressesResult$OldestSampleTime": "

The oldest successful resource discovery time.

", "ImageRecycleBinInfo$RecycleBinEnterTime": "

The date and time when the AMI entered the Recycle Bin.

", "ImageRecycleBinInfo$RecycleBinExitTime": "

The date and time when the AMI is to be permanently deleted from the Recycle Bin.

", "Instance$UsageOperationUpdateTime": "

The time that the usage operation was last updated.

", @@ -14222,6 +14480,7 @@ "IpamAddressHistoryRecord$SampledEndTime": "

Sampled end time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the end time may have occurred before this specific time.

", "IpamDiscoveredAccount$LastAttemptedDiscoveryTime": "

The last attempted resource discovery time.

", "IpamDiscoveredAccount$LastSuccessfulDiscoveryTime": "

The last successful resource discovery time.

", + "IpamDiscoveredPublicAddress$SampleTime": "

The last successful resource discovery time.

", "IpamDiscoveredResourceCidr$SampleTime": "

The last successful resource discovery time.

", "KeyPairInfo$CreateTime": "

If you used Amazon EC2 to create the key pair, this is the date and time when the key was created, in ISO 8601 date-time format, in the UTC time zone.

If you imported an existing key pair to Amazon EC2, this is the date and time the key was imported, in ISO 8601 date-time format, in the UTC time zone.

", "LockSnapshotRequest$ExpirationDate": "

The date and time at which the snapshot lock is to automatically expire, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

You must specify either this parameter or LockDuration, but not both.

", @@ -15046,8 +15305,11 @@ "NetmaskLength": { "base": null, "refs": { + "AssociateSubnetCidrBlockRequest$Ipv6NetmaskLength": "

An IPv6 netmask length.

", "AssociateVpcCidrBlockRequest$Ipv4NetmaskLength": "

The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

", "AssociateVpcCidrBlockRequest$Ipv6NetmaskLength": "

The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

", + "CreateSubnetRequest$Ipv4NetmaskLength": "

An IPv4 netmask length for the subnet.

", + "CreateSubnetRequest$Ipv6NetmaskLength": "

An IPv6 netmask length for the subnet.

", "CreateVpcRequest$Ipv4NetmaskLength": "

The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

", "CreateVpcRequest$Ipv6NetmaskLength": "

The netmask length of the IPv6 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

" } @@ -15537,6 +15799,7 @@ "DescribeInstanceTypeOfferingsResult$NextToken": "

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

", "DescribeInstanceTypesRequest$NextToken": "

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

", "DescribeInstanceTypesResult$NextToken": "

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

", + "DescribeIpamByoasnRequest$NextToken": "

The token for the next page of results.

", "DescribeIpamPoolsRequest$NextToken": "

The token for the next page of results.

", "DescribeIpamPoolsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "DescribeIpamResourceDiscoveriesRequest$NextToken": "

Specify the pagination token from a previous request to retrieve the next page of results.

", @@ -15575,6 +15838,8 @@ "GetIpamAddressHistoryResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "GetIpamDiscoveredAccountsRequest$NextToken": "

Specify the pagination token from a previous request to retrieve the next page of results.

", "GetIpamDiscoveredAccountsResult$NextToken": "

Specify the pagination token from a previous request to retrieve the next page of results.

", + "GetIpamDiscoveredPublicAddressesRequest$NextToken": "

The token for the next page of results.

", + "GetIpamDiscoveredPublicAddressesResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "GetIpamDiscoveredResourceCidrsRequest$NextToken": "

Specify the pagination token from a previous request to retrieve the next page of results.

", "GetIpamDiscoveredResourceCidrsResult$NextToken": "

Specify the pagination token from a previous request to retrieve the next page of results.

", "GetIpamPoolAllocationsRequest$NextToken": "

The token for the next page of results.

", @@ -16120,7 +16385,7 @@ "Image$Platform": "

This value is set to windows for Windows AMIs; otherwise, it is blank.

", "ImportInstanceRequest$Platform": "

The instance operating system.

", "ImportInstanceTaskDetails$Platform": "

The instance operating system.

", - "Instance$Platform": "

The value is Windows for Windows instances; otherwise blank.

" + "Instance$Platform": "

The platform. This value is windows for Windows instances; otherwise, it is empty.

" } }, "PoolCidrBlock": { @@ -16518,6 +16783,16 @@ "refs": { } }, + "ProvisionIpamByoasnRequest": { + "base": null, + "refs": { + } + }, + "ProvisionIpamByoasnResult": { + "base": null, + "refs": { + } + }, "ProvisionIpamPoolCidrRequest": { "base": null, "refs": { @@ -18789,6 +19064,7 @@ "AddressTransfer$AllocationId": "

The allocation ID of an Elastic IP address.

", "AddressTransfer$TransferAccountId": "

The ID of the account that you want to transfer the Elastic IP address to.

", "AdvertiseByoipCidrRequest$Cidr": "

The address range, in CIDR notation. This must be the exact range that you provisioned. You can't advertise only a portion of the provisioned range.

", + "AdvertiseByoipCidrRequest$Asn": "

The public 2-byte or 4-byte ASN that you want to advertise.

", "AllocateAddressRequest$NetworkBorderGroup": "

A unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.

Use DescribeAvailabilityZones to view the network border groups.

", "AllocateAddressRequest$CustomerOwnedIpv4Pool": "

The ID of a customer-owned address pool. Use this parameter to let Amazon EC2 select an address from the address pool. Alternatively, specify a specific address from the address pool.

", "AllocateAddressResult$PublicIp": "

The Elastic IP address.

", @@ -18837,6 +19113,11 @@ "AnalysisSecurityGroupRule$SecurityGroupId": "

The security group ID.

", "AnalysisSecurityGroupRule$PrefixListId": "

The prefix list ID.

", "AnalysisSecurityGroupRule$Protocol": "

The protocol name.

", + "AsnAssociation$Asn": "

The association's ASN.

", + "AsnAssociation$Cidr": "

The association's CIDR.

", + "AsnAssociation$StatusMessage": "

The association's status message.

", + "AsnAuthorizationContext$Message": "

The authorization context's message.

", + "AsnAuthorizationContext$Signature": "

The authorization context's signature.

", "AssignIpv6AddressesResult$NetworkInterfaceId": "

The ID of the network interface.

", "AssignPrivateIpAddressesResult$NetworkInterfaceId": "

The ID of the network interface.

", "AssignedPrivateIpAddress$PrivateIpAddress": "

The private IP address assigned to the network interface.

", @@ -18847,9 +19128,11 @@ "AssociateEnclaveCertificateIamRoleResult$CertificateS3BucketName": "

The name of the Amazon S3 bucket to which the certificate was uploaded.

", "AssociateEnclaveCertificateIamRoleResult$CertificateS3ObjectKey": "

The Amazon S3 object key where the certificate, certificate chain, and encrypted private key bundle are stored. The object key is formatted as follows: role_arn/certificate_arn.

", "AssociateEnclaveCertificateIamRoleResult$EncryptionKmsKeyId": "

The ID of the KMS key used to encrypt the private key of the certificate.

", + "AssociateIpamByoasnRequest$Asn": "

A public 2-byte or 4-byte ASN.

", + "AssociateIpamByoasnRequest$Cidr": "

The BYOIP CIDR you want to associate with an ASN.

", "AssociateIpamResourceDiscoveryRequest$ClientToken": "

A client token.

", "AssociateRouteTableResult$AssociationId": "

The route table association ID. This ID is required for disassociating the route table.

", - "AssociateSubnetCidrBlockRequest$Ipv6CidrBlock": "

The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.

", + "AssociateSubnetCidrBlockRequest$Ipv6CidrBlock": "

The IPv6 CIDR block for your subnet.

", "AssociateSubnetCidrBlockResult$SubnetId": "

The ID of the subnet.

", "AssociateTrunkInterfaceRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", "AssociateTrunkInterfaceResult$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", @@ -18902,6 +19185,8 @@ "BundleTask$Progress": "

The level of task completion, as a percent (for example, 20%).

", "BundleTaskError$Code": "

The error code.

", "BundleTaskError$Message": "

The error message.

", + "Byoasn$Asn": "

A public 2-byte or 4-byte ASN.

", + "Byoasn$StatusMessage": "

The status message.

", "ByoipCidr$Cidr": "

The address range, in CIDR notation.

", "ByoipCidr$Description": "

The description of the address range.

", "ByoipCidr$StatusMessage": "

Upon success, contains the ID of the address pool. Otherwise, contains an error message.

", @@ -19121,7 +19406,7 @@ "CreateSubnetRequest$AvailabilityZone": "

The Availability Zone or Local Zone for the subnet.

Default: Amazon Web Services selects one for you. If you create more than one subnet in your VPC, we do not necessarily select a different zone for each subnet.

To create a subnet in a Local Zone, set this value to the Local Zone ID, for example us-west-2-lax-1a. For information about the Regions that support Local Zones, see Local Zones locations.

To create a subnet in an Outpost, set this value to the Availability Zone for the Outpost and specify the Outpost ARN.

", "CreateSubnetRequest$AvailabilityZoneId": "

The AZ ID or the Local Zone ID of the subnet.

", "CreateSubnetRequest$CidrBlock": "

The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

This parameter is not supported for an IPv6 only subnet.

", - "CreateSubnetRequest$Ipv6CidrBlock": "

The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a /64 prefix length.

This parameter is required for an IPv6 only subnet.

", + "CreateSubnetRequest$Ipv6CidrBlock": "

The IPv6 network range for the subnet, in CIDR notation. This parameter is required for an IPv6 only subnet.

", "CreateSubnetRequest$OutpostArn": "

The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost ARN, you must also specify the Availability Zone of the Outpost subnet.

", "CreateTrafficMirrorFilterRequest$Description": "

The description of the Traffic Mirror filter.

", "CreateTrafficMirrorFilterRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", @@ -19226,6 +19511,7 @@ "DeleteVerifiedAccessTrustProviderRequest$ClientToken": "

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

", "DeleteVpnConnectionRouteRequest$DestinationCidrBlock": "

The CIDR block associated with the local subnet of the customer network.

", "DeprovisionByoipCidrRequest$Cidr": "

The address range, in CIDR notation. The prefix must be the same prefix that you specified when you provisioned the address range.

", + "DeprovisionIpamByoasnRequest$Asn": "

An ASN.

", "DeprovisionIpamPoolCidrRequest$Cidr": "

The CIDR which you want to deprovision from the pool.

", "DeprovisionPublicIpv4PoolCidrRequest$Cidr": "

The CIDR you want to deprovision from the pool. Enter the CIDR you want to deprovision with a netmask of /32. You must rerun this command for each IP address in the CIDR range. If your CIDR is a /24, you will have to run this command to deprovision each of the 256 IP addresses in the /24 CIDR.

", "DeprovisionedAddressSet$member": null, @@ -19299,6 +19585,7 @@ "DescribeInstancesResult$NextToken": "

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

", "DescribeInternetGatewaysRequest$NextToken": "

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

", "DescribeInternetGatewaysResult$NextToken": "

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

", + "DescribeIpamByoasnResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "DescribeLaunchTemplateVersionsRequest$MinVersion": "

The version number after which to describe launch template versions.

", "DescribeLaunchTemplateVersionsRequest$MaxVersion": "

The version number up to which to describe launch template versions.

", "DescribeLaunchTemplateVersionsRequest$NextToken": "

The token to request the next page of results.

", @@ -19454,6 +19741,8 @@ "DisableIpamOrganizationAdminAccountRequest$DelegatedAdminAccountId": "

The Organizations member account ID that you want to disable as IPAM account.

", "DisassociateClientVpnTargetNetworkRequest$AssociationId": "

The ID of the target network association.

", "DisassociateClientVpnTargetNetworkResult$AssociationId": "

The ID of the target network association.

", + "DisassociateIpamByoasnRequest$Asn": "

A public 2-byte or 4-byte ASN.

", + "DisassociateIpamByoasnRequest$Cidr": "

A BYOIP CIDR.

", "DisassociateSubnetCidrBlockResult$SubnetId": "

The ID of the subnet.

", "DisassociateTrunkInterfaceRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", "DisassociateTrunkInterfaceResult$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", @@ -19616,6 +19905,7 @@ "GetIpamAddressHistoryRequest$Cidr": "

The CIDR you want the history of. The CIDR can be an IPv4 or IPv6 IP address range. If you enter a /16 IPv4 CIDR, you will get records that match it exactly. You will not get records for any subnets within the /16 CIDR.

", "GetIpamAddressHistoryRequest$VpcId": "

The ID of the VPC you want your history records filtered by.

", "GetIpamDiscoveredAccountsRequest$DiscoveryRegion": "

The Amazon Web Services Region that the account information is returned from.

", + "GetIpamDiscoveredPublicAddressesRequest$AddressRegion": "

The Amazon Web Services Region for the IP address.

", "GetIpamDiscoveredResourceCidrsRequest$ResourceRegion": "

A resource Region.

", "GetIpamResourceCidrsRequest$ResourceId": "

The ID of the resource.

", "GetIpamResourceCidrsRequest$ResourceOwner": "

The ID of the Amazon Web Services account that owns the resource.

", @@ -19845,6 +20135,7 @@ "Ipam$OwnerId": "

The Amazon Web Services account ID of the owner of the IPAM.

", "Ipam$IpamRegion": "

The Amazon Web Services Region of the IPAM.

", "Ipam$Description": "

The description for the IPAM.

", + "Ipam$StateMessage": "

The state message.

", "IpamAddressHistoryRecord$ResourceOwnerId": "

The ID of the resource owner.

", "IpamAddressHistoryRecord$ResourceRegion": "

The Amazon Web Services Region of the resource.

", "IpamAddressHistoryRecord$ResourceId": "

The ID of the resource.

", @@ -19855,6 +20146,18 @@ "IpamCidrAuthorizationContext$Signature": "

The signed authorization message for the prefix and account.

", "IpamDiscoveredAccount$AccountId": "

The account ID.

", "IpamDiscoveredAccount$DiscoveryRegion": "

The Amazon Web Services Region that the account information is returned from. An account can be discovered in multiple regions and will have a separate discovered account for each Region.

", + "IpamDiscoveredPublicAddress$AddressRegion": "

The Region of the resource the IP address is assigned to.

", + "IpamDiscoveredPublicAddress$Address": "

The IP address.

", + "IpamDiscoveredPublicAddress$AddressOwnerId": "

The ID of the owner of the resource the IP address is assigned to.

", + "IpamDiscoveredPublicAddress$AddressAllocationId": "

The allocation ID of the resource the IP address is assigned to.

", + "IpamDiscoveredPublicAddress$ServiceResource": "

The resource ARN or ID.

", + "IpamDiscoveredPublicAddress$VpcId": "

The ID of the VPC that the resource with the assigned IP address is in.

", + "IpamDiscoveredPublicAddress$SubnetId": "

The ID of the subnet that the resource with the assigned IP address is in.

", + "IpamDiscoveredPublicAddress$PublicIpv4PoolId": "

The ID of the public IPv4 pool that the resource with the assigned IP address is from.

", + "IpamDiscoveredPublicAddress$NetworkInterfaceId": "

The network interface ID of the resource with the assigned IP address.

", + "IpamDiscoveredPublicAddress$NetworkInterfaceDescription": "

The description of the network interface that IP address is assigned to.

", + "IpamDiscoveredPublicAddress$InstanceId": "

The instance ID of the instance the assigned IP address is assigned to.

", + "IpamDiscoveredPublicAddress$NetworkBorderGroup": "

The network border group that the resource that the IP address is assigned to is in.

", "IpamDiscoveredResourceCidr$ResourceRegion": "

The resource Region.

", "IpamDiscoveredResourceCidr$ResourceId": "

The resource ID.

", "IpamDiscoveredResourceCidr$ResourceOwnerId": "

The resource owner ID.

", @@ -19865,16 +20168,27 @@ "IpamPool$OwnerId": "

The Amazon Web Services account ID of the owner of the IPAM pool.

", "IpamPool$IpamRegion": "

The Amazon Web Services Region of the IPAM pool.

", "IpamPool$Locale": "

The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region where you want to make an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

", - "IpamPool$StateMessage": "

A message related to the failed creation of an IPAM pool.

", + "IpamPool$StateMessage": "

The state message.

", "IpamPool$Description": "

The description of the IPAM pool.

", "IpamPoolAllocation$Cidr": "

The CIDR for the allocation. A CIDR is a representation of an IP address and its associated network mask (or netmask) and refers to a range of IP addresses. An IPv4 CIDR example is 10.24.34.0/23. An IPv6 CIDR example is 2001:DB8::/32.

", "IpamPoolAllocation$Description": "

A description of the pool allocation.

", "IpamPoolAllocation$ResourceId": "

The ID of the resource.

", "IpamPoolAllocation$ResourceRegion": "

The Amazon Web Services Region of the resource.

", "IpamPoolAllocation$ResourceOwner": "

The owner of the resource.

", + "IpamPoolAllocationAllowedCidrs$member": null, "IpamPoolAllocationDisallowedCidrs$member": null, "IpamPoolCidr$Cidr": "

The CIDR provisioned to the IPAM pool. A CIDR is a representation of an IP address and its associated network mask (or netmask) and refers to a range of IP addresses. An IPv4 CIDR example is 10.24.34.0/23. An IPv6 CIDR example is 2001:DB8::/32.

", "IpamPoolCidrFailureReason$Message": "

A message related to why an IPAM pool CIDR failed to be provisioned.

", + "IpamPoolSourceResource$ResourceId": "

The source resource ID.

", + "IpamPoolSourceResource$ResourceRegion": "

The source resource Region.

", + "IpamPoolSourceResource$ResourceOwner": "

The source resource owner.

", + "IpamPoolSourceResourceRequest$ResourceId": "

The source resource ID.

", + "IpamPoolSourceResourceRequest$ResourceRegion": "

The source resource Region.

", + "IpamPoolSourceResourceRequest$ResourceOwner": "

The source resource owner.

", + "IpamPublicAddressSecurityGroup$GroupName": "

The security group's name.

", + "IpamPublicAddressSecurityGroup$GroupId": "

The security group's ID.

", + "IpamPublicAddressTag$Key": "

The tag's key.

", + "IpamPublicAddressTag$Value": "

The tag's value.

", "IpamResourceCidr$ResourceRegion": "

The Amazon Web Services Region for an IPAM resource.

", "IpamResourceCidr$ResourceOwnerId": "

The Amazon Web Services account number of the owner of an IPAM resource.

", "IpamResourceCidr$ResourceId": "

The ID of an IPAM resource.

", @@ -20209,6 +20523,7 @@ "PropagatingVgw$GatewayId": "

The ID of the virtual private gateway.

", "ProvisionByoipCidrRequest$Cidr": "

The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can specify is /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap with another address range that you've brought to this or another Region.

", "ProvisionByoipCidrRequest$Description": "

A description for the address range and the address pool.

", + "ProvisionIpamByoasnRequest$Asn": "

A public 2-byte or 4-byte ASN.

", "ProvisionIpamPoolCidrRequest$Cidr": "

The CIDR you want to assign to the IPAM pool. Either \"NetmaskLength\" or \"Cidr\" is required. This value will be null if you specify \"NetmaskLength\" and will be filled in during the provisioning process.

", "ProvisionIpamPoolCidrRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

", "ProvisionedBandwidth$Provisioned": "

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", @@ -22454,7 +22769,7 @@ } }, "TrunkInterfaceAssociation": { - "base": "

Currently available in limited preview only. If you are interested in using this feature, contact your account manager.

Information about an association between a branch network interface with a trunk network interface.

", + "base": "

Information about an association between a branch network interface with a trunk network interface.

", "refs": { "AssociateTrunkInterfaceResult$InterfaceAssociation": "

Information about the association between the trunk network interface and branch network interface.

", "TrunkInterfaceAssociationList$member": null diff --git a/models/apis/ecr/2015-09-21/api-2.json b/models/apis/ecr/2015-09-21/api-2.json index a88c000c138..8ffe6c4c305 100644 --- a/models/apis/ecr/2015-09-21/api-2.json +++ b/models/apis/ecr/2015-09-21/api-2.json @@ -53,7 +53,9 @@ "errors":[ {"shape":"ServerException"}, {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"} + {"shape":"RepositoryNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnableToGetUpstreamImageException"} ] }, "BatchGetRepositoryScanningConfiguration":{ @@ -105,7 +107,10 @@ {"shape":"ValidationException"}, {"shape":"PullThroughCacheRuleAlreadyExistsException"}, {"shape":"UnsupportedUpstreamRegistryException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"UnableToAccessSecretException"}, + {"shape":"SecretNotFoundException"}, + {"shape":"UnableToDecryptSecretValueException"} ] }, "CreateRepository":{ @@ -320,7 +325,8 @@ {"shape":"InvalidParameterException"}, {"shape":"LayersNotFoundException"}, {"shape":"LayerInaccessibleException"}, - {"shape":"RepositoryNotFoundException"} + {"shape":"RepositoryNotFoundException"}, + {"shape":"UnableToGetUpstreamLayerException"} ] }, "GetLifecyclePolicy":{ @@ -630,6 +636,24 @@ {"shape":"ServerException"} ] }, + "UpdatePullThroughCacheRule":{ + "name":"UpdatePullThroughCacheRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdatePullThroughCacheRuleRequest"}, + "output":{"shape":"UpdatePullThroughCacheRuleResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ValidationException"}, + {"shape":"UnableToAccessSecretException"}, + {"shape":"PullThroughCacheRuleNotFoundException"}, + {"shape":"SecretNotFoundException"}, + {"shape":"UnableToDecryptSecretValueException"} + ] + }, "UploadLayerPart":{ "name":"UploadLayerPart", "http":{ @@ -647,6 +671,21 @@ {"shape":"LimitExceededException"}, {"shape":"KmsException"} ] + }, + "ValidatePullThroughCacheRule":{ + "name":"ValidatePullThroughCacheRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ValidatePullThroughCacheRuleRequest"}, + "output":{"shape":"ValidatePullThroughCacheRuleResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ValidationException"}, + {"shape":"PullThroughCacheRuleNotFoundException"} + ] } }, "shapes":{ @@ -822,7 +861,9 @@ "members":{ "ecrRepositoryPrefix":{"shape":"PullThroughCacheRuleRepositoryPrefix"}, "upstreamRegistryUrl":{"shape":"Url"}, - "registryId":{"shape":"RegistryId"} + "registryId":{"shape":"RegistryId"}, + "upstreamRegistry":{"shape":"UpstreamRegistry"}, + "credentialArn":{"shape":"CredentialArn"} } }, "CreatePullThroughCacheRuleResponse":{ @@ -831,7 +872,9 @@ "ecrRepositoryPrefix":{"shape":"PullThroughCacheRuleRepositoryPrefix"}, "upstreamRegistryUrl":{"shape":"Url"}, "createdAt":{"shape":"CreationTimestamp"}, - "registryId":{"shape":"RegistryId"} + "registryId":{"shape":"RegistryId"}, + "upstreamRegistry":{"shape":"UpstreamRegistry"}, + "credentialArn":{"shape":"CredentialArn"} } }, "CreateRepositoryRequest":{ @@ -853,6 +896,12 @@ } }, "CreationTimestamp":{"type":"timestamp"}, + "CredentialArn":{ + "type":"string", + "max":612, + "min":50, + "pattern":"^arn:aws:secretsmanager:[a-zA-Z0-9-:]+:secret:ecr\\-pullthroughcache\\/[a-zA-Z0-9\\/_+=.@-]+$" + }, "CvssScore":{ "type":"structure", "members":{ @@ -919,7 +968,8 @@ "ecrRepositoryPrefix":{"shape":"PullThroughCacheRuleRepositoryPrefix"}, "upstreamRegistryUrl":{"shape":"Url"}, "createdAt":{"shape":"CreationTimestamp"}, - "registryId":{"shape":"RegistryId"} + "registryId":{"shape":"RegistryId"}, + "credentialArn":{"shape":"CredentialArn"} } }, "DeleteRegistryPolicyRequest":{ @@ -1342,7 +1392,10 @@ "ImageNotFound", "MissingDigestAndTag", "ImageReferencedByManifestList", - "KmsError" + "KmsError", + "UpstreamAccessDenied", + "UpstreamTooManyRequests", + "UpstreamUnavailable" ] }, "ImageFailureList":{ @@ -1512,6 +1565,7 @@ }, "exception":true }, + "IsPTCRuleValid":{"type":"boolean"}, "KmsError":{"type":"string"}, "KmsException":{ "type":"structure", @@ -1744,6 +1798,7 @@ }, "Metric":{"type":"string"}, "NextToken":{"type":"string"}, + "PTCValidateFailure":{"type":"string"}, "PackageManager":{"type":"string"}, "PackageVulnerabilityDetails":{ "type":"structure", @@ -1772,7 +1827,10 @@ "ecrRepositoryPrefix":{"shape":"PullThroughCacheRuleRepositoryPrefix"}, "upstreamRegistryUrl":{"shape":"Url"}, "createdAt":{"shape":"CreationTimestamp"}, - "registryId":{"shape":"RegistryId"} + "registryId":{"shape":"RegistryId"}, + "credentialArn":{"shape":"CredentialArn"}, + "upstreamRegistry":{"shape":"UpstreamRegistry"}, + "updatedAt":{"shape":"UpdatedTimestamp"} } }, "PullThroughCacheRuleAlreadyExistsException":{ @@ -1795,9 +1853,9 @@ }, "PullThroughCacheRuleRepositoryPrefix":{ "type":"string", - "max":20, + "max":30, "min":2, - "pattern":"[a-z0-9]+(?:[._-][a-z0-9]+)*" + "pattern":"(?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*" }, "PullThroughCacheRuleRepositoryPrefixList":{ "type":"list", @@ -2272,6 +2330,13 @@ } }, "ScoringVector":{"type":"string"}, + "SecretNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "exception":true + }, "ServerException":{ "type":"structure", "members":{ @@ -2407,6 +2472,34 @@ "exception":true }, "Type":{"type":"string"}, + "UnableToAccessSecretException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "exception":true + }, + "UnableToDecryptSecretValueException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "exception":true + }, + "UnableToGetUpstreamImageException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "exception":true + }, + "UnableToGetUpstreamLayerException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "exception":true + }, "UnsupportedImageTypeException":{ "type":"structure", "members":{ @@ -2437,6 +2530,28 @@ "members":{ } }, + "UpdatePullThroughCacheRuleRequest":{ + "type":"structure", + "required":[ + "ecrRepositoryPrefix", + "credentialArn" + ], + "members":{ + "registryId":{"shape":"RegistryId"}, + "ecrRepositoryPrefix":{"shape":"PullThroughCacheRuleRepositoryPrefix"}, + "credentialArn":{"shape":"CredentialArn"} + } + }, + "UpdatePullThroughCacheRuleResponse":{ + "type":"structure", + "members":{ + "ecrRepositoryPrefix":{"shape":"PullThroughCacheRuleRepositoryPrefix"}, + "registryId":{"shape":"RegistryId"}, + "updatedAt":{"shape":"UpdatedTimestamp"}, + "credentialArn":{"shape":"CredentialArn"} + } + }, + "UpdatedTimestamp":{"type":"timestamp"}, "UploadId":{ "type":"string", "pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" @@ -2475,7 +2590,37 @@ }, "exception":true }, + "UpstreamRegistry":{ + "type":"string", + "enum":[ + "ecr-public", + "quay", + "k8s", + "docker-hub", + "github-container-registry", + "azure-container-registry" + ] + }, "Url":{"type":"string"}, + "ValidatePullThroughCacheRuleRequest":{ + "type":"structure", + "required":["ecrRepositoryPrefix"], + "members":{ + "ecrRepositoryPrefix":{"shape":"PullThroughCacheRuleRepositoryPrefix"}, + "registryId":{"shape":"RegistryId"} + } + }, + "ValidatePullThroughCacheRuleResponse":{ + "type":"structure", + "members":{ + "ecrRepositoryPrefix":{"shape":"PullThroughCacheRuleRepositoryPrefix"}, + "registryId":{"shape":"RegistryId"}, + "upstreamRegistryUrl":{"shape":"Url"}, + "credentialArn":{"shape":"CredentialArn"}, + "isValid":{"shape":"IsPTCRuleValid"}, + "failure":{"shape":"PTCValidateFailure"} + } + }, "ValidationException":{ "type":"structure", "members":{ diff --git a/models/apis/ecr/2015-09-21/docs-2.json b/models/apis/ecr/2015-09-21/docs-2.json index da085deee18..2b1079dbb89 100644 --- a/models/apis/ecr/2015-09-21/docs-2.json +++ b/models/apis/ecr/2015-09-21/docs-2.json @@ -7,12 +7,12 @@ "BatchGetImage": "

Gets detailed information for an image. Images are specified with either an imageTag or imageDigest.

When an image is pulled, the BatchGetImage API is called once to retrieve the image manifest.

", "BatchGetRepositoryScanningConfiguration": "

Gets the scanning configuration for one or more repositories.

", "CompleteLayerUpload": "

Informs Amazon ECR that the image layer upload has completed for a specified registry, repository name, and upload ID. You can optionally provide a sha256 digest of the image layer for data validation purposes.

When an image is pushed, the CompleteLayerUpload API is called once per each new image layer to verify that the upload has completed.

This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

", - "CreatePullThroughCacheRule": "

Creates a pull through cache rule. A pull through cache rule provides a way to cache images from an external public registry in your Amazon ECR private registry.

", + "CreatePullThroughCacheRule": "

Creates a pull through cache rule. A pull through cache rule provides a way to cache images from an upstream registry source in your Amazon ECR private registry. For more information, see Using pull through cache rules in the Amazon Elastic Container Registry User Guide.

", "CreateRepository": "

Creates a repository. For more information, see Amazon ECR repositories in the Amazon Elastic Container Registry User Guide.

", "DeleteLifecyclePolicy": "

Deletes the lifecycle policy associated with the specified repository.

", "DeletePullThroughCacheRule": "

Deletes a pull through cache rule.

", "DeleteRegistryPolicy": "

Deletes the registry permissions policy.

", - "DeleteRepository": "

Deletes a repository. If the repository contains images, you must either delete all images in the repository or use the force option to delete the repository.

", + "DeleteRepository": "

Deletes a repository. If the repository isn't empty, you must either delete the contents of the repository or use the force option to delete the repository and have Amazon ECR delete all of its contents on your behalf.

", "DeleteRepositoryPolicy": "

Deletes the repository policy associated with the specified repository.

", "DescribeImageReplicationStatus": "

Returns the replication status for a specified image.

", "DescribeImageScanFindings": "

Returns the scan findings for the specified image.

", @@ -42,7 +42,9 @@ "StartLifecyclePolicyPreview": "

Starts a preview of a lifecycle policy for the specified repository. This allows you to see the results before associating the lifecycle policy with the repository.

", "TagResource": "

Adds specified tags to a resource with the specified ARN. Existing tags on a resource are not changed if they are not specified in the request parameters.

", "UntagResource": "

Deletes specified tags from a resource.

", - "UploadLayerPart": "

Uploads an image layer part to Amazon ECR.

When an image is pushed, each new image layer is uploaded in parts. The maximum size of each image layer part can be 20971520 bytes (or about 20MB). The UploadLayerPart API is called once per each new image layer part.

This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

" + "UpdatePullThroughCacheRule": "

Updates an existing pull through cache rule.

", + "UploadLayerPart": "

Uploads an image layer part to Amazon ECR.

When an image is pushed, each new image layer is uploaded in parts. The maximum size of each image layer part can be 20971520 bytes (or about 20MB). The UploadLayerPart API is called once per each new image layer part.

This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

", + "ValidatePullThroughCacheRule": "

Validates an existing pull through cache rule for an upstream registry that requires authentication. This will retrieve the contents of the Amazon Web Services Secrets Manager secret, verify the syntax, and then validate that authentication to the upstream registry is successful.

" }, "shapes": { "Arch": { @@ -214,6 +216,18 @@ "Repository$createdAt": "

The date and time, in JavaScript date format, when the repository was created.

" } }, + "CredentialArn": { + "base": null, + "refs": { + "CreatePullThroughCacheRuleRequest$credentialArn": "

The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret that identifies the credentials to authenticate to the upstream registry.

", + "CreatePullThroughCacheRuleResponse$credentialArn": "

The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret associated with the pull through cache rule.

", + "DeletePullThroughCacheRuleResponse$credentialArn": "

The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret associated with the pull through cache rule.

", + "PullThroughCacheRule$credentialArn": "

The ARN of the Secrets Manager secret associated with the pull through cache rule.

", + "UpdatePullThroughCacheRuleRequest$credentialArn": "

The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret that identifies the credentials to authenticate to the upstream registry.

", + "UpdatePullThroughCacheRuleResponse$credentialArn": "

The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret associated with the pull through cache rule.

", + "ValidatePullThroughCacheRuleResponse$credentialArn": "

The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret associated with the pull through cache rule.

" + } + }, "CvssScore": { "base": "

The CVSS score for a finding.

", "refs": { @@ -444,8 +458,13 @@ "RepositoryNotFoundException$message": "

The error message associated with the exception.

", "RepositoryPolicyNotFoundException$message": "

The error message associated with the exception.

", "ScanNotFoundException$message": null, + "SecretNotFoundException$message": null, "ServerException$message": "

The error message associated with the exception.

", "TooManyTagsException$message": null, + "UnableToAccessSecretException$message": null, + "UnableToDecryptSecretValueException$message": null, + "UnableToGetUpstreamImageException$message": null, + "UnableToGetUpstreamLayerException$message": null, "UnsupportedImageTypeException$message": null, "UnsupportedUpstreamRegistryException$message": null, "UploadNotFoundException$message": "

The error message associated with the exception.

", @@ -500,7 +519,7 @@ "ForceFlag": { "base": null, "refs": { - "DeleteRepositoryRequest$force": "

If a repository contains images, forces the deletion.

", + "DeleteRepositoryRequest$force": "

If true, deleting the repository force deletes the contents of the repository. If false, the repository must be empty before attempting to delete it.

", "SetRepositoryPolicyRequest$force": "

If the policy you are attempting to set on a repository policy would prevent you from setting another policy in the future, you must force the SetRepositoryPolicy operation. This is intended to prevent accidental repository lock outs.

" } }, @@ -824,6 +843,12 @@ "refs": { } }, + "IsPTCRuleValid": { + "base": null, + "refs": { + "ValidatePullThroughCacheRuleResponse$isValid": "

Whether or not the pull through cache rule was validated. If true, Amazon ECR was able to reach the upstream registry and authentication was successful. If false, there was an issue and validation failed. The failure reason indicates the cause.

" + } + }, "KmsError": { "base": null, "refs": { @@ -1088,6 +1113,12 @@ "ListImagesResponse$nextToken": "

The nextToken value to include in a future ListImages request. When the results of a ListImages request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

" } }, + "PTCValidateFailure": { + "base": null, + "refs": { + "ValidatePullThroughCacheRuleResponse$failure": "

The reason the validation failed. For more details about possible causes and how to address them, see Using pull through cache rules in the Amazon Elastic Container Registry User Guide.

" + } + }, "PackageManager": { "base": null, "refs": { @@ -1152,7 +1183,11 @@ "DeletePullThroughCacheRuleRequest$ecrRepositoryPrefix": "

The Amazon ECR repository prefix associated with the pull through cache rule to delete.

", "DeletePullThroughCacheRuleResponse$ecrRepositoryPrefix": "

The Amazon ECR repository prefix associated with the request.

", "PullThroughCacheRule$ecrRepositoryPrefix": "

The Amazon ECR repository prefix associated with the pull through cache rule.

", - "PullThroughCacheRuleRepositoryPrefixList$member": null + "PullThroughCacheRuleRepositoryPrefixList$member": null, + "UpdatePullThroughCacheRuleRequest$ecrRepositoryPrefix": "

The repository name prefix to use when caching images from the source registry.

", + "UpdatePullThroughCacheRuleResponse$ecrRepositoryPrefix": "

The Amazon ECR repository prefix associated with the pull through cache rule.

", + "ValidatePullThroughCacheRuleRequest$ecrRepositoryPrefix": "

The repository name prefix associated with the pull through cache rule.

", + "ValidatePullThroughCacheRuleResponse$ecrRepositoryPrefix": "

The Amazon ECR repository prefix associated with the pull through cache rule.

" } }, "PullThroughCacheRuleRepositoryPrefixList": { @@ -1341,8 +1376,12 @@ "StartImageScanResponse$registryId": "

The registry ID associated with the request.

", "StartLifecyclePolicyPreviewRequest$registryId": "

The Amazon Web Services account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.

", "StartLifecyclePolicyPreviewResponse$registryId": "

The registry ID associated with the request.

", + "UpdatePullThroughCacheRuleRequest$registryId": "

The Amazon Web Services account ID associated with the registry associated with the pull through cache rule. If you do not specify a registry, the default registry is assumed.

", + "UpdatePullThroughCacheRuleResponse$registryId": "

The registry ID associated with the request.

", "UploadLayerPartRequest$registryId": "

The Amazon Web Services account ID associated with the registry to which you are uploading layer parts. If you do not specify a registry, the default registry is assumed.

", - "UploadLayerPartResponse$registryId": "

The registry ID associated with the request.

" + "UploadLayerPartResponse$registryId": "

The registry ID associated with the request.

", + "ValidatePullThroughCacheRuleRequest$registryId": "

The registry ID associated with the pull through cache rule. If you do not specify a registry, the default registry is assumed.

", + "ValidatePullThroughCacheRuleResponse$registryId": "

The registry ID associated with the request.

" } }, "RegistryPolicyNotFoundException": { @@ -1730,6 +1769,11 @@ "CvssScoreDetails$scoringVector": "

The vector for the CVSS score.

" } }, + "SecretNotFoundException": { + "base": "

The ARN of the secret specified in the pull through cache rule was not found. Update the pull through cache rule with a valid secret ARN and try again.

", + "refs": { + } + }, "ServerException": { "base": "

These errors are usually caused by a server-side issue.

", "refs": { @@ -1875,6 +1919,26 @@ "Resource$type": "

The type of resource.

" } }, + "UnableToAccessSecretException": { + "base": "

The secret is unable to be accessed. Verify the resource permissions for the secret and try again.

", + "refs": { + } + }, + "UnableToDecryptSecretValueException": { + "base": "

The secret is accessible but is unable to be decrypted. Verify the resource permisisons and try again.

", + "refs": { + } + }, + "UnableToGetUpstreamImageException": { + "base": "

The image or images were unable to be pulled using the pull through cache rule. This is usually caused because of an issue with the Secrets Manager secret containing the credentials for the upstream registry.

", + "refs": { + } + }, + "UnableToGetUpstreamLayerException": { + "base": "

There was an issue getting the upstream layer matching the pull through cache rule.

", + "refs": { + } + }, "UnsupportedImageTypeException": { "base": "

The image is of a type that cannot be scanned.

", "refs": { @@ -1895,6 +1959,23 @@ "refs": { } }, + "UpdatePullThroughCacheRuleRequest": { + "base": null, + "refs": { + } + }, + "UpdatePullThroughCacheRuleResponse": { + "base": null, + "refs": { + } + }, + "UpdatedTimestamp": { + "base": null, + "refs": { + "PullThroughCacheRule$updatedAt": "

The date and time, in JavaScript date format, when the pull through cache rule was last updated.

", + "UpdatePullThroughCacheRuleResponse$updatedAt": "

The date and time, in JavaScript date format, when the pull through cache rule was updated.

" + } + }, "UploadId": { "base": null, "refs": { @@ -1921,10 +2002,18 @@ "refs": { } }, + "UpstreamRegistry": { + "base": null, + "refs": { + "CreatePullThroughCacheRuleRequest$upstreamRegistry": "

The name of the upstream registry.

", + "CreatePullThroughCacheRuleResponse$upstreamRegistry": "

The name of the upstream registry associated with the pull through cache rule.

", + "PullThroughCacheRule$upstreamRegistry": "

The name of the upstream source registry associated with the pull through cache rule.

" + } + }, "Url": { "base": null, "refs": { - "CreatePullThroughCacheRuleRequest$upstreamRegistryUrl": "

The registry URL of the upstream public registry to use as the source for the pull through cache rule.

", + "CreatePullThroughCacheRuleRequest$upstreamRegistryUrl": "

The registry URL of the upstream public registry to use as the source for the pull through cache rule. The following is the syntax to use for each supported upstream registry.

", "CreatePullThroughCacheRuleResponse$upstreamRegistryUrl": "

The upstream registry URL associated with the pull through cache rule.

", "DeletePullThroughCacheRuleResponse$upstreamRegistryUrl": "

The upstream registry URL associated with the pull through cache rule.

", "GetDownloadUrlForLayerResponse$downloadUrl": "

The pre-signed Amazon S3 download URL for the requested layer.

", @@ -1933,7 +2022,18 @@ "PullThroughCacheRule$upstreamRegistryUrl": "

The upstream registry URL associated with the pull through cache rule.

", "Recommendation$url": "

The URL address to the CVE remediation recommendations.

", "ReferenceUrlsList$member": null, - "Repository$repositoryUri": "

The URI for the repository. You can use this URI for container image push and pull operations.

" + "Repository$repositoryUri": "

The URI for the repository. You can use this URI for container image push and pull operations.

", + "ValidatePullThroughCacheRuleResponse$upstreamRegistryUrl": "

The upstream registry URL associated with the pull through cache rule.

" + } + }, + "ValidatePullThroughCacheRuleRequest": { + "base": null, + "refs": { + } + }, + "ValidatePullThroughCacheRuleResponse": { + "base": null, + "refs": { } }, "ValidationException": { diff --git a/models/apis/ecr/2015-09-21/endpoint-rule-set-1.json b/models/apis/ecr/2015-09-21/endpoint-rule-set-1.json index 722e1b81239..06f8b3b5f59 100644 --- a/models/apis/ecr/2015-09-21/endpoint-rule-set-1.json +++ b/models/apis/ecr/2015-09-21/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,18 +212,17 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "stringEquals", "argv": [ - "aws", { "fn": "getAttr", "argv": [ @@ -236,7 +231,8 @@ }, "name" ] - } + }, + "aws" ] } ], @@ -252,7 +248,6 @@ { "fn": "stringEquals", "argv": [ - "aws-us-gov", { "fn": "getAttr", "argv": [ @@ -261,7 +256,8 @@ }, "name" ] - } + }, + "aws-us-gov" ] } ], @@ -281,14 +277,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -302,7 +300,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -322,7 +319,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -333,14 +329,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -351,9 +349,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/elasticmapreduce/2009-03-31/api-2.json b/models/apis/elasticmapreduce/2009-03-31/api-2.json index 9cffc3eead7..c14689ddc1b 100644 --- a/models/apis/elasticmapreduce/2009-03-31/api-2.json +++ b/models/apis/elasticmapreduce/2009-03-31/api-2.json @@ -1152,7 +1152,11 @@ "DefaultS3Location":{"shape":"XmlString"}, "IdpAuthUrl":{"shape":"XmlString"}, "IdpRelayStateParameterName":{"shape":"XmlStringMaxLen256"}, - "Tags":{"shape":"TagList"} + "Tags":{"shape":"TagList"}, + "TrustedIdentityPropagationEnabled":{"shape":"BooleanObject"}, + "IdcUserAssignment":{"shape":"IdcUserAssignment"}, + "IdcInstanceArn":{"shape":"ArnType"}, + "EncryptionKeyArn":{"shape":"XmlString"} } }, "CreateStudioOutput":{ @@ -1536,6 +1540,13 @@ "min":20, "pattern":"^arn:(aws[a-zA-Z0-9-]*):iam::(\\d{12})?:(role((\\u002F)|(\\u002F[\\u0021-\\u007F]+\\u002F))[\\w+=,.@-]+)$" }, + "IdcUserAssignment":{ + "type":"string", + "enum":[ + "REQUIRED", + "OPTIONAL" + ] + }, "IdentityType":{ "type":"string", "enum":[ @@ -3136,7 +3147,11 @@ "DefaultS3Location":{"shape":"XmlString"}, "IdpAuthUrl":{"shape":"XmlString"}, "IdpRelayStateParameterName":{"shape":"XmlStringMaxLen256"}, - "Tags":{"shape":"TagList"} + "Tags":{"shape":"TagList"}, + "IdcInstanceArn":{"shape":"ArnType"}, + "TrustedIdentityPropagationEnabled":{"shape":"BooleanObject"}, + "IdcUserAssignment":{"shape":"IdcUserAssignment"}, + "EncryptionKeyArn":{"shape":"XmlString"} } }, "StudioSummary":{ @@ -3252,7 +3267,8 @@ "Name":{"shape":"XmlStringMaxLen256"}, "Description":{"shape":"XmlStringMaxLen256"}, "SubnetIds":{"shape":"SubnetIdList"}, - "DefaultS3Location":{"shape":"XmlString"} + "DefaultS3Location":{"shape":"XmlString"}, + "EncryptionKeyArn":{"shape":"XmlString"} } }, "UpdateStudioSessionMappingInput":{ diff --git a/models/apis/elasticmapreduce/2009-03-31/docs-2.json b/models/apis/elasticmapreduce/2009-03-31/docs-2.json index ebb97a8022a..e8c28b1fa70 100644 --- a/models/apis/elasticmapreduce/2009-03-31/docs-2.json +++ b/models/apis/elasticmapreduce/2009-03-31/docs-2.json @@ -2,11 +2,11 @@ "version": "2.0", "service": "

Amazon EMR is a web service that makes it easier to process large amounts of data efficiently. Amazon EMR uses Hadoop processing combined with several Amazon Web Services services to do tasks such as web indexing, data mining, log file analysis, machine learning, scientific simulation, and data warehouse management.

", "operations": { - "AddInstanceFleet": "

Adds an instance fleet to a running cluster.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x.

", + "AddInstanceFleet": "

Adds an instance fleet to a running cluster.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x.

", "AddInstanceGroups": "

Adds one or more instance groups to a running cluster.

", "AddJobFlowSteps": "

AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps are allowed in each job flow.

If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using SSH to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop.

A step specifies the location of a JAR file stored either on the master node of the cluster or in Amazon S3. Each step is performed by the main function of the main class of the JAR file. The main class can be specified either in the manifest of the JAR or by using the MainFunction parameter of the step.

Amazon EMR executes each step in the order listed. For a step to be considered complete, the main function must exit with a zero exit code and all Hadoop jobs started while the step was running must have completed and run successfully.

You can only add steps to a cluster that is in one of the following states: STARTING, BOOTSTRAPPING, RUNNING, or WAITING.

The string values passed into HadoopJarStep object cannot exceed a total of 10240 characters.

", "AddTags": "

Adds tags to an Amazon EMR resource, such as a cluster or an Amazon EMR Studio. Tags make it easier to associate resources in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

", - "CancelSteps": "

Cancels a pending step or steps in a running cluster. Available only in Amazon EMR versions 4.8.0 and higher, excluding version 5.0.0. A maximum of 256 steps are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous; it does not guarantee that a step will be canceled, even if the request is successfully submitted. When you use Amazon EMR releases 5.28.0 and higher, you can cancel steps that are in a PENDING or RUNNING state. In earlier versions of Amazon EMR, you can only cancel steps that are in a PENDING state.

", + "CancelSteps": "

Cancels a pending step or steps in a running cluster. Available only in Amazon EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous; it does not guarantee that a step will be canceled, even if the request is successfully submitted. When you use Amazon EMR releases 5.28.0 and later, you can cancel steps that are in a PENDING or RUNNING state. In earlier versions of Amazon EMR, you can only cancel steps that are in a PENDING state.

", "CreateSecurityConfiguration": "

Creates a security configuration, which is stored in the service and can be specified when a cluster is created.

", "CreateStudio": "

Creates a new Amazon EMR Studio.

", "CreateStudioSessionMapping": "

Maps a user or group to the Amazon EMR Studio specified by StudioId, and applies a session policy to refine Studio permissions for that user or group. Use CreateStudioSessionMapping to assign users to a Studio when you use IAM Identity Center authentication. For instructions on how to assign users to a Studio when you use IAM authentication, see Assign a user or group to your EMR Studio.

", @@ -27,7 +27,7 @@ "GetStudioSessionMapping": "

Fetches mapping details for the specified Amazon EMR Studio and identity (user or group).

", "ListBootstrapActions": "

Provides information about the bootstrap actions associated with a cluster.

", "ListClusters": "

Provides the status of all clusters visible to this Amazon Web Services account. Allows you to filter the list of clusters based on certain criteria; for example, filtering by cluster creation date and time or by status. This call returns a maximum of 50 clusters in unsorted order per call, but returns a marker to track the paging of the cluster list across multiple ListClusters calls.

", - "ListInstanceFleets": "

Lists all available details about the instance fleets in a cluster.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions.

", + "ListInstanceFleets": "

Lists all available details about the instance fleets in a cluster.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

", "ListInstanceGroups": "

Provides all available details about the instance groups in a cluster.

", "ListInstances": "

Provides information for all active Amazon EC2 instances and Amazon EC2 instances terminated in the last 30 days, up to a maximum of 2,000. Amazon EC2 instances in any of the following states are considered active: AWAITING_FULFILLMENT, PROVISIONING, BOOTSTRAPPING, RUNNING.

", "ListNotebookExecutions": "

Provides summaries of all notebook executions. You can filter the list based on multiple criteria such as status, time range, and editor id. Returns a maximum of 50 notebook executions and a marker to track the paging of a longer notebook execution list across multiple ListNotebookExecutions calls.

", @@ -38,17 +38,17 @@ "ListStudios": "

Returns a list of all Amazon EMR Studios associated with the Amazon Web Services account. The list includes details such as ID, Studio Access URL, and creation time for each Studio.

", "ListSupportedInstanceTypes": "

A list of the instance types that Amazon EMR supports. You can filter the list by Amazon Web Services Region and Amazon EMR release.

", "ModifyCluster": "

Modifies the number of steps that can be executed concurrently for the cluster specified using ClusterID.

", - "ModifyInstanceFleet": "

Modifies the target On-Demand and target Spot capacities for the instance fleet with the specified InstanceFleetID within the cluster specified using ClusterID. The call either succeeds or fails atomically.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions.

", + "ModifyInstanceFleet": "

Modifies the target On-Demand and target Spot capacities for the instance fleet with the specified InstanceFleetID within the cluster specified using ClusterID. The call either succeeds or fails atomically.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

", "ModifyInstanceGroups": "

ModifyInstanceGroups modifies the number of nodes and configuration settings of an instance group. The input parameters include the new target instance count for the group and the instance group ID. The call will either succeed or fail atomically.

", "PutAutoScalingPolicy": "

Creates or updates an automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates Amazon EC2 instances in response to the value of a CloudWatch metric.

", - "PutAutoTerminationPolicy": "

Auto-termination is supported in Amazon EMR releases 5.30.0 and 6.1.0 and higher. For more information, see Using an auto-termination policy.

Creates or updates an auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. For alternative cluster termination options, see Control cluster termination.

", + "PutAutoTerminationPolicy": "

Auto-termination is supported in Amazon EMR releases 5.30.0 and 6.1.0 and later. For more information, see Using an auto-termination policy.

Creates or updates an auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. For alternative cluster termination options, see Control cluster termination.

", "PutBlockPublicAccessConfiguration": "

Creates or updates an Amazon EMR block public access configuration for your Amazon Web Services account in the current Region. For more information see Configure Block Public Access for Amazon EMR in the Amazon EMR Management Guide.

", "PutManagedScalingPolicy": "

Creates or updates a managed scaling policy for an Amazon EMR cluster. The managed scaling policy defines the limits for resources, such as Amazon EC2 instances that can be added or terminated from a cluster. The policy only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

", "RemoveAutoScalingPolicy": "

Removes an automatic scaling policy from a specified instance group within an Amazon EMR cluster.

", "RemoveAutoTerminationPolicy": "

Removes an auto-termination policy from an Amazon EMR cluster.

", "RemoveManagedScalingPolicy": "

Removes a managed scaling policy from a specified Amazon EMR cluster.

", "RemoveTags": "

Removes tags from an Amazon EMR resource, such as a cluster or Amazon EMR Studio. Tags make it easier to associate resources in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

The following example removes the stack tag with value Prod from a cluster:

", - "RunJobFlow": "

RunJobFlow creates and starts running a new cluster (job flow). The cluster runs the steps specified. After the steps complete, the cluster stops and the HDFS partition is lost. To prevent loss of data, configure the last step of the job flow to store results in Amazon S3. If the JobFlowInstancesConfig KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the cluster transitions to the WAITING state rather than shutting down after the steps have completed.

For additional protection, you can set the JobFlowInstancesConfig TerminationProtected parameter to TRUE to lock the cluster and prevent it from being terminated by API call, user intervention, or in the event of a job flow error.

A maximum of 256 steps are allowed in each job flow.

If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using the SSH shell to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop.

For long-running clusters, we recommend that you periodically store your results.

The instance fleets configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions. The RunJobFlow request can contain InstanceFleets parameters or InstanceGroups parameters, but not both.

", + "RunJobFlow": "

RunJobFlow creates and starts running a new cluster (job flow). The cluster runs the steps specified. After the steps complete, the cluster stops and the HDFS partition is lost. To prevent loss of data, configure the last step of the job flow to store results in Amazon S3. If the JobFlowInstancesConfig KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the cluster transitions to the WAITING state rather than shutting down after the steps have completed.

For additional protection, you can set the JobFlowInstancesConfig TerminationProtected parameter to TRUE to lock the cluster and prevent it from being terminated by API call, user intervention, or in the event of a job flow error.

A maximum of 256 steps are allowed in each job flow.

If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using the SSH shell to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop.

For long-running clusters, we recommend that you periodically store your results.

The instance fleets configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow request can contain InstanceFleets parameters or InstanceGroups parameters, but not both.

", "SetTerminationProtection": "

SetTerminationProtection locks a cluster (job flow) so the Amazon EC2 instances in the cluster cannot be terminated by user intervention, an API call, or in the event of a job-flow error. The cluster still terminates upon successful completion of the job flow. Calling SetTerminationProtection on a cluster is similar to calling the Amazon EC2 DisableAPITermination API on all Amazon EC2 instances in a cluster.

SetTerminationProtection is used to prevent accidental termination of a cluster and to ensure that in the event of an error, the instances persist so that you can recover any data stored in their ephemeral instance storage.

To terminate a cluster that has been locked by setting SetTerminationProtection to true, you must first unlock the job flow by a subsequent call to SetTerminationProtection in which you set the value to false.

For more information, seeManaging Cluster Termination in the Amazon EMR Management Guide.

", "SetVisibleToAllUsers": "

The SetVisibleToAllUsers parameter is no longer supported. Your cluster may be visible to all users in your account. To restrict cluster access using an IAM policy, see Identity and Access Management for Amazon EMR.

Sets the Cluster$VisibleToAllUsers value for an Amazon EMR cluster. When true, IAM principals in the Amazon Web Services account can perform Amazon EMR cluster actions that their IAM policies allow. When false, only the IAM principal that created the cluster and the Amazon Web Services account root user can perform Amazon EMR actions on the cluster, regardless of IAM permissions policies attached to other IAM principals.

This action works on running clusters. When you create a cluster, use the RunJobFlowInput$VisibleToAllUsers parameter.

For more information, see Understanding the Amazon EMR Cluster VisibleToAllUsers Setting in the Amazon EMR Management Guide.

", "StartNotebookExecution": "

Starts a notebook execution.

", @@ -113,7 +113,7 @@ } }, "Application": { - "base": "

With Amazon EMR release version 4.0 and higher, the only accepted parameter is the application name. To pass arguments to applications, you use configuration classifications specified using configuration JSON objects. For more information, see Configuring Applications.

With earlier Amazon EMR releases, the application is any Amazon or third-party software that you can add to the cluster. This structure contains a list of strings that indicates the software to use with the cluster and accepts a user argument list. Amazon EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action argument.

", + "base": "

With Amazon EMR release version 4.0 and later, the only accepted parameter is the application name. To pass arguments to applications, you use configuration classifications specified using configuration JSON objects. For more information, see Configuring Applications.

With earlier Amazon EMR releases, the application is any Amazon or third-party software that you can add to the cluster. This structure contains a list of strings that indicates the software to use with the cluster and accepts a user argument list. Amazon EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action argument.

", "refs": { "ApplicationList$member": null } @@ -122,7 +122,7 @@ "base": null, "refs": { "Cluster$Applications": "

The applications installed on this cluster.

", - "RunJobFlowInput$Applications": "

Applies to Amazon EMR releases 4.0 and higher. A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMRRelease Guide.

" + "RunJobFlowInput$Applications": "

Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMRRelease Guide.

" } }, "ArnType": { @@ -134,9 +134,11 @@ "BlockPublicAccessConfigurationMetadata$CreatedByArn": "

The Amazon Resource Name that created or last modified the configuration.

", "Cluster$ClusterArn": "

The Amazon Resource Name of the cluster.

", "ClusterSummary$ClusterArn": "

The Amazon Resource Name of the cluster.

", + "CreateStudioInput$IdcInstanceArn": "

The ARN of the IAM Identity Center instance to create the Studio application.

", "GetClusterSessionCredentialsInput$ExecutionRoleArn": "

The Amazon Resource Name (ARN) of the runtime role for interactive workload submission on the cluster. The runtime role can be a cross-account IAM role. The runtime role ARN is a combination of account ID, role name, and role type using the following format: arn:partition:service:region:account:resource.

", "PutAutoScalingPolicyOutput$ClusterArn": "

The Amazon Resource Name (ARN) of the cluster.

", - "RunJobFlowOutput$ClusterArn": "

The Amazon Resource Name (ARN) of the cluster.

" + "RunJobFlowOutput$ClusterArn": "

The Amazon Resource Name (ARN) of the cluster.

", + "Studio$IdcInstanceArn": "

The ARN of the IAM Identity Center instance the Studio application belongs to.

" } }, "AuthMode": { @@ -196,7 +198,7 @@ "BlockPublicAccessConfiguration": { "base": "

A configuration for Amazon EMR block public access. When BlockPublicSecurityGroupRules is set to true, Amazon EMR prevents cluster creation if one of the cluster's security groups has a rule that allows inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges.

", "refs": { - "GetBlockPublicAccessConfigurationOutput$BlockPublicAccessConfiguration": "

A configuration for Amazon EMR block public access. The configuration applies to all clusters created in your account for the current Region. The configuration specifies whether block public access is enabled. If block public access is enabled, security groups associated with the cluster cannot have rules that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, and public access is allowed on this port. To change this, update the block public access configuration to remove the exception.

For accounts that created clusters in a Region before November 25, 2019, block public access is disabled by default in that Region. To use this feature, you must manually enable and configure it. For accounts that did not create an Amazon EMR cluster in a Region before this date, block public access is enabled by default in that Region.

", + "GetBlockPublicAccessConfigurationOutput$BlockPublicAccessConfiguration": "

A configuration for Amazon EMR block public access. The configuration applies to all clusters created in your account for the current Region. The configuration specifies whether block public access is enabled. If block public access is enabled, security groups associated with the cluster cannot have rules that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, and public access is allowed on this port. You can change this by updating the block public access configuration to remove the exception.

For accounts that created clusters in a Region before November 25, 2019, block public access is disabled by default in that Region. To use this feature, you must manually enable and configure it. For accounts that did not create an Amazon EMR cluster in a Region before this date, block public access is enabled by default in that Region.

", "PutBlockPublicAccessConfigurationInput$BlockPublicAccessConfiguration": "

A configuration for Amazon EMR block public access. The configuration applies to all clusters created in your account for the current Region. The configuration specifies whether block public access is enabled. If block public access is enabled, security groups associated with the cluster cannot have rules that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, and public access is allowed on this port. You can change this by updating BlockPublicSecurityGroupRules to remove the exception.

For accounts that created clusters in a Region before November 25, 2019, block public access is disabled by default in that Region. To use this feature, you must manually enable and configure it. For accounts that did not create an Amazon EMR cluster in a Region before this date, block public access is enabled by default in that Region.

" } }, @@ -230,9 +232,11 @@ "BooleanObject": { "base": null, "refs": { + "CreateStudioInput$TrustedIdentityPropagationEnabled": "

A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false.

", "EbsConfiguration$EbsOptimized": "

Indicates whether an Amazon EBS volume is EBS-optimized.

", "InstanceGroup$EbsOptimized": "

If the instance group is EBS-optimized. An Amazon EBS-optimized instance uses an optimized configuration stack and provides additional, dedicated capacity for Amazon EBS I/O.

", - "InstanceTypeSpecification$EbsOptimized": "

Evaluates to TRUE when the specified InstanceType is EBS-optimized.

" + "InstanceTypeSpecification$EbsOptimized": "

Evaluates to TRUE when the specified InstanceType is EBS-optimized.

", + "Studio$TrustedIdentityPropagationEnabled": "

Indicates whether the Studio has Trusted identity propagation enabled. The default value is false.

" } }, "BootstrapActionConfig": { @@ -261,7 +265,7 @@ } }, "CancelStepsInfo": { - "base": "

Specification of the status of a CancelSteps request. Available only in Amazon EMR version 4.8.0 and higher, excluding version 5.0.0.

", + "base": "

Specification of the status of a CancelSteps request. Available only in Amazon EMR version 4.8.0 and later, excluding version 5.0.0.

", "refs": { "CancelStepsInfoList$member": null } @@ -406,7 +410,7 @@ } }, "Configuration": { - "base": "

Amazon EMR releases 4.x or higher.

An optional configuration specification to be used when provisioning cluster instances, which can include configurations for applications and software bundled with Amazon EMR. A configuration consists of a classification, properties, and optional nested configurations. A classification refers to an application-specific configuration file. Properties are the settings you want to change in that file. For more information, see Configuring Applications.

", + "base": "

Amazon EMR releases 4.x or later.

An optional configuration specification to be used when provisioning cluster instances, which can include configurations for applications and software bundled with Amazon EMR. A configuration consists of a classification, properties, and optional nested configurations. A classification refers to an application-specific configuration file. Properties are the settings you want to change in that file. For more information, see Configuring Applications.

", "refs": { "ConfigurationList$member": null } @@ -414,15 +418,15 @@ "ConfigurationList": { "base": null, "refs": { - "Cluster$Configurations": "

Applies only to Amazon EMR releases 4.x and higher. The list of configurations that are supplied to the Amazon EMR cluster.

", + "Cluster$Configurations": "

Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.

", "Configuration$Configurations": "

A list of additional configurations to apply within a configuration object.

", - "InstanceGroup$Configurations": "

Amazon EMR releases 4.x or higher.

The list of configurations supplied for an Amazon EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).

", + "InstanceGroup$Configurations": "

Amazon EMR releases 4.x or later.

The list of configurations supplied for an Amazon EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).

", "InstanceGroup$LastSuccessfullyAppliedConfigurations": "

A list of configurations that were successfully applied for an instance group last time.

", - "InstanceGroupConfig$Configurations": "

Amazon EMR releases 4.x or higher.

The list of configurations supplied for an Amazon EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).

", + "InstanceGroupConfig$Configurations": "

Amazon EMR releases 4.x or later.

The list of configurations supplied for an Amazon EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).

", "InstanceGroupModifyConfig$Configurations": "

A list of new or modified configurations to apply for an instance group.

", "InstanceTypeConfig$Configurations": "

A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster.

", "InstanceTypeSpecification$Configurations": "

A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software bundled with Amazon EMR.

", - "RunJobFlowInput$Configurations": "

For Amazon EMR releases 4.0 and higher. The list of configurations supplied for the Amazon EMR cluster that you are creating.

" + "RunJobFlowInput$Configurations": "

For Amazon EMR releases 4.0 and later. The list of configurations supplied for the Amazon EMR cluster that you are creating.

" } }, "CreateSecurityConfigurationInput": { @@ -792,6 +796,13 @@ "ExecutionEngineConfig$ExecutionRoleArn": "

The execution role ARN required for the notebook execution.

" } }, + "IdcUserAssignment": { + "base": null, + "refs": { + "CreateStudioInput$IdcUserAssignment": "

Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio.

", + "Studio$IdcUserAssignment": "

Indicates whether the Studio has REQUIRED or OPTIONAL IAM Identity Center user assignment. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio.

" + } + }, "IdentityType": { "base": null, "refs": { @@ -813,17 +824,17 @@ "InstanceCollectionType": { "base": null, "refs": { - "Cluster$InstanceCollectionType": "

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions.

The instance group configuration of the cluster. A value of INSTANCE_GROUP indicates a uniform instance group configuration. A value of INSTANCE_FLEET indicates an instance fleets configuration.

" + "Cluster$InstanceCollectionType": "

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

The instance group configuration of the cluster. A value of INSTANCE_GROUP indicates a uniform instance group configuration. A value of INSTANCE_FLEET indicates an instance fleets configuration.

" } }, "InstanceFleet": { - "base": "

Describes an instance fleet, which is a group of Amazon EC2 instances that host a particular node type (master, core, or task) in an Amazon EMR cluster. Instance fleets can consist of a mix of instance types and On-Demand and Spot Instances, which are provisioned to meet a defined target capacity.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions.

", + "base": "

Describes an instance fleet, which is a group of Amazon EC2 instances that host a particular node type (master, core, or task) in an Amazon EMR cluster. Instance fleets can consist of a mix of instance types and On-Demand and Spot Instances, which are provisioned to meet a defined target capacity.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

", "refs": { "InstanceFleetList$member": null } }, "InstanceFleetConfig": { - "base": "

The configuration that defines an instance fleet.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions.

", + "base": "

The configuration that defines an instance fleet.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

", "refs": { "AddInstanceFleetInput$InstanceFleet": "

Specifies the configuration of the instance fleet.

", "InstanceFleetConfigList$member": null @@ -832,7 +843,7 @@ "InstanceFleetConfigList": { "base": null, "refs": { - "JobFlowInstancesConfig$InstanceFleets": "

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions.

Describes the Amazon EC2 instances and instance configurations for clusters that use the instance fleet configuration.

" + "JobFlowInstancesConfig$InstanceFleets": "

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

Describes the Amazon EC2 instances and instance configurations for clusters that use the instance fleet configuration.

" } }, "InstanceFleetId": { @@ -852,13 +863,13 @@ } }, "InstanceFleetModifyConfig": { - "base": "

Configuration parameters for an instance fleet modification request.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions.

", + "base": "

Configuration parameters for an instance fleet modification request.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

", "refs": { "ModifyInstanceFleetInput$InstanceFleet": "

The configuration parameters of the instance fleet.

" } }, "InstanceFleetProvisioningSpecifications": { - "base": "

The launch specification for Spot Instances in the fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions. On-Demand and Spot instance allocation strategies are available in Amazon EMR releases 5.12.1 and higher.

", + "base": "

The launch specification for Spot Instances in the fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. On-Demand and Spot instance allocation strategies are available in Amazon EMR releases 5.12.1 and later.

", "refs": { "InstanceFleet$LaunchSpecifications": "

Describes the launch specification for an instance fleet.

", "InstanceFleetConfig$LaunchSpecifications": "

The launch specification for the instance fleet.

" @@ -879,7 +890,7 @@ } }, "InstanceFleetStateChangeReason": { - "base": "

Provides status change reason details for the instance fleet.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions.

", + "base": "

Provides status change reason details for the instance fleet.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

", "refs": { "InstanceFleetStatus$StateChangeReason": "

Provides status change reason details for the instance fleet.

" } @@ -891,13 +902,13 @@ } }, "InstanceFleetStatus": { - "base": "

The status of the instance fleet.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions.

", + "base": "

The status of the instance fleet.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

", "refs": { "InstanceFleet$Status": "

The current status of the instance fleet.

" } }, "InstanceFleetTimeline": { - "base": "

Provides historical timestamps for the instance fleet, including the time of creation, the time it became ready to run jobs, and the time of termination.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions.

", + "base": "

Provides historical timestamps for the instance fleet, including the time of creation, the time it became ready to run jobs, and the time of termination.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

", "refs": { "InstanceFleetStatus$Timeline": "

Provides historical timestamps for the instance fleet, including the time of creation, the time it became ready to run jobs, and the time of termination.

" } @@ -1101,7 +1112,7 @@ } }, "InstanceTypeConfig": { - "base": "

An instance type configuration for each instance type in an instance fleet, which determines the Amazon EC2 instances Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities. When you use an allocation strategy, you can include a maximum of 30 instance type configurations for a fleet. For more information about how to use an allocation strategy, see Configure Instance Fleets. Without an allocation strategy, you may specify a maximum of five instance type configurations for a fleet.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions.

", + "base": "

An instance type configuration for each instance type in an instance fleet, which determines the Amazon EC2 instances Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities. When you use an allocation strategy, you can include a maximum of 30 instance type configurations for a fleet. For more information about how to use an allocation strategy, see Configure Instance Fleets. Without an allocation strategy, you may specify a maximum of five instance type configurations for a fleet.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

", "refs": { "InstanceTypeConfigList$member": null } @@ -1113,7 +1124,7 @@ } }, "InstanceTypeSpecification": { - "base": "

The configuration specification for each instance type in an instance fleet.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions.

", + "base": "

The configuration specification for each instance type in an instance fleet.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

", "refs": { "InstanceTypeSpecificationList$member": null } @@ -1130,10 +1141,10 @@ "CloudWatchAlarmDefinition$EvaluationPeriods": "

The number of periods, in five-minute increments, during which the alarm condition must exist before the alarm triggers automatic scaling activity. The default value is 1.

", "CloudWatchAlarmDefinition$Period": "

The period, in seconds, over which the statistic is applied. CloudWatch metrics for Amazon EMR are emitted every five minutes (300 seconds), so if you specify a CloudWatch metric, specify 300.

", "Cluster$NormalizedInstanceHours": "

An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an Amazon EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

", - "Cluster$EbsRootVolumeSize": "

The size, in GiB, of the Amazon EBS root device volume for the Linux AMI that each Amazon EC2 instance uses. Available in Amazon EMR releases 4.x and higher.

", + "Cluster$EbsRootVolumeSize": "

The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 4.x and later.

", "Cluster$StepConcurrencyLevel": "

Specifies the number of steps that can be executed concurrently.

", - "Cluster$EbsRootVolumeIops": "

The IOPS, of the Amazon EBS root device volume for the Linux AMI that each Amazon EC2 instance uses. Available in Amazon EMR releases 6.15.0 and higher.

", - "Cluster$EbsRootVolumeThroughput": "

The throughput, in MiB/s, of the Amazon EBS root device volume for the Linux AMI that each Amazon EC2 instance uses. Available in Amazon EMR releases 6.15.0 and higher.

", + "Cluster$EbsRootVolumeIops": "

The IOPS, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.

", + "Cluster$EbsRootVolumeThroughput": "

The throughput, in MiB/s, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.

", "ClusterSummary$NormalizedInstanceHours": "

An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an Amazon EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

", "ComputeLimits$MinimumCapacityUnits": "

The lower boundary of Amazon EC2 units. It is measured through vCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

", "ComputeLimits$MaximumCapacityUnits": "

The upper boundary of Amazon EC2 units. It is measured through vCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

", @@ -1152,10 +1163,10 @@ "JobFlowInstancesDetail$NormalizedInstanceHours": "

An approximation of the cost of the cluster, represented in m1.small/hours. This value is increased one time for every hour that an m1.small instance runs. Larger instances are weighted more heavily, so an Amazon EC2 instance that is roughly four times more expensive would result in the normalized instance hours being increased incrementally four times. This result is only an approximation and does not reflect the actual billing rate.

", "ModifyClusterInput$StepConcurrencyLevel": "

The number of steps that can be executed concurrently. You can specify a minimum of 1 step and a maximum of 256 steps. We recommend that you do not change this parameter while steps are running or the ActionOnFailure setting may not behave as expected. For more information see Step$ActionOnFailure.

", "ModifyClusterOutput$StepConcurrencyLevel": "

The number of steps that can be executed concurrently.

", - "RunJobFlowInput$EbsRootVolumeSize": "

The size, in GiB, of the Amazon EBS root device volume for the Linux AMI that each Amazon EC2 instance uses. Available in Amazon EMR releases 4.x and higher.

", + "RunJobFlowInput$EbsRootVolumeSize": "

The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 4.x and later.

", "RunJobFlowInput$StepConcurrencyLevel": "

Specifies the number of steps that can be executed concurrently. The default value is 1. The maximum value is 256.

", - "RunJobFlowInput$EbsRootVolumeIops": "

The IOPS for the Amazon EBS root device volume for the Linux AMI that each Amazon EC2 instance uses. Available in Amazon EMR releases 6.15.0 and higher.

", - "RunJobFlowInput$EbsRootVolumeThroughput": "

The throughput, in MiB/s, of the Amazon EBS root device volume for the Linux AMI that each Amazon EC2 instance uses. Available in Amazon EMR releases 6.15.0 and higher.

", + "RunJobFlowInput$EbsRootVolumeIops": "

The IOPS, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.

", + "RunJobFlowInput$EbsRootVolumeThroughput": "

The throughput, in MiB/s, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.

", "ScalingConstraints$MinCapacity": "

The lower boundary of Amazon EC2 instances in an instance group below which scaling activities are not allowed to shrink. Scale-in activities will not terminate instances below this boundary.

", "ScalingConstraints$MaxCapacity": "

The upper boundary of Amazon EC2 instances in an instance group beyond which scaling activities are not allowed to grow. Scale-out activities will not add instances beyond this boundary.

", "ShrinkPolicy$DecommissionTimeout": "

The desired timeout for decommissioning an instance. Overrides the default YARN decommissioning timeout.

", @@ -1458,7 +1469,7 @@ "NewSupportedProductsList": { "base": null, "refs": { - "RunJobFlowInput$NewSupportedProducts": "

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and higher, use Applications.

A list of strings that indicates third-party software to use with the job flow that accepts a user argument list. Amazon EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action arguments. For more information, see \"Launch a Job Flow on the MapR Distribution for Hadoop\" in the Amazon EMR Developer Guide. Supported values are:

" + "RunJobFlowInput$NewSupportedProducts": "

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.

A list of strings that indicates third-party software to use with the job flow that accepts a user argument list. Amazon EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action arguments. For more information, see \"Launch a Job Flow on the MapR Distribution for Hadoop\" in the Amazon EMR Developer Guide. Supported values are:

" } }, "NonNegativeDouble": { @@ -1545,9 +1556,9 @@ } }, "OnDemandProvisioningSpecification": { - "base": "

The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions. On-Demand Instances allocation strategy is available in Amazon EMR releases 5.12.1 and higher.

", + "base": "

The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. On-Demand Instances allocation strategy is available in Amazon EMR releases 5.12.1 and later.

", "refs": { - "InstanceFleetProvisioningSpecifications$OnDemandSpecification": "

The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions. On-Demand Instances allocation strategy is available in Amazon EMR releases 5.12.1 and higher.

" + "InstanceFleetProvisioningSpecifications$OnDemandSpecification": "

The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. On-Demand Instances allocation strategy is available in Amazon EMR releases 5.12.1 and later.

" } }, "OnDemandResizingSpecification": { @@ -1735,7 +1746,7 @@ } }, "RunJobFlowInput": { - "base": "

Input to the RunJobFlow operation.

", + "base": "

Input to the RunJobFlow operation.

", "refs": { } }, @@ -1747,9 +1758,9 @@ "ScaleDownBehavior": { "base": null, "refs": { - "Cluster$ScaleDownBehavior": "

The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and higher and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR adds nodes to a deny list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION is available only in Amazon EMR releases 4.1.0 and higher, and is the default for versions of Amazon EMR earlier than 5.1.0.

", - "JobFlowDetail$ScaleDownBehavior": "

The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and higher and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR adds nodes to a deny list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR releases 4.1.0 and higher, and is the default for releases of Amazon EMR earlier than 5.1.0.

", - "RunJobFlowInput$ScaleDownBehavior": "

Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and higher and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR adds nodes to a deny list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR releases 4.1.0 and higher, and is the default for releases of Amazon EMR earlier than 5.1.0.

" + "Cluster$ScaleDownBehavior": "

The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR adds nodes to a deny list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION is available only in Amazon EMR releases 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

", + "JobFlowDetail$ScaleDownBehavior": "

The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR adds nodes to a deny list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR releases 4.1.0 and later, and is the default for releases of Amazon EMR earlier than 5.1.0.

", + "RunJobFlowInput$ScaleDownBehavior": "

Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR adds nodes to a deny list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR releases 4.1.0 and later, and is the default for releases of Amazon EMR earlier than 5.1.0.

" } }, "ScalingAction": { @@ -1869,7 +1880,7 @@ } }, "SpotProvisioningSpecification": { - "base": "

The launch specification for Spot Instances in the instance fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions. Spot Instance allocation strategy is available in Amazon EMR releases 5.12.1 and higher.

Spot Instances with a defined duration (also known as Spot blocks) are no longer available to new customers from July 1, 2021. For customers who have previously used the feature, we will continue to support Spot Instances with a defined duration until December 31, 2022.

", + "base": "

The launch specification for Spot Instances in the instance fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. Spot Instance allocation strategy is available in Amazon EMR releases 5.12.1 and later.

Spot Instances with a defined duration (also known as Spot blocks) are no longer available to new customers from July 1, 2021. For customers who have previously used the feature, we will continue to support Spot Instances with a defined duration until December 31, 2022.

", "refs": { "InstanceFleetProvisioningSpecifications$SpotSpecification": "

The launch specification for Spot instances in the fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.

" } @@ -2034,10 +2045,10 @@ "CloudWatchAlarmDefinition$Namespace": "

The namespace for the CloudWatch metric. The default is AWS/ElasticMapReduce.

", "Cluster$Name": "

The name of the cluster.

", "Cluster$LogUri": "

The path to the Amazon S3 location where logs for this cluster are stored.

", - "Cluster$LogEncryptionKmsKeyId": "

The KMS key used for encrypting log files. This attribute is only available with Amazon EMR 5.30.0 and higher, excluding Amazon EMR 6.0.0.

", + "Cluster$LogEncryptionKmsKeyId": "

The KMS key used for encrypting log files. This attribute is only available with Amazon EMR 5.30.0 and later, excluding Amazon EMR 6.0.0.

", "Cluster$RequestedAmiVersion": "

The AMI version requested for this cluster.

", "Cluster$RunningAmiVersion": "

The AMI version running on this cluster.

", - "Cluster$ReleaseLabel": "

The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases version 4.0 and higher. Earlier versions use AmiVersion.

", + "Cluster$ReleaseLabel": "

The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use AmiVersion.

", "Cluster$ServiceRole": "

The IAM role that Amazon EMR assumes in order to access Amazon Web Services resources on your behalf.

", "Cluster$MasterPublicDnsName": "

The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.

", "Cluster$OSReleaseLabel": "

The Amazon Linux release specified in a cluster launch RunJobFlow request. If no Amazon Linux release was specified, the default Amazon Linux release is shown in the response.

", @@ -2137,7 +2148,7 @@ } }, "StudioSummary": { - "base": "

Details for an Amazon EMR Studio, including ID, Name, VPC, and Description. The details do not include subnets, IAM roles, security groups, or tags associated with the Studio.

", + "base": "

Details for an Amazon EMR Studio, including ID, Name, VPC, and Description. To fetch additional details such as subnets, IAM roles, security groups, and tags for the Studio, use the DescribeStudio API.

", "refs": { "StudioSummaryList$member": null } @@ -2178,7 +2189,7 @@ "base": null, "refs": { "JobFlowDetail$SupportedProducts": "

A list of strings set by third-party software when the job flow is launched. If you are not using third-party software to manage the job flow, this value is empty.

", - "RunJobFlowInput$SupportedProducts": "

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and higher, use Applications.

A list of strings that indicates third-party software to use. For more information, see the Amazon EMR Developer Guide. Currently supported values are:

" + "RunJobFlowInput$SupportedProducts": "

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.

A list of strings that indicates third-party software to use. For more information, see the Amazon EMR Developer Guide. Currently supported values are:

" } }, "Tag": { @@ -2278,6 +2289,7 @@ "CreateStudioInput$UserRole": "

The IAM user role that users and groups assume when logged in to an Amazon EMR Studio. Only specify a UserRole when you use IAM Identity Center authentication. The permissions attached to the UserRole can be scoped down for each user or group using session policies.

", "CreateStudioInput$DefaultS3Location": "

The Amazon S3 location to back up Amazon EMR Studio Workspaces and notebook files.

", "CreateStudioInput$IdpAuthUrl": "

The authentication endpoint of your identity provider (IdP). Specify this value when you use IAM authentication and want to let federated users log in to a Studio with the Studio URL and credentials from your IdP. Amazon EMR Studio redirects users to this endpoint to enter credentials.

", + "CreateStudioInput$EncryptionKeyArn": "

The KMS key identifier (ARN) used to encrypt Amazon EMR Studio workspace and notebook files when backed up to Amazon S3.

", "CreateStudioOutput$Url": "

The unique Studio access URL.

", "DeleteSecurityConfigurationInput$Name": "

The name of the security configuration.

", "DescribeSecurityConfigurationInput$Name": "

The name of the security configuration.

", @@ -2287,7 +2299,7 @@ "HadoopJarStepConfig$MainClass": "

The name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.

", "InstanceGroupDetail$LastStateChangeReason": "

Details regarding the state of the instance group.

", "JobFlowDetail$LogUri": "

The location in Amazon S3 where log files for the job are stored.

", - "JobFlowDetail$LogEncryptionKmsKeyId": "

The KMS key used for encrypting log files. This attribute is only available with Amazon EMR 5.30.0 and higher, excluding 6.0.0.

", + "JobFlowDetail$LogEncryptionKmsKeyId": "

The KMS key used for encrypting log files. This attribute is only available with Amazon EMR 5.30.0 and later, excluding 6.0.0.

", "JobFlowDetail$JobFlowRole": "

The IAM role that was specified when the job flow was launched. The Amazon EC2 instances of the job flow assume this role.

", "JobFlowDetail$ServiceRole": "

The IAM role that is assumed by the Amazon EMR service to access Amazon Web Services resources on your behalf.

", "JobFlowDetail$AutoScalingRole": "

An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides a way for the automatic scaling feature to get the required permissions it needs to launch and terminate Amazon EC2 instances in an instance group.

", @@ -2303,7 +2315,7 @@ "NotebookExecutionSummary$ExecutionEngineId": "

The unique ID of the execution engine for the notebook execution.

", "PlacementType$AvailabilityZone": "

The Amazon EC2 Availability Zone for the cluster. AvailabilityZone is used for uniform instance groups, while AvailabilityZones (plural) is used for instance fleets.

", "RunJobFlowInput$LogUri": "

The location in Amazon S3 to write the log files of the job flow. If a value is not provided, logs are not created.

", - "RunJobFlowInput$LogEncryptionKmsKeyId": "

The KMS key used for encrypting log files. If a value is not provided, the logs remain encrypted by AES-256. This attribute is only available with Amazon EMR releases 5.30.0 and higher, excluding Amazon EMR 6.0.0.

", + "RunJobFlowInput$LogEncryptionKmsKeyId": "

The KMS key used for encrypting log files. If a value is not provided, the logs remain encrypted by AES-256. This attribute is only available with Amazon EMR releases 5.30.0 and later, excluding Amazon EMR 6.0.0.

", "RunJobFlowInput$AdditionalInfo": "

A JSON string for selecting additional features.

", "RunJobFlowInput$JobFlowRole": "

Also called instance profile and Amazon EC2 role. An IAM role for an Amazon EMR cluster. The Amazon EC2 instances of the cluster assume this role. The default role is EMR_EC2_DefaultRole. In order to use the default role, you must have already created it using the CLI or console.

", "RunJobFlowInput$ServiceRole": "

The IAM role that Amazon EMR assumes in order to access Amazon Web Services resources on your behalf. If you've created a custom service role path, you must specify it for the service role when you launch your cluster.

", @@ -2320,7 +2332,9 @@ "Studio$Url": "

The unique access URL of the Amazon EMR Studio.

", "Studio$DefaultS3Location": "

The Amazon S3 location to back up Amazon EMR Studio Workspaces and notebook files.

", "Studio$IdpAuthUrl": "

Your identity provider's authentication endpoint. Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL.

", + "Studio$EncryptionKeyArn": "

The KMS key identifier (ARN) used to encrypt Amazon EMR Studio workspace and notebook files when backed up to Amazon S3.

", "UpdateStudioInput$DefaultS3Location": "

The Amazon S3 location to back up Workspaces and notebook files for the Amazon EMR Studio.

", + "UpdateStudioInput$EncryptionKeyArn": "

The KMS key identifier (ARN) used to encrypt Amazon EMR Studio workspace and notebook files when backed up to Amazon S3.

", "XmlStringList$member": null } }, @@ -2347,7 +2361,7 @@ "AddJobFlowStepsInput$JobFlowId": "

A string that uniquely identifies the job flow. This identifier is returned by RunJobFlow and can also be obtained from ListClusters.

", "BootstrapActionConfig$Name": "

The name of the bootstrap action.

", "CancelStepsInput$ClusterId": "

The ClusterID for the specified steps that will be canceled. Use RunJobFlow and ListClusters to get ClusterIDs.

", - "Cluster$CustomAmiId": "

Available only in Amazon EMR releases 5.7.0 and higher. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.

", + "Cluster$CustomAmiId": "

Available only in Amazon EMR releases 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.

", "CreateStudioInput$Name": "

A descriptive name for the Amazon EMR Studio.

", "CreateStudioInput$Description": "

A detailed description of the Amazon EMR Studio.

", "CreateStudioInput$VpcId": "

The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the Studio.

", @@ -2390,7 +2404,7 @@ "InstanceTypeSpecification$CustomAmiId": "

The custom AMI ID to use for the instance type.

", "JobFlowDetail$JobFlowId": "

The job flow identifier.

", "JobFlowDetail$Name": "

The name of the job flow.

", - "JobFlowDetail$AmiVersion": "

Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and higher, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID.

", + "JobFlowDetail$AmiVersion": "

Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID.

", "JobFlowInstancesConfig$Ec2KeyName": "

The name of the Amazon EC2 key pair that can be used to connect to the master node using SSH as the user called \"hadoop.\"

", "JobFlowInstancesConfig$HadoopVersion": "

Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs are \"0.18\" (no longer maintained), \"0.20\" (no longer maintained), \"0.20.205\" (no longer maintained), \"1.0.3\", \"2.2.0\", or \"2.4.0\". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used.

", "JobFlowInstancesConfig$Ec2SubnetId": "

Applies to clusters that use the uniform instance group configuration. To launch the cluster in Amazon Virtual Private Cloud (Amazon VPC), set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this value and your account supports EC2-Classic, the cluster launches in EC2-Classic.

", @@ -2421,9 +2435,9 @@ "OutputNotebookS3LocationForOutput$Bucket": "

The Amazon S3 bucket that stores the notebook execution output.

", "OutputNotebookS3LocationFromInput$Bucket": "

The Amazon S3 bucket that stores the notebook execution output.

", "RunJobFlowInput$Name": "

The name of the job flow.

", - "RunJobFlowInput$AmiVersion": "

Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and higher, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID.

", - "RunJobFlowInput$ReleaseLabel": "

The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases version 4.0 and higher. Earlier versions use AmiVersion.

", - "RunJobFlowInput$CustomAmiId": "

Available only in Amazon EMR releases 5.7.0 and higher. The ID of a custom Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it launches cluster Amazon EC2 instances. For more information about custom AMIs in Amazon EMR, see Using a Custom AMI in the Amazon EMR Management Guide. If omitted, the cluster uses the base Linux AMI for the ReleaseLabel specified. For Amazon EMR releases 2.x and 3.x, use AmiVersion instead.

For information about creating a custom AMI, see Creating an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For information about finding an AMI ID, see Finding a Linux AMI.

", + "RunJobFlowInput$AmiVersion": "

Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID.

", + "RunJobFlowInput$ReleaseLabel": "

The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use AmiVersion.

", + "RunJobFlowInput$CustomAmiId": "

Available only in Amazon EMR releases 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it launches cluster Amazon EC2 instances. For more information about custom AMIs in Amazon EMR, see Using a Custom AMI in the Amazon EMR Management Guide. If omitted, the cluster uses the base Linux AMI for the ReleaseLabel specified. For Amazon EMR releases 2.x and 3.x, use AmiVersion instead.

For information about creating a custom AMI, see Creating an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For information about finding an AMI ID, see Finding a Linux AMI.

", "RunJobFlowInput$OSReleaseLabel": "

Specifies a particular Amazon Linux release for all nodes in a cluster launch RunJobFlow request. If a release is not specified, Amazon EMR uses the latest validated Amazon Linux release for cluster launch.

", "RunJobFlowOutput$JobFlowId": "

A unique identifier for the job flow.

", "SecurityGroupsList$member": null, @@ -2474,8 +2488,8 @@ "refs": { "Ec2InstanceAttributes$RequestedEc2SubnetIds": "

Applies to clusters configured with the instance fleets option. Specifies the unique identifier of one or more Amazon EC2 subnets in which to launch Amazon EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR chooses the Amazon EC2 subnet with the best fit from among the list of RequestedEc2SubnetIds, and then launches all cluster instances within that Subnet. If this value is not specified, and the account and Region support EC2-Classic networks, the cluster launches instances in the EC2-Classic network and uses RequestedEc2AvailabilityZones instead of this setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR chooses the subnet for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

", "Ec2InstanceAttributes$RequestedEc2AvailabilityZones": "

Applies to clusters configured with the instance fleets option. Specifies one or more Availability Zones in which to launch Amazon EC2 cluster instances when the EC2-Classic network configuration is supported. Amazon EMR chooses the Availability Zone with the best fit from among the list of RequestedEc2AvailabilityZones, and then launches all cluster instances within that Availability Zone. If you do not specify this value, Amazon EMR chooses the Availability Zone for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

", - "JobFlowInstancesConfig$Ec2SubnetIds": "

Applies to clusters that use the instance fleet configuration. When multiple Amazon EC2 subnet IDs are specified, Amazon EMR evaluates them and launches instances in the optimal subnet.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions.

", - "PlacementType$AvailabilityZones": "

When multiple Availability Zones are specified, Amazon EMR evaluates them and launches instances in the optimal Availability Zone. AvailabilityZones is used for instance fleets, while AvailabilityZone (singular) is used for uniform instance groups.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and higher, excluding 5.0.x versions.

" + "JobFlowInstancesConfig$Ec2SubnetIds": "

Applies to clusters that use the instance fleet configuration. When multiple Amazon EC2 subnet IDs are specified, Amazon EMR evaluates them and launches instances in the optimal subnet.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

", + "PlacementType$AvailabilityZones": "

When multiple Availability Zones are specified, Amazon EMR evaluates them and launches instances in the optimal Availability Zone. AvailabilityZones is used for instance fleets, while AvailabilityZone (singular) is used for uniform instance groups.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.

" } } } diff --git a/models/apis/eventbridge/2015-10-07/api-2.json b/models/apis/eventbridge/2015-10-07/api-2.json index 3b3add34a4f..ad0e2d26d08 100644 --- a/models/apis/eventbridge/2015-10-07/api-2.json +++ b/models/apis/eventbridge/2015-10-07/api-2.json @@ -2804,7 +2804,8 @@ "type":"string", "enum":[ "ENABLED", - "DISABLED" + "DISABLED", + "ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS" ] }, "RunCommandParameters":{ diff --git a/models/apis/eventbridge/2015-10-07/docs-2.json b/models/apis/eventbridge/2015-10-07/docs-2.json index cd1d08ee739..0d0fad2867c 100644 --- a/models/apis/eventbridge/2015-10-07/docs-2.json +++ b/models/apis/eventbridge/2015-10-07/docs-2.json @@ -4,25 +4,25 @@ "operations": { "ActivateEventSource": "

Activates a partner event source that has been deactivated. Once activated, your matching event bus will start receiving events from the event source.

", "CancelReplay": "

Cancels the specified replay.

", - "CreateApiDestination": "

Creates an API destination, which is an HTTP invocation endpoint configured as a target for events.

", + "CreateApiDestination": "

Creates an API destination, which is an HTTP invocation endpoint configured as a target for events.

API destinations do not support private destinations, such as interface VPC endpoints.

For more information, see API destinations in the EventBridge User Guide.

", "CreateArchive": "

Creates an archive of events with the specified settings. When you create an archive, incoming events might not immediately start being sent to the archive. Allow a short period of time for changes to take effect. If you do not specify a pattern to filter events sent to the archive, all events are sent to the archive except replayed events. Replayed events are not sent to an archive.

", "CreateConnection": "

Creates a connection. A connection defines the authorization type and credentials to use for authorization with an API destination HTTP endpoint.

", "CreateEndpoint": "

Creates a global endpoint. Global endpoints improve your application's availability by making it regional-fault tolerant. To do this, you define a primary and secondary Region with event buses in each Region. You also create a Amazon Route 53 health check that will tell EventBridge to route events to the secondary Region when an \"unhealthy\" state is encountered and events will be routed back to the primary Region when the health check reports a \"healthy\" state.

", "CreateEventBus": "

Creates a new event bus within your account. This can be a custom event bus which you can use to receive events from your custom applications and services, or it can be a partner event bus which can be matched to a partner event source.

", - "CreatePartnerEventSource": "

Called by an SaaS partner to create a partner event source. This operation is not used by Amazon Web Services customers.

Each partner event source can be used by one Amazon Web Services account to create a matching partner event bus in that Amazon Web Services account. A SaaS partner must create one partner event source for each Amazon Web Services account that wants to receive those event types.

A partner event source creates events based on resources within the SaaS partner's service or application.

An Amazon Web Services account that creates a partner event bus that matches the partner event source can use that event bus to receive events from the partner, and then process them using Amazon Web Services Events rules and targets.

Partner event source names follow this format:

partner_name/event_namespace/event_name

partner_name is determined during partner registration and identifies the partner to Amazon Web Services customers. event_namespace is determined by the partner and is a way for the partner to categorize their events. event_name is determined by the partner, and should uniquely identify an event-generating resource within the partner system. The combination of event_namespace and event_name should help Amazon Web Services customers decide whether to create an event bus to receive these events.

", + "CreatePartnerEventSource": "

Called by an SaaS partner to create a partner event source. This operation is not used by Amazon Web Services customers.

Each partner event source can be used by one Amazon Web Services account to create a matching partner event bus in that Amazon Web Services account. A SaaS partner must create one partner event source for each Amazon Web Services account that wants to receive those event types.

A partner event source creates events based on resources within the SaaS partner's service or application.

An Amazon Web Services account that creates a partner event bus that matches the partner event source can use that event bus to receive events from the partner, and then process them using Amazon Web Services Events rules and targets.

Partner event source names follow this format:

partner_name/event_namespace/event_name

The combination of event_namespace and event_name should help Amazon Web Services customers decide whether to create an event bus to receive these events.

", "DeactivateEventSource": "

You can use this operation to temporarily stop receiving events from the specified partner event source. The matching event bus is not deleted.

When you deactivate a partner event source, the source goes into PENDING state. If it remains in PENDING state for more than two weeks, it is deleted.

To activate a deactivated partner event source, use ActivateEventSource.

", "DeauthorizeConnection": "

Removes all authorization parameters from the connection. This lets you remove the secret from the connection so you can reuse it without having to create a new connection.

", "DeleteApiDestination": "

Deletes the specified API destination.

", "DeleteArchive": "

Deletes the specified archive.

", "DeleteConnection": "

Deletes a connection.

", - "DeleteEndpoint": "

Delete an existing global endpoint. For more information about global endpoints, see Making applications Regional-fault tolerant with global endpoints and event replication in the Amazon EventBridge User Guide.

", + "DeleteEndpoint": "

Delete an existing global endpoint. For more information about global endpoints, see Making applications Regional-fault tolerant with global endpoints and event replication in the Amazon EventBridge User Guide.

", "DeleteEventBus": "

Deletes the specified custom event bus or partner event bus. All rules associated with this event bus need to be deleted. You can't delete your account's default event bus.

", "DeletePartnerEventSource": "

This operation is used by SaaS partners to delete a partner event source. This operation is not used by Amazon Web Services customers.

When you delete an event source, the status of the corresponding partner event bus in the Amazon Web Services customer account becomes DELETED.

", "DeleteRule": "

Deletes the specified rule.

Before you can delete the rule, you must remove all targets, using RemoveTargets.

When you delete a rule, incoming events might continue to match to the deleted rule. Allow a short period of time for changes to take effect.

If you call delete rule multiple times for the same rule, all calls will succeed. When you call delete rule for a non-existent custom eventbus, ResourceNotFoundException is returned.

Managed rules are rules created and managed by another Amazon Web Services service on your behalf. These rules are created by those other Amazon Web Services services to support functionality in those services. You can delete these rules using the Force option, but you should do so only if you are sure the other service is not still using that rule.

", "DescribeApiDestination": "

Retrieves details about an API destination.

", "DescribeArchive": "

Retrieves details about an archive.

", "DescribeConnection": "

Retrieves details about a connection.

", - "DescribeEndpoint": "

Get the information about an existing global endpoint. For more information about global endpoints, see Making applications Regional-fault tolerant with global endpoints and event replication in the Amazon EventBridge User Guide..

", + "DescribeEndpoint": "

Get the information about an existing global endpoint. For more information about global endpoints, see Making applications Regional-fault tolerant with global endpoints and event replication in the Amazon EventBridge User Guide.

", "DescribeEventBus": "

Displays details about an event bus in your account. This can include the external Amazon Web Services accounts that are permitted to write events to your default event bus, and the associated policy. For custom event buses and partner event buses, it displays the name, ARN, policy, state, and creation time.

To enable your account to receive events from other accounts on its default event bus, use PutPermission.

For more information about partner event buses, see CreateEventBus.

", "DescribeEventSource": "

This operation lists details about a partner event source that is shared with your account.

", "DescribePartnerEventSource": "

An SaaS partner can use this operation to list details about a partner event source that they have created. Amazon Web Services customers do not use this operation. Instead, Amazon Web Services customers can use DescribeEventSource to see details about a partner event source that is shared with them.

", @@ -33,23 +33,23 @@ "ListApiDestinations": "

Retrieves a list of API destination in the account in the current Region.

", "ListArchives": "

Lists your archives. You can either list all the archives or you can provide a prefix to match to the archive names. Filter parameters are exclusive.

", "ListConnections": "

Retrieves a list of connections from the account.

", - "ListEndpoints": "

List the global endpoints associated with this account. For more information about global endpoints, see Making applications Regional-fault tolerant with global endpoints and event replication in the Amazon EventBridge User Guide..

", + "ListEndpoints": "

List the global endpoints associated with this account. For more information about global endpoints, see Making applications Regional-fault tolerant with global endpoints and event replication in the Amazon EventBridge User Guide.

", "ListEventBuses": "

Lists all the event buses in your account, including the default event bus, custom event buses, and partner event buses.

", "ListEventSources": "

You can use this to see all the partner event sources that have been shared with your Amazon Web Services account. For more information about partner event sources, see CreateEventBus.

", "ListPartnerEventSourceAccounts": "

An SaaS partner can use this operation to display the Amazon Web Services account ID that a particular partner event source name is associated with. This operation is not used by Amazon Web Services customers.

", "ListPartnerEventSources": "

An SaaS partner can use this operation to list all the partner event source names that they have created. This operation is not used by Amazon Web Services customers.

", "ListReplays": "

Lists your replays. You can either list all the replays or you can provide a prefix to match to the replay names. Filter parameters are exclusive.

", - "ListRuleNamesByTarget": "

Lists the rules for the specified target. You can see which of the rules in Amazon EventBridge can invoke a specific target in your account.

", - "ListRules": "

Lists your Amazon EventBridge rules. You can either list all the rules or you can provide a prefix to match to the rule names.

ListRules does not list the targets of a rule. To see the targets associated with a rule, use ListTargetsByRule.

", + "ListRuleNamesByTarget": "

Lists the rules for the specified target. You can see which of the rules in Amazon EventBridge can invoke a specific target in your account.

The maximum number of results per page for requests is 100.

", + "ListRules": "

Lists your Amazon EventBridge rules. You can either list all the rules or you can provide a prefix to match to the rule names.

The maximum number of results per page for requests is 100.

ListRules does not list the targets of a rule. To see the targets associated with a rule, use ListTargetsByRule.

", "ListTagsForResource": "

Displays the tags associated with an EventBridge resource. In EventBridge, rules and event buses can be tagged.

", - "ListTargetsByRule": "

Lists the targets assigned to the specified rule.

", - "PutEvents": "

Sends custom events to Amazon EventBridge so that they can be matched to rules.

PutEvents will only process nested JSON up to 1100 levels deep.

", - "PutPartnerEvents": "

This is used by SaaS partners to write events to a customer's partner event bus. Amazon Web Services customers do not use this operation.

", + "ListTargetsByRule": "

Lists the targets assigned to the specified rule.

The maximum number of results per page for requests is 100.

", + "PutEvents": "

Sends custom events to Amazon EventBridge so that they can be matched to rules.

The maximum size for a PutEvents event entry is 256 KB. Entry size is calculated including the event and any necessary characters and keys of the JSON representation of the event. To learn more, see Calculating PutEvents event entry size in the Amazon EventBridge User Guide

PutEvents accepts the data in JSON format. For the JSON number (integer) data type, the constraints are: a minimum value of -9,223,372,036,854,775,808 and a maximum value of 9,223,372,036,854,775,807.

PutEvents will only process nested JSON up to 1100 levels deep.

", + "PutPartnerEvents": "

This is used by SaaS partners to write events to a customer's partner event bus. Amazon Web Services customers do not use this operation.

For information on calculating event batch size, see Calculating EventBridge PutEvents event entry size in the EventBridge User Guide.

", "PutPermission": "

Running PutPermission permits the specified Amazon Web Services account or Amazon Web Services organization 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.

To enable multiple Amazon Web Services accounts to put events to your event bus, run PutPermission once for each of these accounts. Or, if all the accounts are members of the same Amazon Web Services organization, you can run PutPermission once specifying Principal as \"*\" and specifying the Amazon Web Services organization ID in Condition, to grant permissions to all accounts in that organization.

If you grant permissions using an organization, then accounts in that organization must specify a RoleArn with proper permissions when they use PutTarget to add your account's event bus as a target. For more information, see Sending and Receiving Events Between Amazon Web Services Accounts in the Amazon EventBridge User Guide.

The permission policy on the event bus cannot exceed 10 KB in size.

", "PutRule": "

Creates or updates the specified rule. Rules are enabled by default, or based on value of the state. You can disable a rule using DisableRule.

A single rule watches for events from a single event bus. Events generated by Amazon Web Services services go to your account's default event bus. Events generated by SaaS partner services or applications go to the matching partner event bus. If you have custom applications or services, you can specify whether their events go to your default event bus or a custom event bus that you have created. For more information, see CreateEventBus.

If you are updating an existing rule, the rule is replaced with what you specify in this PutRule command. If you omit arguments in PutRule, the old values for those arguments are not kept. Instead, they are replaced with null values.

When you create or update a rule, incoming events might not immediately start matching to new or updated rules. Allow a short period of time for changes to take effect.

A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule triggers on matching events as well as on a schedule.

When you initially create a rule, you can optionally assign one or more tags to the rule. 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 rules with certain tag values. To use the PutRule operation and assign tags, you must have both the events:PutRule and events:TagResource permissions.

If you are updating an existing rule, any tags you specify in the PutRule operation are ignored. To update the tags of an existing rule, use TagResource and UntagResource.

Most services in Amazon Web Services treat : or / as the same character in Amazon Resource Names (ARNs). However, EventBridge uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

In EventBridge, it is possible to create rules that lead to infinite loops, where a rule is fired repeatedly. For example, a rule might detect that ACLs have changed on an S3 bucket, and trigger software to change them to the desired state. If the rule is not written carefully, the subsequent change to the ACLs fires the rule again, creating an infinite loop.

To prevent this, write the rules so that the triggered actions do not re-fire the same rule. For example, your rule could fire only if ACLs are found to be in a bad state, instead of after any change.

An infinite loop can quickly cause higher than expected charges. We recommend that you use budgeting, which alerts you when charges exceed your specified limit. For more information, see Managing Your Costs with Budgets.

", - "PutTargets": "

Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.

Targets are the resources that are invoked when a rule is triggered.

Each rule can have up to five (5) targets associated with it at one time.

You can configure the following as targets for Events:

Creating rules with built-in targets is supported only in the Amazon Web Services Management Console. The built-in targets are EC2 CreateSnapshot API call, EC2 RebootInstances API call, EC2 StopInstances API call, and EC2 TerminateInstances API call.

For some target types, PutTargets provides target-specific parameters. If the target is a Kinesis data stream, you can optionally specify which shard the event goes to by using the KinesisParameters argument. To invoke a command 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 EventBridge needs the appropriate permissions. For Lambda and Amazon SNS resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis Data Streams, Step Functions state machines and API Gateway APIs, EventBridge relies on IAM roles that you specify in the RoleARN argument in PutTargets. For more information, see Authentication and Access Control in the Amazon EventBridge User Guide.

If another Amazon Web Services account is in the same region and has granted you permission (using PutPermission), you can send events to that account. Set that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the Arn value when 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 EventBridge Pricing.

Input, InputPath, and InputTransformer are not available with PutTarget if the target is an event bus of a different Amazon Web Services account.

If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a RoleArn with proper permissions in the Target structure. For more information, see Sending and Receiving Events Between Amazon Web Services Accounts in the Amazon EventBridge User Guide.

For more information about enabling cross-account events, see PutPermission.

Input, InputPath, and InputTransformer are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event:

When you specify InputPath or InputTransformer, you must use JSON dot notation, not bracket notation.

When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

", + "PutTargets": "

Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.

Targets are the resources that are invoked when a rule is triggered.

The maximum number of entries per request is 10.

Each rule can have up to five (5) targets associated with it at one time.

For a list of services you can configure as targets for events, see EventBridge targets in the Amazon EventBridge User Guide.

Creating rules with built-in targets is supported only in the Amazon Web Services Management Console. The built-in targets are:

For some target types, PutTargets provides target-specific parameters. If the target is a Kinesis data stream, you can optionally specify which shard the event goes to by using the KinesisParameters argument. To invoke a command 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 EventBridge needs the appropriate permissions:

For more information, see Authentication and Access Control in the Amazon EventBridge User Guide.

If another Amazon Web Services account is in the same region and has granted you permission (using PutPermission), you can send events to that account. Set that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the Arn value when 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 EventBridge Pricing.

Input, InputPath, and InputTransformer are not available with PutTarget if the target is an event bus of a different Amazon Web Services account.

If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a RoleArn with proper permissions in the Target structure. For more information, see Sending and Receiving Events Between Amazon Web Services Accounts in the Amazon EventBridge User Guide.

If you have an IAM role on a cross-account event bus target, a PutTargets call without a role on the same target (same Id and Arn) will not remove the role.

For more information about enabling cross-account events, see PutPermission.

Input, InputPath, and InputTransformer are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event:

When you specify InputPath or InputTransformer, you must use JSON dot notation, not bracket notation.

When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

", "RemovePermission": "

Revokes the permission of another Amazon Web Services account to be able to put events to the specified event bus. Specify the account to revoke by the StatementId value that you associated with the account when you granted it permission with PutPermission. You can find the StatementId by using DescribeEventBus.

", - "RemoveTargets": "

Removes the specified targets from the specified rule. When the rule is triggered, those targets are no longer be invoked.

A successful execution of RemoveTargets doesn't guarantee all targets are removed from the rule, it means that the target(s) listed in the request are removed.

When you remove a target, when the associated rule triggers, removed targets might continue to be invoked. Allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

", + "RemoveTargets": "

Removes the specified targets from the specified rule. When the rule is triggered, those targets are no longer be invoked.

A successful execution of RemoveTargets doesn't guarantee all targets are removed from the rule, it means that the target(s) listed in the request are removed.

When you remove a target, when the associated rule triggers, removed targets might continue to be invoked. Allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

The maximum number of entries per request is 10.

", "StartReplay": "

Starts the specified replay. Events are not necessarily replayed in the exact same order that they were added to the archive. A replay processes events to replay based on the time in the event, and replays them using 1 minute intervals. If you specify an EventStartTime and an EventEndTime that covers a 20 minute time range, the events are replayed from the first minute of that 20 minute range first. Then the events from the second minute are replayed. You can use DescribeReplay to determine the progress of a replay. The value returned for EventLastReplayedTime indicates the time within the specified time range associated with the last event replayed.

", "TagResource": "

Assigns one or more tags (key-value pairs) to the specified EventBridge 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. In EventBridge, rules and event buses can be tagged.

Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.

You can use the TagResource action with a resource that already has tags. If you specify a new tag key, 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.

", "TestEventPattern": "

Tests whether the specified event pattern matches the provided event.

Most services in Amazon Web Services treat : or / as the same character in Amazon Resource Names (ARNs). However, EventBridge uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

", @@ -57,7 +57,7 @@ "UpdateApiDestination": "

Updates an API destination.

", "UpdateArchive": "

Updates the specified archive.

", "UpdateConnection": "

Updates settings for a connection.

", - "UpdateEndpoint": "

Update an existing endpoint. For more information about global endpoints, see Making applications Regional-fault tolerant with global endpoints and event replication in the Amazon EventBridge User Guide..

" + "UpdateEndpoint": "

Update an existing endpoint. For more information about global endpoints, see Making applications Regional-fault tolerant with global endpoints and event replication in the Amazon EventBridge User Guide.

" }, "shapes": { "AccountId": { @@ -613,7 +613,7 @@ "DbUser": { "base": "Database user name", "refs": { - "RedshiftDataParameters$DbUser": "

The database user name. Required when authenticating using temporary credentials.

Do not provide this parameter when connecting to a Redshift Serverless workgroup.

" + "RedshiftDataParameters$DbUser": "

The database user name. Required when authenticating using temporary credentials.

" } }, "DeactivateEventSourceRequest": { @@ -799,7 +799,7 @@ } }, "Endpoint": { - "base": "

A global endpoint used to improve your application's availability by making it regional-fault tolerant. For more information about global endpoints, see Making applications Regional-fault tolerant with global endpoints and event replication in the Amazon EventBridge User Guide.

", + "base": "

A global endpoint used to improve your application's availability by making it regional-fault tolerant. For more information about global endpoints, see Making applications Regional-fault tolerant with global endpoints and event replication in the Amazon EventBridge User Guide.

", "refs": { "EndpointList$member": null } @@ -895,7 +895,7 @@ "ErrorCode": { "base": null, "refs": { - "PutEventsResultEntry$ErrorCode": "

The error code that indicates why the event submission failed.

", + "PutEventsResultEntry$ErrorCode": "

The error code that indicates why the event submission failed.

Retryable errors include:

Non-retryable errors include:

", "PutPartnerEventsResultEntry$ErrorCode": "

The error code that indicates why the event submission failed.

", "PutTargetsResultEntry$ErrorCode": "

The error code that indicates why the target addition failed. If the value is ConcurrentModificationException, too many requests were made at the same time.

", "RemoveTargetsResultEntry$ErrorCode": "

The error code that indicates why the target removal failed. If the value is ConcurrentModificationException, too many requests were made at the same time.

" @@ -1003,7 +1003,7 @@ "DescribeEventSourceRequest$Name": "

The name of the partner event source to display the details of.

", "DescribePartnerEventSourceRequest$Name": "

The name of the event source to display.

", "ListPartnerEventSourceAccountsRequest$EventSourceName": "

The name of the partner event source to display account information about.

", - "PutPartnerEventsRequestEntry$Source": "

The event source that is generating the entry.

" + "PutPartnerEventsRequestEntry$Source": "

The event source that is generating the entry.

Detail, DetailType, and Source are required for EventBridge to successfully send an event to an event bus. If you include event entries in a request that do not include each of those properties, EventBridge fails that entry. If you submit a request in which none of the entries have each of these properties, EventBridge fails the entire request.

" } }, "EventSourceNamePrefix": { @@ -1403,7 +1403,7 @@ "NonPartnerEventBusNameOrArn": { "base": null, "refs": { - "PutEventsRequestEntry$EventBusName": "

The name or ARN of the event bus to receive the event. Only the rules that are associated with this event bus are used to match the event. If you omit this, the default event bus is used.

If you're using a global endpoint with a custom bus, you must enter the name, not the ARN, of the event bus in either the primary or secondary Region here and the corresponding event bus in the other Region will be determined based on the endpoint referenced by the EndpointId.

" + "PutEventsRequestEntry$EventBusName": "

The name or ARN of the event bus to receive the event. Only the rules that are associated with this event bus are used to match the event. If you omit this, the default event bus is used.

If you're using a global endpoint with a custom bus, you can enter either the name or Amazon Resource Name (ARN) of the event bus in either the primary or secondary Region here. EventBridge then determines the corresponding event bus in the other Region based on the endpoint referenced by the EndpointId. Specifying the event bus ARN is preferred.

" } }, "OperationDisabledException": { @@ -1547,7 +1547,7 @@ } }, "PutEventsResultEntry": { - "base": "

Represents an event that failed to be submitted. For information about the errors that are common to all actions, see Common Errors.

", + "base": "

Represents the results of an event submitted to an event bus.

If the submission was successful, the entry has the event ID in it. Otherwise, you can use the error code and error message to identify the problem with the entry.

For information about the errors that are common to all actions, see Common Errors.

", "refs": { "PutEventsResultEntryList$member": null } @@ -1581,7 +1581,7 @@ } }, "PutPartnerEventsResultEntry": { - "base": "

Represents an event that a partner tried to generate, but failed.

", + "base": "

The result of an event entry the partner submitted in this request. If the event was successfully submitted, the entry has the event ID in it. Otherwise, you can use the error code and error message to identify the problem with the entry.

", "refs": { "PutPartnerEventsResultEntryList$member": null } @@ -1589,7 +1589,7 @@ "PutPartnerEventsResultEntryList": { "base": null, "refs": { - "PutPartnerEventsResponse$Entries": "

The list of events from this operation that were successfully written to the partner event bus.

" + "PutPartnerEventsResponse$Entries": "

The results for each event entry the partner submitted in this request. If the event was successfully submitted, the entry has the event ID in it. Otherwise, you can use the error code and error message to identify the problem with the entry.

For each record, the index of the response element is the same as the index in the request array.

" } }, "PutPermissionRequest": { @@ -1655,7 +1655,7 @@ } }, "RedshiftDataParameters": { - "base": "

These are custom parameters to be used when the target is a Amazon Redshift cluster or Redshift Serverless workgroup to invoke the Amazon Redshift Data API ExecuteStatement based on EventBridge events.

", + "base": "

These are custom parameters to be used when the target is a Amazon Redshift cluster to invoke the Amazon Redshift Data API ExecuteStatement based on EventBridge events.

", "refs": { "Target$RedshiftDataParameters": "

Contains the Amazon Redshift Data API parameters to use when the target is a Amazon Redshift cluster.

If you specify a Amazon Redshift Cluster as a Target, you can use this to specify parameters to invoke the Amazon Redshift Data API ExecuteStatement based on EventBridge events.

" } @@ -1898,8 +1898,8 @@ "base": null, "refs": { "DescribeRuleResponse$State": "

Specifies whether the rule is enabled or disabled.

", - "PutRuleRequest$State": "

Indicates whether the rule is enabled or disabled.

", - "Rule$State": "

The state of the rule.

" + "PutRuleRequest$State": "

The state of the rule.

Valid values include:

", + "Rule$State": "

The state of the rule.

Valid values include:

" } }, "RunCommandParameters": { @@ -2004,7 +2004,7 @@ "Sqls": { "base": "A list of SQLs.", "refs": { - "RedshiftDataParameters$Sqls": null + "RedshiftDataParameters$Sqls": "

One or more SQL statements to run. The SQL statements are run as a single transaction. They run serially in the order of the array. Subsequent SQL statements don't start until the previous statement in the array completes. If any SQL statement fails, then because they are run as one transaction, all work is rolled back.

" } }, "SqsParameters": { @@ -2065,11 +2065,11 @@ "EventSource$Name": "

The name of the event source.

", "PartnerEventSource$Arn": "

The ARN of the partner event source.

", "PartnerEventSource$Name": "

The name of the partner event source.

", - "PutEventsRequestEntry$Source": "

The source of the event.

", - "PutEventsRequestEntry$DetailType": "

Free-form string, with a maximum of 128 characters, used to decide what fields to expect in the event detail.

", - "PutEventsRequestEntry$Detail": "

A valid JSON object. There is no other schema imposed. The JSON object may contain fields and nested subobjects.

", - "PutPartnerEventsRequestEntry$DetailType": "

A free-form string, with a maximum of 128 characters, used to decide what fields to expect in the event detail.

", - "PutPartnerEventsRequestEntry$Detail": "

A valid JSON string. There is no other schema imposed. The JSON string may contain fields and nested subobjects.

", + "PutEventsRequestEntry$Source": "

The source of the event.

Detail, DetailType, and Source are required for EventBridge to successfully send an event to an event bus. If you include event entries in a request that do not include each of those properties, EventBridge fails that entry. If you submit a request in which none of the entries have each of these properties, EventBridge fails the entire request.

", + "PutEventsRequestEntry$DetailType": "

Free-form string, with a maximum of 128 characters, used to decide what fields to expect in the event detail.

Detail, DetailType, and Source are required for EventBridge to successfully send an event to an event bus. If you include event entries in a request that do not include each of those properties, EventBridge fails that entry. If you submit a request in which none of the entries have each of these properties, EventBridge fails the entire request.

", + "PutEventsRequestEntry$Detail": "

A valid JSON object. There is no other schema imposed. The JSON object may contain fields and nested sub-objects.

Detail, DetailType, and Source are required for EventBridge to successfully send an event to an event bus. If you include event entries in a request that do not include each of those properties, EventBridge fails that entry. If you submit a request in which none of the entries have each of these properties, EventBridge fails the entire request.

", + "PutPartnerEventsRequestEntry$DetailType": "

A free-form string, with a maximum of 128 characters, used to decide what fields to expect in the event detail.

Detail, DetailType, and Source are required for EventBridge to successfully send an event to an event bus. If you include event entries in a request that do not include each of those properties, EventBridge fails that entry. If you submit a request in which none of the entries have each of these properties, EventBridge fails the entire request.

", + "PutPartnerEventsRequestEntry$Detail": "

A valid JSON string. There is no other schema imposed. The JSON string may contain fields and nested sub-objects.

Detail, DetailType, and Source are required for EventBridge to successfully send an event to an event bus. If you include event entries in a request that do not include each of those properties, EventBridge fails that entry. If you submit a request in which none of the entries have each of these properties, EventBridge fails the entire request.

", "PutPermissionRequest$Policy": "

A JSON string that describes the permission policy statement. You can include a Policy parameter in the request instead of using the StatementId, Action, Principal, or Condition parameters.

", "StringList$member": null, "TestEventPatternRequest$Event": "

The event, in JSON format, to test against the event pattern. The JSON must follow the format specified in Amazon Web Services Events, and the following fields are mandatory:

" diff --git a/models/apis/eventbridge/2015-10-07/endpoint-rule-set-1.json b/models/apis/eventbridge/2015-10-07/endpoint-rule-set-1.json index c40edab9d49..46c93ffd489 100644 --- a/models/apis/eventbridge/2015-10-07/endpoint-rule-set-1.json +++ b/models/apis/eventbridge/2015-10-07/endpoint-rule-set-1.json @@ -62,7 +62,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -76,7 +75,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -90,7 +88,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -134,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -154,7 +150,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -175,14 +170,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -203,21 +200,24 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid Configuration: FIPS is not supported with EventBridge multi-region endpoints.", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "EndpointId must be a valid host label.", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -230,7 +230,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -273,7 +272,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -286,7 +286,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -300,7 +299,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -323,7 +321,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -358,7 +355,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -369,14 +365,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -390,14 +388,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -406,11 +402,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -459,14 +455,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -480,7 +478,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -500,7 +497,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -511,14 +507,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -529,9 +527,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/internetmonitor/2021-06-03/api-2.json b/models/apis/internetmonitor/2021-06-03/api-2.json index d26f6a7ad37..5273bc9bb07 100644 --- a/models/apis/internetmonitor/2021-06-03/api-2.json +++ b/models/apis/internetmonitor/2021-06-03/api-2.json @@ -80,6 +80,40 @@ {"shape":"ValidationException"} ] }, + "GetQueryResults":{ + "name":"GetQueryResults", + "http":{ + "method":"GET", + "requestUri":"/v20210603/Monitors/{MonitorName}/Queries/{QueryId}/Results", + "responseCode":200 + }, + "input":{"shape":"GetQueryResultsInput"}, + "output":{"shape":"GetQueryResultsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ValidationException"} + ] + }, + "GetQueryStatus":{ + "name":"GetQueryStatus", + "http":{ + "method":"GET", + "requestUri":"/v20210603/Monitors/{MonitorName}/Queries/{QueryId}/Status", + "responseCode":200 + }, + "input":{"shape":"GetQueryStatusInput"}, + "output":{"shape":"GetQueryStatusOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ValidationException"} + ] + }, "ListHealthEvents":{ "name":"ListHealthEvents", "http":{ @@ -129,6 +163,40 @@ {"shape":"InternalServerErrorException"} ] }, + "StartQuery":{ + "name":"StartQuery", + "http":{ + "method":"POST", + "requestUri":"/v20210603/Monitors/{MonitorName}/Queries", + "responseCode":200 + }, + "input":{"shape":"StartQueryInput"}, + "output":{"shape":"StartQueryOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ValidationException"} + ] + }, + "StopQuery":{ + "name":"StopQuery", + "http":{ + "method":"DELETE", + "requestUri":"/v20210603/Monitors/{MonitorName}/Queries/{QueryId}", + "responseCode":200 + }, + "input":{"shape":"StopQueryInput"}, + "output":{"shape":"StopQueryOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ValidationException"} + ] + }, "TagResource":{ "name":"TagResource", "http":{ @@ -281,6 +349,22 @@ "type":"double", "box":true }, + "FilterList":{ + "type":"list", + "member":{"shape":"String"} + }, + "FilterParameter":{ + "type":"structure", + "members":{ + "Field":{"shape":"String"}, + "Operator":{"shape":"Operator"}, + "Values":{"shape":"FilterList"} + } + }, + "FilterParameters":{ + "type":"list", + "member":{"shape":"FilterParameter"} + }, "GetHealthEventInput":{ "type":"structure", "required":[ @@ -362,6 +446,73 @@ "HealthEventsConfig":{"shape":"HealthEventsConfig"} } }, + "GetQueryResultsInput":{ + "type":"structure", + "required":[ + "MonitorName", + "QueryId" + ], + "members":{ + "MonitorName":{ + "shape":"ResourceName", + "location":"uri", + "locationName":"MonitorName" + }, + "QueryId":{ + "shape":"String", + "location":"uri", + "locationName":"QueryId" + }, + "NextToken":{ + "shape":"String", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"QueryMaxResults", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "GetQueryResultsOutput":{ + "type":"structure", + "required":[ + "Fields", + "Data" + ], + "members":{ + "Fields":{"shape":"QueryFields"}, + "Data":{"shape":"QueryData"}, + "NextToken":{"shape":"String"} + } + }, + "GetQueryStatusInput":{ + "type":"structure", + "required":[ + "MonitorName", + "QueryId" + ], + "members":{ + "MonitorName":{ + "shape":"ResourceName", + "location":"uri", + "locationName":"MonitorName" + }, + "QueryId":{ + "shape":"String", + "location":"uri", + "locationName":"QueryId" + } + } + }, + "GetQueryStatusOutput":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{"shape":"QueryStatus"} + } + }, "HealthEvent":{ "type":"structure", "required":[ @@ -612,11 +763,13 @@ }, "MaxCityNetworksToMonitor":{ "type":"integer", + "box":true, "max":500000, "min":1 }, "MaxResults":{ "type":"integer", + "box":true, "max":25, "min":1 }, @@ -703,6 +856,13 @@ }, "exception":true }, + "Operator":{ + "type":"string", + "enum":[ + "EQUALS", + "NOT_EQUALS" + ] + }, "Percentage":{ "type":"double", "max":100, @@ -717,6 +877,49 @@ "RoundTripTime":{"shape":"RoundTripTime"} } }, + "QueryData":{ + "type":"list", + "member":{"shape":"QueryRow"} + }, + "QueryField":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Type":{"shape":"String"} + } + }, + "QueryFields":{ + "type":"list", + "member":{"shape":"QueryField"} + }, + "QueryMaxResults":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, + "QueryRow":{ + "type":"list", + "member":{"shape":"String"} + }, + "QueryStatus":{ + "type":"string", + "enum":[ + "QUEUED", + "RUNNING", + "SUCCEEDED", + "FAILED", + "CANCELED" + ] + }, + "QueryType":{ + "type":"string", + "enum":[ + "MEASUREMENTS", + "TOP_LOCATIONS", + "TOP_LOCATION_DETAILS" + ] + }, "ResourceName":{ "type":"string", "max":255, @@ -758,6 +961,57 @@ "type":"list", "member":{"shape":"Arn"} }, + "StartQueryInput":{ + "type":"structure", + "required":[ + "MonitorName", + "StartTime", + "EndTime", + "QueryType" + ], + "members":{ + "MonitorName":{ + "shape":"ResourceName", + "location":"uri", + "locationName":"MonitorName" + }, + "StartTime":{"shape":"SyntheticTimestamp_date_time"}, + "EndTime":{"shape":"SyntheticTimestamp_date_time"}, + "QueryType":{"shape":"QueryType"}, + "FilterParameters":{"shape":"FilterParameters"} + } + }, + "StartQueryOutput":{ + "type":"structure", + "required":["QueryId"], + "members":{ + "QueryId":{"shape":"String"} + } + }, + "StopQueryInput":{ + "type":"structure", + "required":[ + "MonitorName", + "QueryId" + ], + "members":{ + "MonitorName":{ + "shape":"ResourceName", + "location":"uri", + "locationName":"MonitorName" + }, + "QueryId":{ + "shape":"String", + "location":"uri", + "locationName":"QueryId" + } + } + }, + "StopQueryOutput":{ + "type":"structure", + "members":{ + } + }, "String":{"type":"string"}, "SyntheticTimestamp_date_time":{ "type":"timestamp", @@ -832,6 +1086,7 @@ }, "TrafficPercentageToMonitor":{ "type":"integer", + "box":true, "max":100, "min":1 }, diff --git a/models/apis/internetmonitor/2021-06-03/docs-2.json b/models/apis/internetmonitor/2021-06-03/docs-2.json index fd8c2dd3c0e..9bc50cd17d3 100644 --- a/models/apis/internetmonitor/2021-06-03/docs-2.json +++ b/models/apis/internetmonitor/2021-06-03/docs-2.json @@ -6,9 +6,13 @@ "DeleteMonitor": "

Deletes a monitor in Amazon CloudWatch Internet Monitor.

", "GetHealthEvent": "

Gets information the Amazon CloudWatch Internet Monitor has created and stored about a health event for a specified monitor. This information includes the impacted locations, and all the information related to the event, by location.

The information returned includes the impact on performance, availability, and round-trip time, information about the network providers (ASNs), the event type, and so on.

Information rolled up at the global traffic level is also returned, including the impact type and total traffic impact.

", "GetMonitor": "

Gets information about a monitor in Amazon CloudWatch Internet Monitor based on a monitor name. The information returned includes the Amazon Resource Name (ARN), create time, modified time, resources included in the monitor, and status information.

", + "GetQueryResults": "

Return the data for a query with the Amazon CloudWatch Internet Monitor query interface. Specify the query that you want to return results for by providing a QueryId and a monitor name.

For more information about using the query interface, including examples, see Using the Amazon CloudWatch Internet Monitor query interface in the Amazon CloudWatch Internet Monitor User Guide.

", + "GetQueryStatus": "

Returns the current status of a query for the Amazon CloudWatch Internet Monitor query interface, for a specified query ID and monitor. When you run a query, check the status to make sure that the query has SUCCEEDED before you review the results.

", "ListHealthEvents": "

Lists all health events for a monitor in Amazon CloudWatch Internet Monitor. Returns information for health events including the event start and end time and the status.

Health events that have start times during the time frame that is requested are not included in the list of health events.

", "ListMonitors": "

Lists all of your monitors for Amazon CloudWatch Internet Monitor and their statuses, along with the Amazon Resource Name (ARN) and name of each monitor.

", "ListTagsForResource": "

Lists the tags for a resource. Tags are supported only for monitors in Amazon CloudWatch Internet Monitor.

", + "StartQuery": "

Start a query to return data for a specific query type for the Amazon CloudWatch Internet Monitor query interface. Specify a time period for the data that you want returned by using StartTime and EndTime. You filter the query results to return by providing parameters that you specify with FilterParameters.

For more information about using the query interface, including examples, see Using the Amazon CloudWatch Internet Monitor query interface in the Amazon CloudWatch Internet Monitor User Guide.

", + "StopQuery": "

Stop a query that is progress for a specific monitor.

", "TagResource": "

Adds a tag to a resource. Tags are supported only for monitors in Amazon CloudWatch Internet Monitor. You can add a maximum of 50 tags in Internet Monitor.

A minimum of one tag is required for this call. It returns an error if you use the TagResource request with 0 tags.

", "UntagResource": "

Removes a tag from a resource.

", "UpdateMonitor": "

Updates a monitor. You can update a monitor to change the percentage of traffic to monitor or the maximum number of city-networks (locations and ASNs), to add or remove resources, or to change the status of the monitor. Note that you can't change the name of a monitor.

The city-network maximum that you choose is the limit, but you only pay for the number of city-networks that are actually monitored. For more information, see Choosing a city-network maximum value in the Amazon CloudWatch User Guide.

" @@ -81,6 +85,24 @@ "RoundTripTime$P95": "

RTT at the 95th percentile (p95).

" } }, + "FilterList": { + "base": null, + "refs": { + "FilterParameter$Values": "

One or more values to be used, together with the specified operator, to filter data for a query. For example, you could specify an array of values such as [\"Seattle\", \"Redmond\"]. Values in the array are separated by commas.

" + } + }, + "FilterParameter": { + "base": "

A filter that you use with the results of a Amazon CloudWatch Internet Monitor query that you created and ran. The query sets up a repository of data that is a subset of your application's Internet Monitor data. FilterParameter is a string that defines how you want to filter the repository of data to return a set of results, based on your criteria.

The filter parameters that you can specify depend on the query type that you used to create the repository, since each query type returns a different set of Internet Monitor data.

For each filter, you specify a field (such as city), an operator (such as not_equals, and a value or array of values (such as [\"Seattle\", \"Redmond\"]). Separate values in the array with commas.

For more information about specifying filter parameters, see Using the Amazon CloudWatch Internet Monitor query interface in the Amazon CloudWatch Internet Monitor User Guide.

", + "refs": { + "FilterParameters$member": null + } + }, + "FilterParameters": { + "base": null, + "refs": { + "StartQueryInput$FilterParameters": "

The FilterParameters field that you use with Amazon CloudWatch Internet Monitor queries is a string the defines how you want a query to be filtered. The filter parameters that you can specify depend on the query type, since each query type returns a different set of Internet Monitor data.

For more information about specifying filter parameters, see Using the Amazon CloudWatch Internet Monitor query interface in the Amazon CloudWatch Internet Monitor User Guide.

" + } + }, "GetHealthEventInput": { "base": null, "refs": { @@ -101,6 +123,26 @@ "refs": { } }, + "GetQueryResultsInput": { + "base": null, + "refs": { + } + }, + "GetQueryResultsOutput": { + "base": null, + "refs": { + } + }, + "GetQueryStatusInput": { + "base": null, + "refs": { + } + }, + "GetQueryStatusOutput": { + "base": null, + "refs": { + } + }, "HealthEvent": { "base": "

Information about a health event created in a monitor in Amazon CloudWatch Internet Monitor.

", "refs": { @@ -123,9 +165,9 @@ "HealthEventName": { "base": null, "refs": { - "GetHealthEventInput$EventId": "

The internally generated identifier of a health event. Because EventID contains the forward slash (“/”) character, you must URL-encode the EventID field in the request URL.

", - "GetHealthEventOutput$EventId": "

The internally generated identifier of a health event.

", - "HealthEvent$EventId": "

The internally generated identifier of a specific network traffic impairment health event.

" + "GetHealthEventInput$EventId": "

The internally-generated identifier of a health event. Because EventID contains the forward slash (“/”) character, you must URL-encode the EventID field in the request URL.

", + "GetHealthEventOutput$EventId": "

The internally-generated identifier of a health event.

", + "HealthEvent$EventId": "

The internally-generated identifier of a specific network traffic impairment health event.

" } }, "HealthEventStatus": { @@ -218,7 +260,7 @@ } }, "LocalHealthEventsConfig": { - "base": "

A complex type with the configuration information that determines the threshold and other conditions for when Internet Monitor creates a health event for a local performance or availability issue, when scores cross a threshold for one or more city-networks.

Defines the percentages, for performance scores or availability scores, that are the local thresholds for when Amazon CloudWatch Internet Monitor creates a health event. Also defines whether a local threshold is enabled or disabled, and the minimum percentage of overall traffic that must be impacted by an issue before Internet Monitor creates an event when a threshold is crossed for a local health score.

For more information, see Change health event thresholds in the Internet Monitor section of the CloudWatch User Guide.

", + "base": "

A complex type with the configuration information that determines the threshold and other conditions for when Internet Monitor creates a health event for a local performance or availability issue, when scores cross a threshold for one or more city-networks.

Defines the percentages, for performance scores or availability scores, that are the local thresholds for when Amazon CloudWatch Internet Monitor creates a health event. Also defines whether a local threshold is enabled or disabled, and the minimum percentage of overall traffic that must be impacted by an issue before Internet Monitor creates an event when a threshold is crossed for a local health score.

If you don't set a local health event threshold, the default value is 60%.

For more information, see Change health event thresholds in the Internet Monitor section of the CloudWatch User Guide.

", "refs": { "HealthEventsConfig$AvailabilityLocalHealthEventsConfig": "

The configuration that determines the threshold and other conditions for when Internet Monitor creates a health event for a local availability issue.

", "HealthEventsConfig$PerformanceLocalHealthEventsConfig": "

The configuration that determines the threshold and other conditions for when Internet Monitor creates a health event for a local performance issue.

" @@ -323,6 +365,12 @@ "refs": { } }, + "Operator": { + "base": null, + "refs": { + "FilterParameter$Operator": "

The operator to use with the filter field and a value, such as not_equals.

" + } + }, "Percentage": { "base": null, "refs": { @@ -331,7 +379,7 @@ "HealthEventsConfig$AvailabilityScoreThreshold": "

The health event threshold percentage set for availability scores.

", "HealthEventsConfig$PerformanceScoreThreshold": "

The health event threshold percentage set for performance scores.

", "LocalHealthEventsConfig$HealthScoreThreshold": "

The health event threshold percentage set for a local health score.

", - "LocalHealthEventsConfig$MinTrafficImpact": "

The minimum percentage of overall traffic for an application that must be impacted by an issue before Internet Monitor creates an event when a threshold is crossed for a local health score.

" + "LocalHealthEventsConfig$MinTrafficImpact": "

The minimum percentage of overall traffic for an application that must be impacted by an issue before Internet Monitor creates an event when a threshold is crossed for a local health score.

If you don't set a minimum traffic impact threshold, the default value is 0.01%.

" } }, "PerformanceMeasurement": { @@ -340,6 +388,48 @@ "InternetHealth$Performance": "

Performance in Internet Monitor represents the estimated percentage of traffic that is not seeing a performance drop. For example, a performance score of 99% for an end user and service location pair is equivalent to 1% of the traffic experiencing a performance drop for that pair.

For more information, see How Internet Monitor calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

" } }, + "QueryData": { + "base": null, + "refs": { + "GetQueryResultsOutput$Data": "

The data results that the query returns. Data is returned in arrays, aligned with the Fields for the query, which creates a repository of Amazon CloudWatch Internet Monitor information for your application. Then, you can filter the information in the repository by using FilterParameters that you define.

" + } + }, + "QueryField": { + "base": "

Defines a field to query for your application's Amazon CloudWatch Internet Monitor data. You create a data repository by running a query of a specific type. Each QueryType includes a specific set of fields and datatypes to retrieve data for.

", + "refs": { + "QueryFields$member": null + } + }, + "QueryFields": { + "base": null, + "refs": { + "GetQueryResultsOutput$Fields": "

The fields that the query returns data for. Fields are name-data type pairs, such as availability_score-float.

" + } + }, + "QueryMaxResults": { + "base": null, + "refs": { + "GetQueryResultsInput$MaxResults": "

The number of query results that you want to return with this call.

" + } + }, + "QueryRow": { + "base": null, + "refs": { + "QueryData$member": null + } + }, + "QueryStatus": { + "base": null, + "refs": { + "GetQueryStatusOutput$Status": "

The current status for a query.

" + } + }, + "QueryType": { + "base": null, + "refs": { + "StartQueryInput$QueryType": "

The type of query to run. The following are the three types of queries that you can run using the Internet Monitor query interface:

For lists of the fields returned with each query type and more information about how each type of query is performed, see Using the Amazon CloudWatch Internet Monitor query interface in the Amazon CloudWatch Internet Monitor User Guide.

" + } + }, "ResourceName": { "base": null, "refs": { @@ -348,8 +438,12 @@ "GetHealthEventInput$MonitorName": "

The name of the monitor.

", "GetMonitorInput$MonitorName": "

The name of the monitor.

", "GetMonitorOutput$MonitorName": "

The name of the monitor.

", + "GetQueryResultsInput$MonitorName": "

The name of the monitor to return data for.

", + "GetQueryStatusInput$MonitorName": "

The name of the monitor.

", "ListHealthEventsInput$MonitorName": "

The name of the monitor.

", "Monitor$MonitorName": "

The name of the monitor.

", + "StartQueryInput$MonitorName": "

The name of the monitor to query.

", + "StopQueryInput$MonitorName": "

The name of the monitor.

", "UpdateMonitorInput$MonitorName": "

The name of the monitor.

" } }, @@ -385,6 +479,26 @@ "UpdateMonitorInput$ResourcesToRemove": "

The resources to remove from a monitor, which you provide as a set of Amazon Resource Names (ARNs).

" } }, + "StartQueryInput": { + "base": null, + "refs": { + } + }, + "StartQueryOutput": { + "base": null, + "refs": { + } + }, + "StopQueryInput": { + "base": null, + "refs": { + } + }, + "StopQueryOutput": { + "base": null, + "refs": { + } + }, "String": { "base": null, "refs": { @@ -392,7 +506,13 @@ "BadRequestException$message": null, "ConflictException$message": null, "CreateMonitorInput$ClientToken": "

A unique, case-sensitive string of up to 64 ASCII characters that you specify to make an idempotent API request. Don't reuse the same client token for other API requests.

", + "FilterList$member": null, + "FilterParameter$Field": "

A data field that you want to filter, to further scope your application's Internet Monitor data in a repository that you created by running a query. A field might be city, for example. The field must be one of the fields that was returned by the specific query that you used to create the repository.

", "GetMonitorOutput$ProcessingStatusInfo": "

Additional information about the health of the data processing for the monitor.

", + "GetQueryResultsInput$QueryId": "

The ID of the query that you want to return data results for. A QueryId is an internally-generated identifier for a specific query.

", + "GetQueryResultsInput$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "GetQueryResultsOutput$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "GetQueryStatusInput$QueryId": "

The ID of the query that you want to return the status for. A QueryId is an internally-generated dentifier for a specific query.

", "ImpactedLocation$ASName": "

The name of the network at an impacted location.

", "ImpactedLocation$Country": "

The name of the country where the health event is located.

", "ImpactedLocation$Subdivision": "

The subdivision location where the health event is located. The subdivision usually maps to states in most countries (including the United States). For United Kingdom, it maps to a country (England, Scotland, Wales) or province (Northern Ireland).

", @@ -411,8 +531,13 @@ "ListMonitorsOutput$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", "Network$ASName": "

The internet provider name or network name.

", "NotFoundException$message": null, + "QueryField$Name": "

The name of a field to query your application's Amazon CloudWatch Internet Monitor data for, such as availability_score.

", + "QueryField$Type": "

The data type for a query field, which must correspond to the field you're defining for QueryField. For example, if the query field name is availability_score, the data type is float.

", + "QueryRow$member": null, "ResourceNotFoundException$message": null, "S3Config$BucketPrefix": "

The Amazon S3 bucket prefix.

", + "StartQueryOutput$QueryId": "

The internally-generated identifier of a specific query.

", + "StopQueryInput$QueryId": "

The ID of the query that you want to stop. A QueryId is an internally-generated identifier for a specific query.

", "ThrottlingException$message": null, "TooManyRequestsException$message": null, "UpdateMonitorInput$ClientToken": "

A unique, case-sensitive string of up to 64 ASCII characters that you specify to make an idempotent API request. You should not reuse the same client token for other API requests.

", @@ -433,7 +558,9 @@ "HealthEvent$CreatedAt": "

When the health event was created.

", "HealthEvent$LastUpdatedAt": "

When the health event was last updated.

", "ListHealthEventsInput$StartTime": "

The time when a health event started.

", - "ListHealthEventsInput$EndTime": "

The time when a health event ended. If the health event is still ongoing, then the end time is not set.

" + "ListHealthEventsInput$EndTime": "

The time when a health event ended. If the health event is still ongoing, then the end time is not set.

", + "StartQueryInput$StartTime": "

The timestamp that is the beginning of the period that you want to retrieve data for with your query.

", + "StartQueryInput$EndTime": "

The timestamp that is the end of the period that you want to retrieve data for with your query.

" } }, "TagKey": { diff --git a/models/apis/internetmonitor/2021-06-03/endpoint-rule-set-1.json b/models/apis/internetmonitor/2021-06-03/endpoint-rule-set-1.json index 83d730fc6c7..58429604e34 100644 --- a/models/apis/internetmonitor/2021-06-03/endpoint-rule-set-1.json +++ b/models/apis/internetmonitor/2021-06-03/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/internetmonitor/2021-06-03/paginators-1.json b/models/apis/internetmonitor/2021-06-03/paginators-1.json index 467ebeee8ea..ee8d7cca425 100644 --- a/models/apis/internetmonitor/2021-06-03/paginators-1.json +++ b/models/apis/internetmonitor/2021-06-03/paginators-1.json @@ -1,5 +1,10 @@ { "pagination": { + "GetQueryResults": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListHealthEvents": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/ivs/2020-07-14/api-2.json b/models/apis/ivs/2020-07-14/api-2.json index 3c452f8a156..b761b26d945 100644 --- a/models/apis/ivs/2020-07-14/api-2.json +++ b/models/apis/ivs/2020-07-14/api-2.json @@ -1008,26 +1008,31 @@ }, "MaxChannelResults":{ "type":"integer", + "box":true, "max":100, "min":1 }, "MaxPlaybackKeyPairResults":{ "type":"integer", + "box":true, "max":100, "min":1 }, "MaxRecordingConfigurationResults":{ "type":"integer", + "box":true, "max":100, "min":1 }, "MaxStreamKeyResults":{ "type":"integer", + "box":true, "max":50, "min":1 }, "MaxStreamResults":{ "type":"integer", + "box":true, "max":100, "min":1 }, @@ -1461,6 +1466,7 @@ }, "TargetIntervalSeconds":{ "type":"long", + "box":true, "max":60, "min":1 }, diff --git a/models/apis/ivs/2020-07-14/endpoint-rule-set-1.json b/models/apis/ivs/2020-07-14/endpoint-rule-set-1.json index fe19a2be5be..e533cff3986 100644 --- a/models/apis/ivs/2020-07-14/endpoint-rule-set-1.json +++ b/models/apis/ivs/2020-07-14/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/ivschat/2020-07-14/api-2.json b/models/apis/ivschat/2020-07-14/api-2.json index 22ec8b6a084..443746b290d 100644 --- a/models/apis/ivschat/2020-07-14/api-2.json +++ b/models/apis/ivschat/2020-07-14/api-2.json @@ -305,11 +305,15 @@ "min":3, "pattern":"^[a-z0-9-.]+$" }, - "ChatToken":{"type":"string"}, + "ChatToken":{ + "type":"string", + "sensitive":true + }, "ChatTokenAttributes":{ "type":"map", "key":{"shape":"String"}, - "value":{"shape":"String"} + "value":{"shape":"String"}, + "sensitive":true }, "ChatTokenCapabilities":{ "type":"list", @@ -695,11 +699,13 @@ }, "MaxLoggingConfigurationResults":{ "type":"integer", + "box":true, "max":50, "min":1 }, "MaxRoomResults":{ "type":"integer", + "box":true, "max":50, "min":1 }, @@ -794,11 +800,13 @@ }, "RoomMaxMessageLength":{ "type":"integer", + "box":true, "max":500, "min":1 }, "RoomMaxMessageRatePerSecond":{ "type":"integer", + "box":true, "max":100, "min":1 }, @@ -868,6 +876,7 @@ }, "SessionDurationInMinutes":{ "type":"integer", + "box":true, "max":180, "min":1 }, @@ -1019,7 +1028,8 @@ "UserID":{ "type":"string", "max":128, - "min":1 + "min":1, + "sensitive":true }, "ValidationException":{ "type":"structure", diff --git a/models/apis/ivschat/2020-07-14/endpoint-rule-set-1.json b/models/apis/ivschat/2020-07-14/endpoint-rule-set-1.json index e1fbab6f76b..d59a79dc4df 100644 --- a/models/apis/ivschat/2020-07-14/endpoint-rule-set-1.json +++ b/models/apis/ivschat/2020-07-14/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -58,293 +57,258 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://ivschat-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://ivschat-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, true ] } ], - "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://ivschat-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://ivschat-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://ivschat.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], - "type": "tree", + ], "rules": [ { "conditions": [], "endpoint": { - "url": "https://ivschat.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://ivschat.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://ivschat.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" + ], + "type": "tree" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/ivschat/2020-07-14/endpoint-tests-1.json b/models/apis/ivschat/2020-07-14/endpoint-tests-1.json index e93946c4a24..d9857ee4c5f 100644 --- a/models/apis/ivschat/2020-07-14/endpoint-tests-1.json +++ b/models/apis/ivschat/2020-07-14/endpoint-tests-1.json @@ -8,9 +8,9 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { - "UseDualStack": true, "Region": "us-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseDualStack": true, "Region": "us-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -99,9 +99,9 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -112,9 +112,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -125,9 +125,9 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -138,9 +138,9 @@ } }, "params": { - "UseDualStack": true, "Region": "us-gov-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -151,9 +151,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-gov-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -164,9 +164,9 @@ } }, "params": { - "UseDualStack": true, "Region": "us-gov-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -177,9 +177,20 @@ } }, "params": { - "UseDualStack": false, "Region": "us-gov-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -190,9 +201,20 @@ } }, "params": { - "UseDualStack": false, "Region": "us-iso-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -203,9 +225,20 @@ } }, "params": { - "UseDualStack": false, "Region": "us-iso-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -216,9 +249,20 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -229,9 +273,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -242,9 +286,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -256,8 +300,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -267,9 +311,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -279,11 +323,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/models/apis/kinesisvideo/2017-09-30/docs-2.json b/models/apis/kinesisvideo/2017-09-30/docs-2.json index bd0a48de875..1cd843beadb 100644 --- a/models/apis/kinesisvideo/2017-09-30/docs-2.json +++ b/models/apis/kinesisvideo/2017-09-30/docs-2.json @@ -10,7 +10,7 @@ "DescribeEdgeConfiguration": "

Describes a stream’s edge configuration that was set using the StartEdgeConfigurationUpdate API and the latest status of the edge agent's recorder and uploader jobs. Use this API to get the status of the configuration to determine if the configuration is in sync with the Edge Agent. Use this API to evaluate the health of the Edge Agent.

", "DescribeImageGenerationConfiguration": "

Gets the ImageGenerationConfiguration for a given Kinesis video stream.

", "DescribeMappedResourceConfiguration": "

Returns the most current information about the stream. The streamName or streamARN should be provided in the input.

", - "DescribeMediaStorageConfiguration": "

This API is related to WebRTC Ingestion and is only available in the us-west-2 region.

Returns the most current information about the channel. Specify the ChannelName or ChannelARN in the input.

", + "DescribeMediaStorageConfiguration": "

Returns the most current information about the channel. Specify the ChannelName or ChannelARN in the input.

", "DescribeNotificationConfiguration": "

Gets the NotificationConfiguration for a given Kinesis video stream.

", "DescribeSignalingChannel": "

Returns the most current information about the signaling channel. You must specify either the name or the Amazon Resource Name (ARN) of the channel that you want to describe.

", "DescribeStream": "

Returns the most current information about the specified stream. You must specify either the StreamName or the StreamARN.

", @@ -26,9 +26,9 @@ "TagStream": "

Adds one or more tags to a stream. A tag is a key-value pair (the value is optional) that you can define and assign to Amazon Web Services resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. For more information, see Using Cost Allocation Tags in the Billing and Cost Management and Cost Management User Guide.

You must provide either the StreamName or the StreamARN.

This operation requires permission for the KinesisVideo:TagStream action.

A Kinesis video stream can support up to 50 tags.

", "UntagResource": "

Removes one or more tags from a signaling channel. In the request, specify only a tag key or keys; don't specify the value. If you specify a tag key that does not exist, it's ignored.

", "UntagStream": "

Removes one or more tags from a stream. In the request, specify only a tag key or keys; don't specify the value. If you specify a tag key that does not exist, it's ignored.

In the request, you must provide the StreamName or StreamARN.

", - "UpdateDataRetention": "

Increases or decreases the stream's data retention period by the value that you specify. To indicate whether you want to increase or decrease the data retention period, specify the Operation parameter in the request body. In the request, you must specify either the StreamName or the StreamARN.

The retention period that you specify replaces the current value.

This operation requires permission for the KinesisVideo:UpdateDataRetention action.

Changing the data retention period affects the data in the stream as follows:

", + "UpdateDataRetention": "

Increases or decreases the stream's data retention period by the value that you specify. To indicate whether you want to increase or decrease the data retention period, specify the Operation parameter in the request body. In the request, you must specify either the StreamName or the StreamARN.

This operation requires permission for the KinesisVideo:UpdateDataRetention action.

Changing the data retention period affects the data in the stream as follows:

", "UpdateImageGenerationConfiguration": "

Updates the StreamInfo and ImageProcessingConfiguration fields.

", - "UpdateMediaStorageConfiguration": "

This API is related to WebRTC Ingestion and is only available in the us-west-2 region.

Associates a SignalingChannel to a stream to store the media. There are two signaling modes that can specified :

If StorageStatus is enabled, direct peer-to-peer (master-viewer) connections no longer occur. Peers connect directly to the storage session. You must call the JoinStorageSession API to trigger an SDP offer send and establish a connection between a peer and the storage session.

", + "UpdateMediaStorageConfiguration": "

Associates a SignalingChannel to a stream to store the media. There are two signaling modes that you can specify :

If StorageStatus is enabled, direct peer-to-peer (master-viewer) connections no longer occur. Peers connect directly to the storage session. You must call the JoinStorageSession API to trigger an SDP offer send and establish a connection between a peer and the storage session.

", "UpdateNotificationConfiguration": "

Updates the notification information for a stream.

", "UpdateSignalingChannel": "

Updates the existing signaling channel. This is an asynchronous operation and takes time to complete.

If the MessageTtlSeconds value is updated (either increased or reduced), it only applies to new messages sent via this channel after it's been updated. Existing messages are still expired as per the previous MessageTtlSeconds value.

", "UpdateStream": "

Updates stream metadata, such as the device name and media type.

You must provide the stream name or the Amazon Resource Name (ARN) of the stream.

To make sure that you have the latest version of the stream before updating it, you can specify the stream version. Kinesis Video Streams assigns a version to each stream. When you update a stream, Kinesis Video Streams assigns a new version number. To get the latest stream version, use the DescribeStream API.

UpdateStream is an asynchronous operation, and takes time to complete.

" @@ -152,7 +152,7 @@ "DataRetentionChangeInHours": { "base": null, "refs": { - "UpdateDataRetentionInput$DataRetentionChangeInHours": "

The retention period, in hours. The value you specify replaces the current value. The maximum value for this parameter is 87600 (ten years).

" + "UpdateDataRetentionInput$DataRetentionChangeInHours": "

The number of hours to adjust the current retention by. The value you specify is added to or subtracted from the current value, depending on the operation.

The minimum value for data retention is 0 and the maximum value is 87600 (ten years).

" } }, "DataRetentionInHours": { @@ -590,7 +590,7 @@ } }, "MediaStorageConfiguration": { - "base": "

A structure that encapsulates, or contains, the media storage configuration properties.

", + "base": "

A structure that encapsulates, or contains, the media storage configuration properties.

", "refs": { "DescribeMediaStorageConfigurationOutput$MediaStorageConfiguration": "

A structure that encapsulates, or contains, the media storage configuration properties.

", "UpdateMediaStorageConfigurationInput$MediaStorageConfiguration": "

A structure that encapsulates, or contains, the media storage configuration properties.

" @@ -703,7 +703,7 @@ "ListTagsForResourceInput$ResourceARN": "

The Amazon Resource Name (ARN) of the signaling channel for which you want to list tags.

", "ListTagsForStreamInput$StreamARN": "

The Amazon Resource Name (ARN) of the stream that you want to list tags for.

", "MappedResourceConfigurationListItem$ARN": "

The Amazon Resource Name (ARN) of the Kinesis Video Stream resource, associated with the stream.

", - "MediaStorageConfiguration$StreamARN": "

The Amazon Resource Name (ARN) of the stream

", + "MediaStorageConfiguration$StreamARN": "

The Amazon Resource Name (ARN) of the stream.

", "StartEdgeConfigurationUpdateInput$StreamARN": "

The Amazon Resource Name (ARN) of the stream. Specify either the StreamName or the StreamARN.

", "StartEdgeConfigurationUpdateOutput$StreamARN": "

The Amazon Resource Name (ARN) of the stream.

", "StreamInfo$StreamARN": "

The Amazon Resource Name (ARN) of the stream.

", diff --git a/models/apis/kinesisvideo/2017-09-30/endpoint-rule-set-1.json b/models/apis/kinesisvideo/2017-09-30/endpoint-rule-set-1.json index 6da12c24ec7..6b41a983a71 100644 --- a/models/apis/kinesisvideo/2017-09-30/endpoint-rule-set-1.json +++ b/models/apis/kinesisvideo/2017-09-30/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/location/2020-11-19/api-2.json b/models/apis/location/2020-11-19/api-2.json index ec1332388ca..170a269d2e4 100644 --- a/models/apis/location/2020-11-19/api-2.json +++ b/models/apis/location/2020-11-19/api-2.json @@ -3283,6 +3283,7 @@ "PlaceId":{"type":"string"}, "PlaceIndexSearchResultLimit":{ "type":"integer", + "box":true, "max":50, "min":1 }, diff --git a/models/apis/location/2020-11-19/endpoint-rule-set-1.json b/models/apis/location/2020-11-19/endpoint-rule-set-1.json index c133b4f601f..d3c829dbc28 100644 --- a/models/apis/location/2020-11-19/endpoint-rule-set-1.json +++ b/models/apis/location/2020-11-19/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/medialive/2017-10-14/api-2.json b/models/apis/medialive/2017-10-14/api-2.json index 3900ff2a147..54a53ceccf0 100644 --- a/models/apis/medialive/2017-10-14/api-2.json +++ b/models/apis/medialive/2017-10-14/api-2.json @@ -844,6 +844,40 @@ } ] }, + "DescribeAccountConfiguration": { + "name": "DescribeAccountConfiguration", + "http": { + "method": "GET", + "requestUri": "/prod/accountConfiguration", + "responseCode": 200 + }, + "input": { + "shape": "DescribeAccountConfigurationRequest" + }, + "output": { + "shape": "DescribeAccountConfigurationResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, "DescribeChannel": { "name": "DescribeChannel", "http": { @@ -1214,40 +1248,6 @@ } ] }, - "DescribeAccountConfiguration": { - "name": "DescribeAccountConfiguration", - "http": { - "method": "GET", - "requestUri": "/prod/accountConfiguration", - "responseCode": 200 - }, - "input": { - "shape": "DescribeAccountConfigurationRequest" - }, - "output": { - "shape": "DescribeAccountConfigurationResponse" - }, - "errors": [ - { - "shape": "BadRequestException" - }, - { - "shape": "InternalServerErrorException" - }, - { - "shape": "ForbiddenException" - }, - { - "shape": "BadGatewayException" - }, - { - "shape": "GatewayTimeoutException" - }, - { - "shape": "TooManyRequestsException" - } - ] - }, "DescribeThumbnails": { "name": "DescribeThumbnails", "http": { @@ -1751,43 +1751,6 @@ } ] }, - "UpdateAccountConfiguration": { - "name": "UpdateAccountConfiguration", - "http": { - "method": "PUT", - "requestUri": "/prod/accountConfiguration", - "responseCode": 200 - }, - "input": { - "shape": "UpdateAccountConfigurationRequest" - }, - "output": { - "shape": "UpdateAccountConfigurationResponse" - }, - "errors": [ - { - "shape": "BadRequestException" - }, - { - "shape": "UnprocessableEntityException" - }, - { - "shape": "InternalServerErrorException" - }, - { - "shape": "ForbiddenException" - }, - { - "shape": "BadGatewayException" - }, - { - "shape": "GatewayTimeoutException" - }, - { - "shape": "TooManyRequestsException" - } - ] - }, "StartChannel": { "name": "StartChannel", "http": { @@ -2111,6 +2074,43 @@ } ] }, + "UpdateAccountConfiguration": { + "name": "UpdateAccountConfiguration", + "http": { + "method": "PUT", + "requestUri": "/prod/accountConfiguration", + "responseCode": 200 + }, + "input": { + "shape": "UpdateAccountConfigurationRequest" + }, + "output": { + "shape": "UpdateAccountConfigurationResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, "UpdateChannel": { "name": "UpdateChannel", "http": { @@ -2647,7 +2647,7 @@ "AccountConfiguration": { "type": "structure", "members": { - "kmsKeyId": { + "KmsKeyId": { "shape": "__string", "locationName": "kmsKeyId" } @@ -5004,6 +5004,29 @@ "ResourceArn" ] }, + "DescribeAccountConfigurationRequest": { + "type": "structure", + "members": { + } + }, + "DescribeAccountConfigurationResponse": { + "type": "structure", + "members": { + "AccountConfiguration": { + "shape": "AccountConfiguration", + "locationName": "accountConfiguration" + } + } + }, + "DescribeAccountConfigurationResultModel": { + "type": "structure", + "members": { + "AccountConfiguration": { + "shape": "AccountConfiguration", + "locationName": "accountConfiguration" + } + } + }, "DescribeChannelRequest": { "type": "structure", "members": { @@ -5643,6 +5666,49 @@ } } }, + "DescribeThumbnailsRequest": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "location": "uri", + "locationName": "channelId" + }, + "PipelineId": { + "shape": "__string", + "location": "querystring", + "locationName": "pipelineId" + }, + "ThumbnailType": { + "shape": "__string", + "location": "querystring", + "locationName": "thumbnailType" + } + }, + "required": [ + "ThumbnailType", + "PipelineId", + "ChannelId" + ] + }, + "DescribeThumbnailsResponse": { + "type": "structure", + "members": { + "ThumbnailDetails": { + "shape": "__listOfThumbnailDetail", + "locationName": "thumbnailDetails" + } + } + }, + "DescribeThumbnailsResultModel": { + "type": "structure", + "members": { + "ThumbnailDetails": { + "shape": "__listOfThumbnailDetail", + "locationName": "thumbnailDetails" + } + } + }, "DeviceSettingsSyncState": { "type": "string", "enum": [ @@ -6375,6 +6441,10 @@ "InputPrepareScheduleActions": { "shape": "FeatureActivationsInputPrepareScheduleActions", "locationName": "inputPrepareScheduleActions" + }, + "OutputStaticImageOverlayScheduleActions": { + "shape": "FeatureActivationsOutputStaticImageOverlayScheduleActions", + "locationName": "outputStaticImageOverlayScheduleActions" } } }, @@ -6385,6 +6455,13 @@ "ENABLED" ] }, + "FeatureActivationsOutputStaticImageOverlayScheduleActions": { + "type": "string", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, "FecOutputIncludeFec": { "type": "string", "enum": [ @@ -6597,72 +6674,6 @@ "httpStatusCode": 504 } }, - "DescribeAccountConfigurationRequest": { - "type": "structure", - "members": { - } - }, - "DescribeAccountConfigurationResponse": { - "type": "structure", - "members": { - "AccountConfiguration": { - "shape": "AccountConfiguration", - "locationName": "accountConfiguration" - } - } - }, - "DescribeAccountConfigurationResultModel": { - "type": "structure", - "members": { - "AccountConfiguration": { - "shape": "AccountConfiguration", - "locationName": "accountConfiguration" - } - } - }, - "DescribeThumbnailsRequest": { - "type": "structure", - "members": { - "ChannelId": { - "shape": "__string", - "location": "uri", - "locationName": "channelId" - }, - "PipelineId": { - "shape": "__string", - "location": "querystring", - "locationName": "pipelineId" - }, - "ThumbnailType": { - "shape": "__string", - "location": "querystring", - "locationName": "thumbnailType" - } - }, - "required": [ - "ThumbnailType", - "PipelineId", - "ChannelId" - ] - }, - "DescribeThumbnailsResponse": { - "type": "structure", - "members": { - "ThumbnailDetails": { - "shape": "__listOfThumbnailDetail", - "locationName": "thumbnailDetails" - } - } - }, - "DescribeThumbnailsResultModel": { - "type": "structure", - "members": { - "ThumbnailDetails": { - "shape": "__listOfThumbnailDetail", - "locationName": "thumbnailDetails" - } - } - }, "GlobalConfiguration": { "type": "structure", "members": { @@ -11908,6 +11919,14 @@ "StaticImageDeactivateSettings": { "shape": "StaticImageDeactivateScheduleActionSettings", "locationName": "staticImageDeactivateSettings" + }, + "StaticImageOutputActivateSettings": { + "shape": "StaticImageOutputActivateScheduleActionSettings", + "locationName": "staticImageOutputActivateSettings" + }, + "StaticImageOutputDeactivateSettings": { + "shape": "StaticImageOutputDeactivateScheduleActionSettings", + "locationName": "staticImageOutputDeactivateSettings" } } }, @@ -12269,42 +12288,6 @@ "WEB_DELIVERY_ALLOWED" ] }, - "UpdateAccountConfigurationRequest": { - "type": "structure", - "members": { - "AccountConfiguration": { - "shape": "AccountConfiguration", - "locationName": "accountConfiguration" - } - } - }, - "UpdateAccountConfigurationRequestModel": { - "type": "structure", - "members": { - "AccountConfiguration": { - "shape": "AccountConfiguration", - "locationName": "accountConfiguration" - } - } - }, - "UpdateAccountConfigurationResponse": { - "type": "structure", - "members": { - "AccountConfiguration": { - "shape": "AccountConfiguration", - "locationName": "accountConfiguration" - } - } - }, - "UpdateAccountConfigurationResultModel": { - "type": "structure", - "members": { - "AccountConfiguration": { - "shape": "AccountConfiguration", - "locationName": "accountConfiguration" - } - } - }, "SmoothGroupAudioOnlyTimecodeControl": { "type": "string", "enum": [ @@ -12645,6 +12628,79 @@ } } }, + "StaticImageOutputActivateScheduleActionSettings": { + "type": "structure", + "members": { + "Duration": { + "shape": "__integerMin0", + "locationName": "duration" + }, + "FadeIn": { + "shape": "__integerMin0", + "locationName": "fadeIn" + }, + "FadeOut": { + "shape": "__integerMin0", + "locationName": "fadeOut" + }, + "Height": { + "shape": "__integerMin1", + "locationName": "height" + }, + "Image": { + "shape": "InputLocation", + "locationName": "image" + }, + "ImageX": { + "shape": "__integerMin0", + "locationName": "imageX" + }, + "ImageY": { + "shape": "__integerMin0", + "locationName": "imageY" + }, + "Layer": { + "shape": "__integerMin0Max7", + "locationName": "layer" + }, + "Opacity": { + "shape": "__integerMin0Max100", + "locationName": "opacity" + }, + "OutputNames": { + "shape": "__listOf__string", + "locationName": "outputNames" + }, + "Width": { + "shape": "__integerMin1", + "locationName": "width" + } + }, + "required": [ + "OutputNames", + "Image" + ] + }, + "StaticImageOutputDeactivateScheduleActionSettings": { + "type": "structure", + "members": { + "FadeOut": { + "shape": "__integerMin0", + "locationName": "fadeOut" + }, + "Layer": { + "shape": "__integerMin0Max7", + "locationName": "layer" + }, + "OutputNames": { + "shape": "__listOf__string", + "locationName": "outputNames" + } + }, + "required": [ + "OutputNames" + ] + }, "StaticKeySettings": { "type": "structure", "members": { @@ -13234,6 +13290,42 @@ "httpStatusCode": 422 } }, + "UpdateAccountConfigurationRequest": { + "type": "structure", + "members": { + "AccountConfiguration": { + "shape": "AccountConfiguration", + "locationName": "accountConfiguration" + } + } + }, + "UpdateAccountConfigurationRequestModel": { + "type": "structure", + "members": { + "AccountConfiguration": { + "shape": "AccountConfiguration", + "locationName": "accountConfiguration" + } + } + }, + "UpdateAccountConfigurationResponse": { + "type": "structure", + "members": { + "AccountConfiguration": { + "shape": "AccountConfiguration", + "locationName": "accountConfiguration" + } + } + }, + "UpdateAccountConfigurationResultModel": { + "type": "structure", + "members": { + "AccountConfiguration": { + "shape": "AccountConfiguration", + "locationName": "accountConfiguration" + } + } + }, "UpdateChannel": { "type": "structure", "members": { @@ -14076,6 +14168,15 @@ "__doubleMin1Max65535": { "type": "double" }, + "__doubleMin250Max5000": { + "type": "double" + }, + "__doubleMin32Max46": { + "type": "double" + }, + "__doubleMinNegative1Max5": { + "type": "double" + }, "__doubleMinNegative59Max0": { "type": "double" }, @@ -14126,6 +14227,11 @@ "min": 0, "max": 15 }, + "__integerMin0Max2000": { + "type": "integer", + "min": 0, + "max": 2000 + }, "__integerMin0Max255": { "type": "integer", "min": 0, diff --git a/models/apis/medialive/2017-10-14/docs-2.json b/models/apis/medialive/2017-10-14/docs-2.json index 56b2fcdd787..a4deb8957db 100644 --- a/models/apis/medialive/2017-10-14/docs-2.json +++ b/models/apis/medialive/2017-10-14/docs-2.json @@ -24,6 +24,7 @@ "DeleteReservation": "Delete an expired reservation.", "DeleteSchedule": "Delete all schedule actions on a channel.", "DeleteTags": "Removes tags for a resource", + "DescribeAccountConfiguration": "Describe account configuration", "DescribeChannel": "Gets details about a channel", "DescribeInput": "Produces details about an input", "DescribeInputDevice": "Gets the details for the input device", @@ -34,7 +35,6 @@ "DescribeOffering": "Get details for an offering.", "DescribeReservation": "Get details for a reservation.", "DescribeSchedule": "Get a channel schedule", - "DescribeAccountConfiguration": "Get account configuration", "DescribeThumbnails": "Describe the latest thumbnails data.", "ListChannels": "Produces list of channels that have been created", "ListInputDeviceTransfers": "List input devices that are currently being transferred. List input devices that you are transferring from your AWS account or input devices that another AWS account is transferring to you.", @@ -49,7 +49,6 @@ "PurchaseOffering": "Purchase an offering and create a reservation.", "RebootInputDevice": "Send a reboot command to the specified input device. The device will begin rebooting within a few seconds of sending the command. When the reboot is complete, the device\u2019s connection status will change to connected.", "RejectInputDeviceTransfer": "Reject the transfer of the specified input device to your AWS account.", - "UpdateAccountConfiguration": "Update account configuration", "StartChannel": "Starts an existing channel", "StartInputDevice": "Start an input device that is attached to a MediaConnect flow. (There is no need to start a device that is attached to a MediaLive input; MediaLive starts the device when the channel starts.)", "StartInputDeviceMaintenanceWindow": "Start a maintenance window for the specified input device. Starting a maintenance window will give the device up to two hours to install software. If the device was streaming prior to the maintenance, it will resume streaming when the software is fully installed. Devices automatically install updates while they are powered on and their MediaLive channels are stopped. A maintenance window allows you to update a device without having to stop MediaLive channels that use the device. The device must remain powered on and connected to the internet for the duration of the maintenance.", @@ -58,6 +57,7 @@ "StopInputDevice": "Stop an input device that is attached to a MediaConnect flow. (There is no need to stop a device that is attached to a MediaLive input; MediaLive automatically stops the device when the channel stops.)", "StopMultiplex": "Stops a running multiplex. If the multiplex isn't running, this action has no effect.", "TransferInputDevice": "Start an input device transfer to another AWS account. After you make the request, the other account must accept or reject the transfer.", + "UpdateAccountConfiguration": "Update account configuration", "UpdateChannel": "Updates a channel.", "UpdateChannelClass": "Changes the class of the channel.", "UpdateInput": "Updates an input.", @@ -218,7 +218,7 @@ "ArchiveS3LogUploads": { "base": "Archive S3 Log Uploads", "refs": { - "ArchiveS3Settings$LogUploads": "When set to enabled, each upload to CDN or server will be logged." + "ArchiveS3Settings$LogUploads": "This field is unused and deprecated." } }, "ArchiveS3Settings": { @@ -723,6 +723,16 @@ "refs": { } }, + "DescribeAccountConfigurationResultModel": { + "base": "The account's configuration.", + "refs": { + } + }, + "DescribeThumbnailsResultModel": { + "base": "Thumbnail details for all the pipelines of a running channel.", + "refs": { + } + }, "DeviceSettingsSyncState": { "base": "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 immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration.", "refs": { @@ -1038,6 +1048,12 @@ "FeatureActivations$InputPrepareScheduleActions": "Enables the Input Prepare feature. You can create Input Prepare actions in the schedule only if this feature is enabled.\nIf you disable the feature on an existing schedule, make sure that you first delete all input prepare actions from the schedule." } }, + "FeatureActivationsOutputStaticImageOverlayScheduleActions": { + "base": "Feature Activations Output Static Image Overlay Schedule Actions", + "refs": { + "FeatureActivations$OutputStaticImageOverlayScheduleActions": "Enables the output static image overlay feature. Enabling this feature allows you to send channel schedule updates\nto display/clear/modify image overlays on an output-by-output bases." + } + }, "FecOutputIncludeFec": { "base": "Fec Output Include Fec", "refs": { @@ -1132,7 +1148,7 @@ "FrameCaptureS3LogUploads": { "base": "Frame Capture S3 Log Uploads", "refs": { - "FrameCaptureS3Settings$LogUploads": "When set to enabled, each upload to CDN or server will be logged." + "FrameCaptureS3Settings$LogUploads": "This field is unused and deprecated." } }, "FrameCaptureS3Settings": { @@ -1152,16 +1168,6 @@ "refs": { } }, - "DescribeAccountConfigurationResultModel": { - "base": "The account's configuration.", - "refs": { - } - }, - "DescribeThumbnailsResultModel": { - "base": "Thumbnail details for all the pipelines of a running channel.", - "refs": { - } - }, "GlobalConfiguration": { "base": "Global Configuration", "refs": { @@ -1616,7 +1622,7 @@ "HlsS3LogUploads": { "base": "Hls S3 Log Uploads", "refs": { - "HlsS3Settings$LogUploads": "When set to enabled, each fragment upload to CDN or server will be logged." + "HlsS3Settings$LogUploads": "This field is unused and deprecated." } }, "HlsS3Settings": { @@ -1927,6 +1933,7 @@ "DvbSubDestinationSettings$Font": "External font file used for caption burn-in. File extension must be 'ttf' or 'tte'. Although the user can select output fonts for many different types of input captions, embedded, STL and teletext sources use a strict grid system. Using external fonts with these caption sources could cause unexpected display of proportional fonts. All burn-in and DVB-Sub font settings must match.", "InputLossBehavior$InputLossImageSlate": "When input loss image type is \"slate\" these fields specify the parameters for accessing the slate.", "StaticImageActivateScheduleActionSettings$Image": "The location and filename of the image file to overlay on the video. The file must be a 32-bit BMP, PNG, or TGA file, and must not be larger (in pixels) than the input video.", + "StaticImageOutputActivateScheduleActionSettings$Image": "The location and filename of the image file to overlay on the video. The file must be a 32-bit BMP, PNG, or TGA file, and must not be larger (in pixels) than the input video.", "StaticKeySettings$KeyProviderServer": "The URL of the license server used for protecting content." } }, @@ -3187,16 +3194,6 @@ "Scte35DeliveryRestrictions$WebDeliveryAllowedFlag": "Corresponds to SCTE-35 web_delivery_allowed_flag parameter." } }, - "UpdateAccountConfigurationRequestModel": { - "base": "The desired new account configuration.", - "refs": { - } - }, - "UpdateAccountConfigurationResultModel": { - "base": "The account's updated configuration.", - "refs": { - } - }, "SmoothGroupAudioOnlyTimecodeControl": { "base": "Smooth Group Audio Only Timecode Control", "refs": { @@ -3281,6 +3278,18 @@ "ScheduleActionSettings$StaticImageDeactivateSettings": "Action to deactivate a static image overlay" } }, + "StaticImageOutputActivateScheduleActionSettings": { + "base": "Settings for the action to activate a static image.", + "refs": { + "ScheduleActionSettings$StaticImageOutputActivateSettings": "Action to activate a static image overlay in one or more specified outputs" + } + }, + "StaticImageOutputDeactivateScheduleActionSettings": { + "base": "Settings for the action to deactivate the image in a specific layer.", + "refs": { + "ScheduleActionSettings$StaticImageOutputDeactivateSettings": "Action to deactivate a static image overlay in one or more specified outputs" + } + }, "StaticKeySettings": { "base": "Static Key Settings", "refs": { @@ -3382,7 +3391,7 @@ "ThumbnailState": { "base": "Thumbnail State", "refs": { - "ThumbnailConfiguration$State": "Whether Thumbnail is enabled." + "ThumbnailConfiguration$State": "Enables the thumbnail feature. The feature generates thumbnails of the incoming video in each pipeline in the channel. AUTO turns the feature on, DISABLE turns the feature off." } }, "ThumbnailType": { @@ -3481,6 +3490,16 @@ "refs": { } }, + "UpdateAccountConfigurationRequestModel": { + "base": "The desired new account configuration.", + "refs": { + } + }, + "UpdateAccountConfigurationResultModel": { + "base": "The account's updated configuration.", + "refs": { + } + }, "UpdateChannel": { "base": null, "refs": { @@ -3735,6 +3754,24 @@ "NielsenNaesIiNw$Sid": "Enter the Nielsen Source ID (SID) to include in the watermark" } }, + "__doubleMin250Max5000": { + "base": null, + "refs": { + "AbWatermarkingCustomProfile$EmbeddingFrequency": "The frequency with which watermarks will be embedded, in milliseconds." + } + }, + "__doubleMin32Max46": { + "base": null, + "refs": { + "AbWatermarkingCustomProfile$TargetPsnr": "The target PSNR of the watermarked frame" + } + }, + "__doubleMinNegative1Max5": { + "base": null, + "refs": { + "AbWatermarkingCustomProfile$SceneCut": "The number of frames after scene-cut to embed the watermark" + } + }, "__doubleMinNegative59Max0": { "base": null, "refs": { @@ -3822,6 +3859,12 @@ "StaticImageActivateScheduleActionSettings$ImageX": "Placement of the left edge of the overlay relative to the left edge of the video frame, in pixels. 0 (the default) is the left edge of the frame. If the placement causes the overlay to extend beyond the right edge of the underlying video, then the overlay is cropped on the right.", "StaticImageActivateScheduleActionSettings$ImageY": "Placement of the top edge of the overlay relative to the top edge of the video frame, in pixels. 0 (the default) is the top edge of the frame. If the placement causes the overlay to extend beyond the bottom edge of the underlying video, then the overlay is cropped on the bottom.", "StaticImageDeactivateScheduleActionSettings$FadeOut": "The time in milliseconds for the image to fade out. Default is 0 (no fade-out).", + "StaticImageOutputActivateScheduleActionSettings$Duration": "The duration in milliseconds for the image to remain on the video. If omitted or set to 0 the duration is unlimited and the image will remain until it is explicitly deactivated.", + "StaticImageOutputActivateScheduleActionSettings$FadeIn": "The time in milliseconds for the image to fade in. The fade-in starts at the start time of the overlay. Default is 0 (no fade-in).", + "StaticImageOutputActivateScheduleActionSettings$FadeOut": "Applies only if a duration is specified. The time in milliseconds for the image to fade out. The fade-out starts when the duration time is hit, so it effectively extends the duration. Default is 0 (no fade-out).", + "StaticImageOutputActivateScheduleActionSettings$ImageX": "Placement of the left edge of the overlay relative to the left edge of the video frame, in pixels. 0 (the default) is the left edge of the frame. If the placement causes the overlay to extend beyond the right edge of the underlying video, then the overlay is cropped on the right.", + "StaticImageOutputActivateScheduleActionSettings$ImageY": "Placement of the top edge of the overlay relative to the top edge of the video frame, in pixels. 0 (the default) is the top edge of the frame. If the placement causes the overlay to extend beyond the bottom edge of the underlying video, then the overlay is cropped on the bottom.", + "StaticImageOutputDeactivateScheduleActionSettings$FadeOut": "The time in milliseconds for the image to fade out. Default is 0 (no fade-out).", "UdpGroupSettings$TimedMetadataId3Period": "Timed Metadata interval in seconds." } }, @@ -3837,6 +3880,7 @@ "refs": { "H264Settings$BufFillPct": "Percentage of the buffer that should initially be filled (HRD buffer model).", "StaticImageActivateScheduleActionSettings$Opacity": "Opacity of image where 0 is transparent and 100 is fully opaque. Default is 100.", + "StaticImageOutputActivateScheduleActionSettings$Opacity": "Opacity of image where 0 is transparent and 100 is fully opaque. Default is 100.", "VideoDescription$Sharpness": "Changes the strength of the anti-alias filter used for scaling. 0 is the softest setting, 100 is the sharpest. A setting of 50 is recommended for most content." } }, @@ -3886,6 +3930,11 @@ "InputChannelLevel$InputChannel": "The index of the input channel used as a source." } }, + "__integerMin0Max2000": { + "base": null, + "refs": { + } + }, "__integerMin0Max255": { "base": null, "refs": { @@ -3964,7 +4013,9 @@ "H264Settings$GopNumBFrames": "Number of B-frames between reference frames.", "Mpeg2Settings$GopNumBFrames": "Relates to the GOP structure. The number of B-frames between reference frames. If you do not know what a B-frame is, use the default.", "StaticImageActivateScheduleActionSettings$Layer": "The number of the layer, 0 to 7. There are 8 layers that can be overlaid on the video, each layer with a different image. The layers are in Z order, which means that overlays with higher values of layer are inserted on top of overlays with lower values of layer. Default is 0.", - "StaticImageDeactivateScheduleActionSettings$Layer": "The image overlay layer to deactivate, 0 to 7. Default is 0." + "StaticImageDeactivateScheduleActionSettings$Layer": "The image overlay layer to deactivate, 0 to 7. Default is 0.", + "StaticImageOutputActivateScheduleActionSettings$Layer": "The number of the layer, 0 to 7. There are 8 layers that can be overlaid on the video, each layer with a different image. The layers are in Z order, which means that overlays with higher values of layer are inserted on top of overlays with lower values of layer. Default is 0.", + "StaticImageOutputDeactivateScheduleActionSettings$Layer": "The image overlay layer to deactivate, 0 to 7. Default is 0." } }, "__integerMin0Max8191": { @@ -3999,7 +4050,9 @@ "RtmpOutputSettings$ConnectionRetryInterval": "Number of seconds to wait before retrying a connection to the Flash Media server if the connection is lost.", "Scte27SourceSettings$Pid": "The pid field is used in conjunction with the caption selector languageCode field as follows:\n - Specify PID and Language: Extracts captions from that PID; the language is \"informational\".\n - Specify PID and omit Language: Extracts the specified PID.\n - Omit PID and specify Language: Extracts the specified language, whichever PID that happens to be.\n - Omit PID and omit Language: Valid only if source is DVB-Sub that is being passed through; all languages will be passed through.", "StaticImageActivateScheduleActionSettings$Height": "The height of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified height. Leave blank to use the native height of the overlay.", - "StaticImageActivateScheduleActionSettings$Width": "The width of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified width. Leave blank to use the native width of the overlay." + "StaticImageActivateScheduleActionSettings$Width": "The width of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified width. Leave blank to use the native width of the overlay.", + "StaticImageOutputActivateScheduleActionSettings$Height": "The height of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified height. Leave blank to use the native height of the overlay.", + "StaticImageOutputActivateScheduleActionSettings$Width": "The width of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified width. Leave blank to use the native width of the overlay." } }, "__integerMin100": { @@ -4548,6 +4601,7 @@ "Input$InputPartnerIds": "A list of IDs for all Inputs which are partners of this one.", "Input$SecurityGroups": "A list of IDs for all the Input Security Groups attached to the input.", "InputDevice$MedialiveInputArns": "An array of the ARNs for the MediaLive inputs attached to the device. Returned only if the outputType is MEDIALIVE_INPUT.", + "InputDeviceAttachmentConfiguration$Inputs": "The ARN of each input attached to the device. Only present when state is ATTACHED_EML_INPUT", "InputDeviceNetworkSettings$DnsAddresses": "The DNS addresses of the input device.", "InputDeviceSummary$MedialiveInputArns": "An array of the ARNs for the MediaLive inputs attached to the device. Returned only if the outputType is MEDIALIVE_INPUT.", "InputPrepareScheduleActionSettings$UrlPath": "The value for the variable portion of the URL for the dynamic input, for this instance of the input. Each time you use the same dynamic input in an input switch action, you can provide a different value, in order to connect the input to a different content source.", @@ -4559,6 +4613,8 @@ "MultiplexSummary$AvailabilityZones": "A list of availability zones for the multiplex.", "Output$AudioDescriptionNames": "The names of the AudioDescriptions used as audio sources for this output.", "Output$CaptionDescriptionNames": "The names of the CaptionDescriptions used as caption sources for this output.", + "StaticImageOutputActivateScheduleActionSettings$OutputNames": "The name(s) of the output(s) the activation should apply to.", + "StaticImageOutputDeactivateScheduleActionSettings$OutputNames": "The name(s) of the output(s) the deactivation should apply to.", "UpdateInput$InputSecurityGroups": "A list of security groups referenced by IDs to attach to the input.", "VpcOutputSettings$PublicAddressAllocationIds": "List of public address allocation ids to associate with ENIs that will be created in Output VPC.\nMust specify one for SINGLE_PIPELINE, two for STANDARD channels\n", "VpcOutputSettings$SecurityGroupIds": "A list of up to 5 EC2 VPC security group IDs to attach to the Output VPC network interfaces.\nIf none are specified then the VPC default security group will be used\n", @@ -4677,8 +4733,11 @@ "InputAttachment$InputAttachmentName": "User-specified name for the attachment. This is required if the user wants to use this input in an input switch action.", "InputAttachment$InputId": "The ID of the input", "InputDestination$Ip": "The system-generated static IP address of endpoint.\nIt remains fixed for the lifetime of the input.\n", + "InputDestination$NetworkRouteCidr": "This is the networkRouteCidr of the on-prem push input. This is required for inputs of this type so that\nthe encoder can properly route in the input.\n", "InputDestination$Port": "The port number for the input.", "InputDestination$Url": "This represents the endpoint that the customer stream will be\npushed to.\n", + "InputDestinationRequest$NetworkRouteCidr": "If the push input has an input location of ON-PREM it's a requirement to specify what the route of the input\nis going to be on the customer local network.\n", + "InputDestinationRequest$StaticIpAddress": "If the push input has an input location of ON-PREM it's a requirement to specify what the ip address\nof the input is going to be on the customer local network.\n", "InputDestinationRequest$StreamName": "A unique name for the location the RTMP stream is being pushed\nto.\n", "InputDestinationVpc$AvailabilityZone": "The availability zone of the Input destination.\n", "InputDestinationVpc$NetworkInterfaceId": "The network interface ID of the Input destination in the VPC.\n", @@ -4688,7 +4747,19 @@ "InputDevice$MacAddress": "The network MAC address of the input device.", "InputDevice$Name": "A name that you specify for the input device.", "InputDevice$SerialNumber": "The unique serial number of the input device.", + "InputDeviceConfigurableFlowSettings$FlowArn": "The unique ARN of the flow.", + "InputDeviceConfigurableFlowSettings$RoleArn": "The ARN of the role used to access EMX and Secrets Manager on behalf of the customer.", + "InputDeviceConfigurableFlowSettings$SecretArn": "The ARN of the secret used to encrypt the stream.", + "InputDeviceConfigurableFlowSettings$SourceName": "The name of the flow source to stream to.", + "InputDeviceConfigurableSettings$InputResolution": "Choose the resolution of the Link device's source (HD or UHD). Make sure the resolution matches the current source from the device. This value determines MediaLive resource allocation and billing for this input. Only UHD devices can specify this parameter.", "InputDeviceConfigurationValidationError$Message": "The error message.", + "InputDeviceFlowSettings$EncryptedSecret": "The secret used to encrypt the stream.", + "InputDeviceFlowSettings$EndpointUri": "The endpoint to stream to.", + "InputDeviceFlowSettings$FlowArn": "The unique ARN of the flow.", + "InputDeviceFlowSettings$RoleArn": "The ARN of the role used to access EMX and Secrets Manager on behalf of the customer.", + "InputDeviceFlowSettings$SecretArn": "The ARN of the secret used to encrypt the stream.", + "InputDeviceFlowSettings$SourceName": "The name of the flow source to stream to.", + "InputDeviceFlowSettings$StreamId": "The id of the stream.", "InputDeviceMediaConnectConfigurableSettings$FlowArn": "The ARN of the MediaConnect flow to attach this device to.", "InputDeviceMediaConnectConfigurableSettings$RoleArn": "The ARN for the role that MediaLive assumes to access the attached flow and secret. For more information about how to create this role, see the MediaLive user guide.", "InputDeviceMediaConnectConfigurableSettings$SecretArn": "The ARN for the secret that holds the encryption key to encrypt the content output by the device.", @@ -4701,6 +4772,7 @@ "InputDeviceNetworkSettings$IpAddress": "The IP address of the input device.", "InputDeviceNetworkSettings$SubnetMask": "The subnet mask of the input device.", "InputDeviceRequest$Id": "The unique ID for the device.", + "InputDeviceSettings$AvailabilityZone": "The currently assigned availability zone of the input device.", "InputDeviceSettings$Id": "The unique ID for the device.", "InputDeviceSummary$Arn": "The unique ARN of the input device.", "InputDeviceSummary$AvailabilityZone": "The Availability Zone associated with this input device.", @@ -4708,6 +4780,7 @@ "InputDeviceSummary$MacAddress": "The network MAC address of the input device.", "InputDeviceSummary$Name": "A name that you specify for the input device.", "InputDeviceSummary$SerialNumber": "The unique serial number of the input device.", + "InputDeviceUhdSettings$InputResolution": "The resolution of the Link device's source (HD or UHD). This value determines MediaLive resource allocation and billing for this input.", "InputLocation$PasswordParam": "key used to extract the password from EC2 Parameter store", "InputLocation$Username": "Username if credentials are required to access a file or publishing point. This can be either a plaintext username, or a reference to an AWS parameter store name from which the username can be retrieved. AWS Parameter store format: \"ssm://\"", "InputPrepareScheduleActionSettings$InputAttachmentNameReference": "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.", diff --git a/models/apis/medialive/2017-10-14/endpoint-rule-set-1.json b/models/apis/medialive/2017-10-14/endpoint-rule-set-1.json index 93e47c55b38..6bd9fb97da4 100644 --- a/models/apis/medialive/2017-10-14/endpoint-rule-set-1.json +++ b/models/apis/medialive/2017-10-14/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/mgn/2020-02-26/api-2.json b/models/apis/mgn/2020-02-26/api-2.json index 716f6c01a37..972919eaf03 100644 --- a/models/apis/mgn/2020-02-26/api-2.json +++ b/models/apis/mgn/2020-02-26/api-2.json @@ -2202,6 +2202,7 @@ }, "Iops":{ "type":"long", + "box":true, "max":64000, "min":100 }, @@ -2729,6 +2730,7 @@ }, "MaxResultsType":{ "type":"integer", + "box":true, "max":1000, "min":1 }, @@ -2758,6 +2760,7 @@ }, "OrderType":{ "type":"integer", + "box":true, "max":10000, "min":1001 }, @@ -3399,6 +3402,7 @@ }, "StrictlyPositiveInteger":{ "type":"integer", + "box":true, "min":1 }, "SubnetID":{ @@ -3524,6 +3528,7 @@ }, "Throughput":{ "type":"long", + "box":true, "max":1000, "min":125 }, diff --git a/models/apis/mgn/2020-02-26/endpoint-rule-set-1.json b/models/apis/mgn/2020-02-26/endpoint-rule-set-1.json index 7bb16416537..17af221ec26 100644 --- a/models/apis/mgn/2020-02-26/endpoint-rule-set-1.json +++ b/models/apis/mgn/2020-02-26/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/osis/2022-01-01/api-2.json b/models/apis/osis/2022-01-01/api-2.json index 3f050a684f7..8312f2ce11c 100644 --- a/models/apis/osis/2022-01-01/api-2.json +++ b/models/apis/osis/2022-01-01/api-2.json @@ -23,7 +23,8 @@ {"shape":"ValidationException"}, {"shape":"InternalException"}, {"shape":"AccessDeniedException"}, - {"shape":"ResourceAlreadyExistsException"} + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"} ] }, "DeletePipeline":{ @@ -235,6 +236,13 @@ "exception":true }, "Boolean":{"type":"boolean"}, + "BufferOptions":{ + "type":"structure", + "required":["PersistentBufferEnabled"], + "members":{ + "PersistentBufferEnabled":{"shape":"Boolean"} + } + }, "ChangeProgressStage":{ "type":"structure", "members":{ @@ -308,6 +316,8 @@ "PipelineConfigurationBody":{"shape":"PipelineConfigurationBody"}, "LogPublishingOptions":{"shape":"LogPublishingOptions"}, "VpcOptions":{"shape":"VpcOptions"}, + "BufferOptions":{"shape":"BufferOptions"}, + "EncryptionAtRestOptions":{"shape":"EncryptionAtRestOptions"}, "Tags":{"shape":"TagList"} } }, @@ -333,6 +343,13 @@ "members":{ } }, + "EncryptionAtRestOptions":{ + "type":"structure", + "required":["KmsKeyArn"], + "members":{ + "KmsKeyArn":{"shape":"KmsKeyArn"} + } + }, "GetPipelineBlueprintRequest":{ "type":"structure", "required":["BlueprintName"], @@ -403,6 +420,11 @@ "error":{"httpStatusCode":400}, "exception":true }, + "KmsKeyArn":{ + "type":"string", + "max":2048, + "min":7 + }, "LimitExceededException":{ "type":"structure", "members":{ @@ -498,7 +520,11 @@ "LastUpdatedAt":{"shape":"Timestamp"}, "IngestEndpointUrls":{"shape":"IngestEndpointUrlsList"}, "LogPublishingOptions":{"shape":"LogPublishingOptions"}, - "VpcEndpoints":{"shape":"VpcEndpointsList"} + "VpcEndpoints":{"shape":"VpcEndpointsList"}, + "BufferOptions":{"shape":"BufferOptions"}, + "EncryptionAtRestOptions":{"shape":"EncryptionAtRestOptions"}, + "ServiceVpcEndpoints":{"shape":"ServiceVpcEndpointsList"}, + "Tags":{"shape":"TagList"} } }, "PipelineArn":{ @@ -566,7 +592,8 @@ "MinUnits":{"shape":"PipelineUnits"}, "MaxUnits":{"shape":"PipelineUnits"}, "CreatedAt":{"shape":"Timestamp"}, - "LastUpdatedAt":{"shape":"Timestamp"} + "LastUpdatedAt":{"shape":"Timestamp"}, + "Tags":{"shape":"TagList"} } }, "PipelineSummaryList":{ @@ -575,7 +602,6 @@ }, "PipelineUnits":{ "type":"integer", - "max":96, "min":1 }, "ResourceAlreadyExistsException":{ @@ -604,6 +630,17 @@ "max":12, "min":1 }, + "ServiceVpcEndpoint":{ + "type":"structure", + "members":{ + "ServiceName":{"shape":"VpcEndpointServiceName"}, + "VpcEndpointId":{"shape":"String"} + } + }, + "ServiceVpcEndpointsList":{ + "type":"list", + "member":{"shape":"ServiceVpcEndpoint"} + }, "StartPipelineRequest":{ "type":"structure", "required":["PipelineName"], @@ -735,7 +772,9 @@ "MinUnits":{"shape":"PipelineUnits"}, "MaxUnits":{"shape":"PipelineUnits"}, "PipelineConfigurationBody":{"shape":"PipelineConfigurationBody"}, - "LogPublishingOptions":{"shape":"LogPublishingOptions"} + "LogPublishingOptions":{"shape":"LogPublishingOptions"}, + "BufferOptions":{"shape":"BufferOptions"}, + "EncryptionAtRestOptions":{"shape":"EncryptionAtRestOptions"} } }, "UpdatePipelineResponse":{ @@ -783,6 +822,10 @@ "VpcOptions":{"shape":"VpcOptions"} } }, + "VpcEndpointServiceName":{ + "type":"string", + "enum":["OPENSEARCH_SERVERLESS"] + }, "VpcEndpointsList":{ "type":"list", "member":{"shape":"VpcEndpoint"} diff --git a/models/apis/osis/2022-01-01/docs-2.json b/models/apis/osis/2022-01-01/docs-2.json index d8ad747f840..d1211c38e6b 100644 --- a/models/apis/osis/2022-01-01/docs-2.json +++ b/models/apis/osis/2022-01-01/docs-2.json @@ -26,10 +26,19 @@ "Boolean": { "base": null, "refs": { + "BufferOptions$PersistentBufferEnabled": "

Whether persistent buffering should be enabled.

", "LogPublishingOptions$IsLoggingEnabled": "

Whether logs should be published.

", "ValidatePipelineResponse$isValid": "

A boolean indicating whether or not the pipeline configuration is valid.

" } }, + "BufferOptions": { + "base": "

Options that specify the configuration of a persistent buffer. To configure how OpenSearch Ingestion encrypts this data, set the EncryptionAtRestOptions.

", + "refs": { + "CreatePipelineRequest$BufferOptions": "

Key-value pairs to configure persistent buffering for the pipeline.

", + "Pipeline$BufferOptions": null, + "UpdatePipelineRequest$BufferOptions": "

Key-value pairs to configure persistent buffering for the pipeline.

" + } + }, "ChangeProgressStage": { "base": "

Progress details for a specific stage of a pipeline configuration change.

", "refs": { @@ -97,6 +106,14 @@ "refs": { } }, + "EncryptionAtRestOptions": { + "base": "

Options to control how OpenSearch encrypts all data-at-rest.

", + "refs": { + "CreatePipelineRequest$EncryptionAtRestOptions": "

Key-value pairs to configure encryption for data that is written to a persistent buffer.

", + "Pipeline$EncryptionAtRestOptions": null, + "UpdatePipelineRequest$EncryptionAtRestOptions": "

Key-value pairs to configure encryption for data that is written to a persistent buffer.

" + } + }, "GetPipelineBlueprintRequest": { "base": null, "refs": { @@ -151,6 +168,12 @@ "refs": { } }, + "KmsKeyArn": { + "base": null, + "refs": { + "EncryptionAtRestOptions$KmsKeyArn": "

The ARN of the KMS key used to encrypt data-at-rest in OpenSearch Ingestion. By default, data is encrypted using an AWS owned key.

" + } + }, "LimitExceededException": { "base": "

You attempted to create more than the allowed number of tags.

", "refs": { @@ -330,6 +353,18 @@ "VpcOptions$SecurityGroupIds": "

A list of security groups associated with the VPC endpoint.

" } }, + "ServiceVpcEndpoint": { + "base": "

A container for information about VPC endpoints that were created to other services

", + "refs": { + "ServiceVpcEndpointsList$member": null + } + }, + "ServiceVpcEndpointsList": { + "base": null, + "refs": { + "Pipeline$ServiceVpcEndpoints": "

A list of VPC endpoints that OpenSearch Ingestion has created to other AWS services.

" + } + }, "StartPipelineRequest": { "base": null, "refs": { @@ -364,6 +399,7 @@ "PipelineBlueprint$PipelineConfigurationBody": "

The YAML configuration of the blueprint.

", "PipelineBlueprintSummary$BlueprintName": "

The name of the blueprint.

", "PipelineStatusReason$Description": "

A description of why a pipeline has a certain status.

", + "ServiceVpcEndpoint$VpcEndpointId": "

The ID of the VPC endpoint that was created.

", "StringList$member": null, "ValidationMessage$Message": "

The validation message.

", "VpcEndpoint$VpcEndpointId": "

The unique identifier of the endpoint.

", @@ -405,6 +441,8 @@ "refs": { "CreatePipelineRequest$Tags": "

List of tags to add to the pipeline upon creation.

", "ListTagsForResourceResponse$Tags": "

A list of tags associated with the given pipeline.

", + "Pipeline$Tags": "

A list of tags associated with the given pipeline.

", + "PipelineSummary$Tags": "

A list of tags associated with the given pipeline.

", "TagResourceRequest$Tags": "

The list of key-value tags to add to the pipeline.

" } }, @@ -488,6 +526,12 @@ "VpcEndpointsList$member": null } }, + "VpcEndpointServiceName": { + "base": null, + "refs": { + "ServiceVpcEndpoint$ServiceName": "

The name of the service for which a VPC endpoint was created.

" + } + }, "VpcEndpointsList": { "base": null, "refs": { diff --git a/models/apis/osis/2022-01-01/endpoint-rule-set-1.json b/models/apis/osis/2022-01-01/endpoint-rule-set-1.json index 67e24b06cd2..fa618146c73 100644 --- a/models/apis/osis/2022-01-01/endpoint-rule-set-1.json +++ b/models/apis/osis/2022-01-01/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -59,7 +58,6 @@ }, { "conditions": [], - "type": "tree", "rules": [ { "conditions": [ @@ -87,13 +85,14 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], - "type": "tree", "rules": [ { "conditions": [ @@ -106,7 +105,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -120,7 +118,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -143,7 +140,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -178,11 +174,9 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], - "type": "tree", "rules": [ { "conditions": [], @@ -193,16 +187,19 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -216,14 +213,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -232,15 +227,14 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], - "type": "tree", "rules": [ { "conditions": [], @@ -251,16 +245,19 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -274,7 +271,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -294,11 +290,9 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], - "type": "tree", "rules": [ { "conditions": [], @@ -309,20 +303,22 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], - "type": "tree", "rules": [ { "conditions": [], @@ -333,18 +329,22 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid Configuration: Missing Region", "type": "error" } - ] + ], + "type": "tree" } ] } \ No newline at end of file diff --git a/models/apis/osis/2022-01-01/endpoint-tests-1.json b/models/apis/osis/2022-01-01/endpoint-tests-1.json index b3c494841be..b8c784e7978 100644 --- a/models/apis/osis/2022-01-01/endpoint-tests-1.json +++ b/models/apis/osis/2022-01-01/endpoint-tests-1.json @@ -1,55 +1,55 @@ { "testCases": [ { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://osis-fips.us-gov-east-1.api.aws" + "url": "https://osis-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://osis-fips.us-gov-east-1.amazonaws.com" + "url": "https://osis-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://osis.us-gov-east-1.api.aws" + "url": "https://osis.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://osis.us-gov-east-1.amazonaws.com" + "url": "https://osis.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -99,109 +99,109 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://osis-fips.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://osis-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://osis-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://osis.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://osis.us-iso-east-1.c2s.ic.gov" + "url": "https://osis.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://osis-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://osis-fips.us-east-1.amazonaws.com" + "url": "https://osis-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://osis.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://osis.us-east-1.amazonaws.com" + "url": "https://osis.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -210,9 +210,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -223,9 +223,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -234,9 +234,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -247,22 +247,35 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -272,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/models/apis/pipes/2015-10-07/api-2.json b/models/apis/pipes/2015-10-07/api-2.json index c13415dc04c..f4953568026 100644 --- a/models/apis/pipes/2015-10-07/api-2.json +++ b/models/apis/pipes/2015-10-07/api-2.json @@ -223,6 +223,7 @@ }, "BatchArraySize":{ "type":"integer", + "box":true, "max":10000, "min":2 }, @@ -296,6 +297,7 @@ }, "BatchRetryAttempts":{ "type":"integer", + "box":true, "max":10, "min":1 }, @@ -600,6 +602,7 @@ }, "EphemeralStorageSize":{ "type":"integer", + "box":true, "max":200, "min":21 }, diff --git a/models/apis/rds/2014-10-31/api-2.json b/models/apis/rds/2014-10-31/api-2.json index 4f43a13518f..76a4463c1c7 100644 --- a/models/apis/rds/2014-10-31/api-2.json +++ b/models/apis/rds/2014-10-31/api-2.json @@ -296,6 +296,7 @@ {"shape":"DBSubnetGroupNotFoundFault"}, {"shape":"InvalidVPCNetworkStateFault"}, {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBSubnetGroupFault"}, {"shape":"InvalidDBSubnetGroupStateFault"}, {"shape":"InvalidSubnet"}, {"shape":"InvalidDBInstanceStateFault"}, @@ -306,7 +307,8 @@ {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, {"shape":"GlobalClusterNotFoundFault"}, {"shape":"InvalidGlobalClusterStateFault"}, - {"shape":"DomainNotFoundFault"} + {"shape":"DomainNotFoundFault"}, + {"shape":"OptionGroupNotFoundFault"} ] }, "CreateDBClusterEndpoint":{ @@ -1756,7 +1758,8 @@ {"shape":"DBClusterAlreadyExistsFault"}, {"shape":"DBInstanceAlreadyExistsFault"}, {"shape":"DomainNotFoundFault"}, - {"shape":"StorageTypeNotAvailableFault"} + {"shape":"StorageTypeNotAvailableFault"}, + {"shape":"OptionGroupNotFoundFault"} ] }, "ModifyDBClusterEndpoint":{ @@ -3919,6 +3922,7 @@ "PreferredMaintenanceWindow":{"shape":"String"}, "ReplicationSourceIdentifier":{"shape":"String"}, "ReadReplicaIdentifiers":{"shape":"ReadReplicaIdentifierList"}, + "StatusInfos":{"shape":"DBClusterStatusInfoList"}, "DBClusterMembers":{"shape":"DBClusterMemberList"}, "VpcSecurityGroups":{"shape":"VpcSecurityGroupMembershipList"}, "HostedZoneId":{"shape":"String"}, @@ -4414,6 +4418,22 @@ }, "exception":true }, + "DBClusterStatusInfo":{ + "type":"structure", + "members":{ + "StatusType":{"shape":"String"}, + "Normal":{"shape":"Boolean"}, + "Status":{"shape":"String"}, + "Message":{"shape":"String"} + } + }, + "DBClusterStatusInfoList":{ + "type":"list", + "member":{ + "shape":"DBClusterStatusInfo", + "locationName":"DBClusterStatusInfo" + } + }, "DBEngineVersion":{ "type":"structure", "members":{ @@ -8147,7 +8167,8 @@ "type":"structure", "members":{ "InterconnectSubnetId":{"shape":"String"}, - "TransitGatewayMulticastDomainId":{"shape":"String"} + "TransitGatewayMulticastDomainId":{"shape":"String"}, + "ReplicaMode":{"shape":"ReplicaMode"} } }, "ReadReplicaDBClusterIdentifierList":{ diff --git a/models/apis/rds/2014-10-31/docs-2.json b/models/apis/rds/2014-10-31/docs-2.json index 4586bc7bf78..c70bff883de 100644 --- a/models/apis/rds/2014-10-31/docs-2.json +++ b/models/apis/rds/2014-10-31/docs-2.json @@ -10,9 +10,9 @@ "AuthorizeDBSecurityGroupIngress": "

Enables ingress to a DBSecurityGroup using one of two forms of authorization. First, EC2 or VPC security groups can be added to the DBSecurityGroup if the application using the database is running on EC2 or VPC instances. Second, IP ranges are available if the application accessing your database is running on the internet. Required parameters for this API are one of CIDR range, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId for non-VPC).

You can't authorize ingress from an EC2 security group in one Amazon Web Services Region to an Amazon RDS DB instance in another. You can't authorize ingress from a VPC security group in one VPC to an Amazon RDS DB instance in another.

For an overview of CIDR ranges, go to the Wikipedia Tutorial.

EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that you migrate as soon as possible. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 User Guide, the blog EC2-Classic Networking is Retiring – Here’s How to Prepare, and Moving a DB instance not in a VPC into a VPC in the Amazon RDS User Guide.

", "BacktrackDBCluster": "

Backtracks a DB cluster to a specific time, without creating a new DB cluster.

For more information on backtracking, see Backtracking an Aurora DB Cluster in the Amazon Aurora User Guide.

This action applies only to Aurora MySQL DB clusters.

", "CancelExportTask": "

Cancels an export task in progress that is exporting a snapshot or cluster to Amazon S3. Any data that has already been written to the S3 bucket isn't removed.

", - "CopyDBClusterParameterGroup": "

Copies the specified DB cluster parameter group.

", + "CopyDBClusterParameterGroup": "

Copies the specified DB cluster parameter group.

You can't copy a default DB cluster parameter group. Instead, create a new custom DB cluster parameter group, which copies the default parameters and values for the specified DB cluster parameter group family.

", "CopyDBClusterSnapshot": "

Copies a snapshot of a DB cluster.

To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

You can copy an encrypted DB cluster snapshot from another Amazon Web Services Region. In that case, the Amazon Web Services Region where you call the CopyDBClusterSnapshot operation is the destination Amazon Web Services Region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another Amazon Web Services Region, you must provide the following values:

To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in \"copying\" status.

For more information on copying encrypted Amazon Aurora DB cluster snapshots from one Amazon Web Services Region to another, see Copying a Snapshot in the Amazon Aurora User Guide.

For more information on Amazon Aurora DB clusters, see What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

", - "CopyDBParameterGroup": "

Copies the specified DB parameter group.

", + "CopyDBParameterGroup": "

Copies the specified DB parameter group.

You can't copy a default DB parameter group. Instead, create a new custom DB parameter group, which copies the default parameters and values for the specified DB parameter group family.

", "CopyDBSnapshot": "

Copies the specified DB snapshot. The source DB snapshot must be in the available state.

You can copy a snapshot from one Amazon Web Services Region to another. In that case, the Amazon Web Services Region where you call the CopyDBSnapshot operation is the destination Amazon Web Services Region for the DB snapshot copy.

This command doesn't apply to RDS Custom.

For more information about copying snapshots, see Copying a DB Snapshot in the Amazon RDS User Guide.

", "CopyOptionGroup": "

Copies the specified option group.

", "CreateBlueGreenDeployment": "

Creates a blue/green deployment.

A blue/green deployment creates a staging environment that copies the production environment. In a blue/green deployment, the blue environment is the current production environment. The green environment is the staging environment. The staging environment stays in sync with the current production environment using logical replication.

You can make changes to the databases in the green environment without affecting production workloads. For example, you can upgrade the major or minor DB engine version, change database parameters, or make schema changes in the staging environment. You can thoroughly test changes in the green environment. When ready, you can switch over the environments to promote the green environment to be the new production environment. The switchover typically takes under a minute.

For more information, see Using Amazon RDS Blue/Green Deployments for database updates in the Amazon RDS User Guide and Using Amazon RDS Blue/Green Deployments for database updates in the Amazon Aurora User Guide.

", @@ -454,6 +454,7 @@ "DBClusterMember$IsClusterWriter": "

Indicates whether the cluster member is the primary DB instance for the DB cluster.

", "DBClusterSnapshot$StorageEncrypted": "

Indicates whether the DB cluster snapshot is encrypted.

", "DBClusterSnapshot$IAMDatabaseAuthenticationEnabled": "

Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.

", + "DBClusterStatusInfo$Normal": "

Reserved for future use.

", "DBEngineVersion$SupportsLogExportsToCloudwatchLogs": "

Indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

", "DBEngineVersion$SupportsReadReplica": "

Indicates whether the database engine version supports read replicas.

", "DBEngineVersion$SupportsParallelQuery": "

Indicates whether you can use Aurora parallel query with a specific DB engine version.

", @@ -1357,6 +1358,18 @@ "refs": { } }, + "DBClusterStatusInfo": { + "base": "

Reserved for future use.

", + "refs": { + "DBClusterStatusInfoList$member": null + } + }, + "DBClusterStatusInfoList": { + "base": null, + "refs": { + "DBCluster$StatusInfos": "

Reserved for future use.

" + } + }, "DBEngineVersion": { "base": "

This data type is used as a response element in the action DescribeDBEngineVersions.

", "refs": { @@ -3887,7 +3900,8 @@ "refs": { "CreateDBInstanceReadReplicaMessage$ReplicaMode": "

The open mode of the replica database: mounted or read-only.

This parameter is only supported for Oracle DB instances.

Mounted DB replicas are included in Oracle Database Enterprise Edition. The main use case for mounted replicas is cross-Region disaster recovery. The primary database doesn't use Active Data Guard to transmit information to the mounted replica. Because it doesn't accept user connections, a mounted replica can't serve a read-only workload.

You can create a combination of mounted and read-only DB replicas for the same primary DB instance. For more information, see Working with Oracle Read Replicas for Amazon RDS in the Amazon RDS User Guide.

For RDS Custom, you must specify this parameter and set it to mounted. The value won't be set by default. After replica creation, you can manage the open mode manually.

", "DBInstance$ReplicaMode": "

The open mode of an Oracle read replica. The default is open-read-only. For more information, see Working with Oracle Read Replicas for Amazon RDS in the Amazon RDS User Guide.

This attribute is only supported in RDS for Oracle.

", - "ModifyDBInstanceMessage$ReplicaMode": "

A value that sets the open mode of a replica database to either mounted or read-only.

Currently, this parameter is only supported for Oracle DB instances.

Mounted DB replicas are included in Oracle Enterprise Edition. The main use case for mounted replicas is cross-Region disaster recovery. The primary database doesn't use Active Data Guard to transmit information to the mounted replica. Because it doesn't accept user connections, a mounted replica can't serve a read-only workload. For more information, see Working with Oracle Read Replicas for Amazon RDS in the Amazon RDS User Guide.

This setting doesn't apply to RDS Custom DB instances.

" + "ModifyDBInstanceMessage$ReplicaMode": "

A value that sets the open mode of a replica database to either mounted or read-only.

Currently, this parameter is only supported for Oracle DB instances.

Mounted DB replicas are included in Oracle Enterprise Edition. The main use case for mounted replicas is cross-Region disaster recovery. The primary database doesn't use Active Data Guard to transmit information to the mounted replica. Because it doesn't accept user connections, a mounted replica can't serve a read-only workload. For more information, see Working with Oracle Read Replicas for Amazon RDS in the Amazon RDS User Guide.

This setting doesn't apply to RDS Custom DB instances.

", + "RdsCustomClusterConfiguration$ReplicaMode": "

Reserved for future use.

" } }, "ReservedDBInstance": { @@ -4541,6 +4555,9 @@ "DBClusterSnapshotAttribute$AttributeName": "

The name of the manual DB cluster snapshot attribute.

The attribute named restore refers to the list of Amazon Web Services accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

", "DBClusterSnapshotAttributesResult$DBClusterSnapshotIdentifier": "

The identifier of the manual DB cluster snapshot that the attributes apply to.

", "DBClusterSnapshotMessage$Marker": "

An optional pagination token provided by a previous DescribeDBClusterSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", + "DBClusterStatusInfo$StatusType": "

Reserved for future use.

", + "DBClusterStatusInfo$Status": "

Reserved for future use.

", + "DBClusterStatusInfo$Message": "

Reserved for future use.

", "DBEngineVersion$Engine": "

The name of the database engine.

", "DBEngineVersion$EngineVersion": "

The version number of the database engine.

", "DBEngineVersion$DBParameterGroupFamily": "

The name of the DB parameter group family for the database engine.

", diff --git a/models/apis/redshift-serverless/2021-04-21/api-2.json b/models/apis/redshift-serverless/2021-04-21/api-2.json index 9da1cac4a8d..472240741f1 100644 --- a/models/apis/redshift-serverless/2021-04-21/api-2.json +++ b/models/apis/redshift-serverless/2021-04-21/api-2.json @@ -837,6 +837,7 @@ "logExports":{"shape":"LogExportList"}, "manageAdminPassword":{"shape":"Boolean"}, "namespaceName":{"shape":"NamespaceName"}, + "redshiftIdcApplicationArn":{"shape":"RedshiftIdcApplicationArn"}, "tags":{"shape":"TagList"} } }, @@ -1566,6 +1567,11 @@ "type":"list", "member":{"shape":"RecoveryPoint"} }, + "RedshiftIdcApplicationArn":{ + "type":"string", + "max":1024, + "min":1 + }, "ResourceNotFoundException":{ "type":"structure", "required":["message"], diff --git a/models/apis/redshift-serverless/2021-04-21/docs-2.json b/models/apis/redshift-serverless/2021-04-21/docs-2.json index 08fe6f4e07c..07a674330a2 100644 --- a/models/apis/redshift-serverless/2021-04-21/docs-2.json +++ b/models/apis/redshift-serverless/2021-04-21/docs-2.json @@ -765,6 +765,12 @@ "ListRecoveryPointsResponse$recoveryPoints": "

The returned recovery point objects.

" } }, + "RedshiftIdcApplicationArn": { + "base": null, + "refs": { + "CreateNamespaceRequest$redshiftIdcApplicationArn": "

The ARN for the Redshift application that integrates with IAM Identity Center.

" + } + }, "ResourceNotFoundException": { "base": "

The resource could not be found.

", "refs": { diff --git a/models/apis/redshift/2012-12-01/api-2.json b/models/apis/redshift/2012-12-01/api-2.json index 7487e260eab..a07bb904763 100644 --- a/models/apis/redshift/2012-12-01/api-2.json +++ b/models/apis/redshift/2012-12-01/api-2.json @@ -261,7 +261,8 @@ {"shape":"SnapshotScheduleNotFoundFault"}, {"shape":"InvalidRetentionPeriodFault"}, {"shape":"Ipv6CidrBlockNotFoundFault"}, - {"shape":"UnsupportedOperationFault"} + {"shape":"UnsupportedOperationFault"}, + {"shape":"RedshiftIdcApplicationNotExistsFault"} ] }, "CreateClusterParameterGroup":{ @@ -445,6 +446,25 @@ {"shape":"InvalidTagFault"} ] }, + "CreateRedshiftIdcApplication":{ + "name":"CreateRedshiftIdcApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRedshiftIdcApplicationMessage"}, + "output":{ + "shape":"CreateRedshiftIdcApplicationResult", + "resultWrapper":"CreateRedshiftIdcApplicationResult" + }, + "errors":[ + {"shape":"RedshiftIdcApplicationAlreadyExistsFault"}, + {"shape":"DependentServiceUnavailableFault"}, + {"shape":"UnsupportedOperationFault"}, + {"shape":"DependentServiceAccessDeniedFault"}, + {"shape":"RedshiftIdcApplicationQuotaExceededFault"} + ] + }, "CreateScheduledAction":{ "name":"CreateScheduledAction", "http":{ @@ -732,6 +752,20 @@ {"shape":"UnsupportedOperationFault"} ] }, + "DeleteRedshiftIdcApplication":{ + "name":"DeleteRedshiftIdcApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRedshiftIdcApplicationMessage"}, + "errors":[ + {"shape":"RedshiftIdcApplicationNotExistsFault"}, + {"shape":"DependentServiceUnavailableFault"}, + {"shape":"UnsupportedOperationFault"}, + {"shape":"DependentServiceAccessDeniedFault"} + ] + }, "DeleteResourcePolicy":{ "name":"DeleteResourcePolicy", "http":{ @@ -1232,6 +1266,24 @@ {"shape":"UnsupportedOperationFault"} ] }, + "DescribeRedshiftIdcApplications":{ + "name":"DescribeRedshiftIdcApplications", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeRedshiftIdcApplicationsMessage"}, + "output":{ + "shape":"DescribeRedshiftIdcApplicationsResult", + "resultWrapper":"DescribeRedshiftIdcApplicationsResult" + }, + "errors":[ + {"shape":"RedshiftIdcApplicationNotExistsFault"}, + {"shape":"DependentServiceUnavailableFault"}, + {"shape":"UnsupportedOperationFault"}, + {"shape":"DependentServiceAccessDeniedFault"} + ] + }, "DescribeReservedNodeExchangeStatus":{ "name":"DescribeReservedNodeExchangeStatus", "http":{ @@ -1856,6 +1908,24 @@ {"shape":"InvalidSubscriptionStateFault"} ] }, + "ModifyRedshiftIdcApplication":{ + "name":"ModifyRedshiftIdcApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyRedshiftIdcApplicationMessage"}, + "output":{ + "shape":"ModifyRedshiftIdcApplicationResult", + "resultWrapper":"ModifyRedshiftIdcApplicationResult" + }, + "errors":[ + {"shape":"RedshiftIdcApplicationNotExistsFault"}, + {"shape":"DependentServiceUnavailableFault"}, + {"shape":"UnsupportedOperationFault"}, + {"shape":"DependentServiceAccessDeniedFault"} + ] + }, "ModifyScheduledAction":{ "name":"ModifyScheduledAction", "http":{ @@ -2537,6 +2607,21 @@ "Snapshot":{"shape":"Snapshot"} } }, + "AuthorizedAudienceList":{ + "type":"list", + "member":{"shape":"String"} + }, + "AuthorizedTokenIssuer":{ + "type":"structure", + "members":{ + "TrustedTokenIssuerArn":{"shape":"String"}, + "AuthorizedAudiencesList":{"shape":"AuthorizedAudienceList"} + } + }, + "AuthorizedTokenIssuerList":{ + "type":"list", + "member":{"shape":"AuthorizedTokenIssuer"} + }, "AvailabilityZone":{ "type":"structure", "members":{ @@ -3258,7 +3343,8 @@ "ManageMasterPassword":{"shape":"BooleanOptional"}, "MasterPasswordSecretKmsKeyId":{"shape":"String"}, "IpAddressType":{"shape":"String"}, - "MultiAZ":{"shape":"BooleanOptional"} + "MultiAZ":{"shape":"BooleanOptional"}, + "RedshiftIdcApplicationArn":{"shape":"String"} } }, "CreateClusterParameterGroupMessage":{ @@ -3443,6 +3529,30 @@ "HsmConfiguration":{"shape":"HsmConfiguration"} } }, + "CreateRedshiftIdcApplicationMessage":{ + "type":"structure", + "required":[ + "IdcInstanceArn", + "RedshiftIdcApplicationName", + "IdcDisplayName", + "IamRoleArn" + ], + "members":{ + "IdcInstanceArn":{"shape":"String"}, + "RedshiftIdcApplicationName":{"shape":"RedshiftIdcApplicationName"}, + "IdentityNamespace":{"shape":"IdentityNamespaceString"}, + "IdcDisplayName":{"shape":"IdcDisplayNameString"}, + "IamRoleArn":{"shape":"String"}, + "AuthorizedTokenIssuerList":{"shape":"AuthorizedTokenIssuerList"}, + "ServiceIntegrations":{"shape":"ServiceIntegrationList"} + } + }, + "CreateRedshiftIdcApplicationResult":{ + "type":"structure", + "members":{ + "RedshiftIdcApplication":{"shape":"RedshiftIdcApplication"} + } + }, "CreateScheduledActionMessage":{ "type":"structure", "required":[ @@ -3784,6 +3894,13 @@ "HsmConfigurationIdentifier":{"shape":"String"} } }, + "DeleteRedshiftIdcApplicationMessage":{ + "type":"structure", + "required":["RedshiftIdcApplicationArn"], + "members":{ + "RedshiftIdcApplicationArn":{"shape":"String"} + } + }, "DeleteResourcePolicyMessage":{ "type":"structure", "required":["ResourceArn"], @@ -3830,6 +3947,17 @@ "UsageLimitId":{"shape":"String"} } }, + "DependentServiceAccessDeniedFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"DependentServiceAccessDenied", + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, "DependentServiceRequestThrottlingFault":{ "type":"structure", "members":{ @@ -4164,6 +4292,21 @@ "PartnerIntegrationInfoList":{"shape":"PartnerIntegrationInfoList"} } }, + "DescribeRedshiftIdcApplicationsMessage":{ + "type":"structure", + "members":{ + "RedshiftIdcApplicationArn":{"shape":"String"}, + "MaxRecords":{"shape":"IntegerOptional"}, + "Marker":{"shape":"String"} + } + }, + "DescribeRedshiftIdcApplicationsResult":{ + "type":"structure", + "members":{ + "RedshiftIdcApplications":{"shape":"RedshiftIdcApplicationList"}, + "Marker":{"shape":"String"} + } + }, "DescribeReservedNodeExchangeStatusInputMessage":{ "type":"structure", "members":{ @@ -4844,6 +4987,18 @@ "locationName":"IamRoleArn" } }, + "IdcDisplayNameString":{ + "type":"string", + "max":127, + "min":1, + "pattern":"[\\w+=,.@-]+" + }, + "IdentityNamespaceString":{ + "type":"string", + "max":127, + "min":1, + "pattern":"^[a-zA-Z0-9_+.#@$-]+$" + }, "ImportTablesCompleted":{ "type":"list", "member":{"shape":"String"} @@ -5305,6 +5460,24 @@ }, "exception":true }, + "LakeFormationQuery":{ + "type":"structure", + "required":["Authorization"], + "members":{ + "Authorization":{"shape":"ServiceAuthorization"} + } + }, + "LakeFormationScopeUnion":{ + "type":"structure", + "members":{ + "LakeFormationQuery":{"shape":"LakeFormationQuery"} + }, + "union":true + }, + "LakeFormationServiceIntegrations":{ + "type":"list", + "member":{"shape":"LakeFormationScopeUnion"} + }, "LimitExceededFault":{ "type":"structure", "members":{ @@ -5583,6 +5756,24 @@ "EventSubscription":{"shape":"EventSubscription"} } }, + "ModifyRedshiftIdcApplicationMessage":{ + "type":"structure", + "required":["RedshiftIdcApplicationArn"], + "members":{ + "RedshiftIdcApplicationArn":{"shape":"String"}, + "IdentityNamespace":{"shape":"IdentityNamespaceString"}, + "IamRoleArn":{"shape":"String"}, + "IdcDisplayName":{"shape":"IdcDisplayNameString"}, + "AuthorizedTokenIssuerList":{"shape":"AuthorizedTokenIssuerList"}, + "ServiceIntegrations":{"shape":"ServiceIntegrationList"} + } + }, + "ModifyRedshiftIdcApplicationResult":{ + "type":"structure", + "members":{ + "RedshiftIdcApplication":{"shape":"RedshiftIdcApplication"} + } + }, "ModifyScheduledActionMessage":{ "type":"structure", "required":["ScheduledActionName"], @@ -5973,6 +6164,65 @@ "locationName":"RecurringCharge" } }, + "RedshiftIdcApplication":{ + "type":"structure", + "members":{ + "IdcInstanceArn":{"shape":"String"}, + "RedshiftIdcApplicationName":{"shape":"RedshiftIdcApplicationName"}, + "RedshiftIdcApplicationArn":{"shape":"String"}, + "IdentityNamespace":{"shape":"IdentityNamespaceString"}, + "IdcDisplayName":{"shape":"IdcDisplayNameString"}, + "IamRoleArn":{"shape":"String"}, + "IdcManagedApplicationArn":{"shape":"String"}, + "IdcOnboardStatus":{"shape":"String"}, + "AuthorizedTokenIssuerList":{"shape":"AuthorizedTokenIssuerList"}, + "ServiceIntegrations":{"shape":"ServiceIntegrationList"} + }, + "wrapper":true + }, + "RedshiftIdcApplicationAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"RedshiftIdcApplicationAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "RedshiftIdcApplicationList":{ + "type":"list", + "member":{"shape":"RedshiftIdcApplication"} + }, + "RedshiftIdcApplicationName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"[a-z][a-z0-9]*(-[a-z0-9]+)*" + }, + "RedshiftIdcApplicationNotExistsFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"RedshiftIdcApplicationNotExists", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "RedshiftIdcApplicationQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"RedshiftIdcApplicationQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "RejectDataShareMessage":{ "type":"structure", "required":["DataShareArn"], @@ -6636,6 +6886,24 @@ "type":"string", "sensitive":true }, + "ServiceAuthorization":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, + "ServiceIntegrationList":{ + "type":"list", + "member":{"shape":"ServiceIntegrationsUnion"} + }, + "ServiceIntegrationsUnion":{ + "type":"structure", + "members":{ + "LakeFormation":{"shape":"LakeFormationServiceIntegrations"} + }, + "union":true + }, "Snapshot":{ "type":"structure", "members":{ diff --git a/models/apis/redshift/2012-12-01/docs-2.json b/models/apis/redshift/2012-12-01/docs-2.json index bc1ab50c30a..384335111ac 100644 --- a/models/apis/redshift/2012-12-01/docs-2.json +++ b/models/apis/redshift/2012-12-01/docs-2.json @@ -24,6 +24,7 @@ "CreateEventSubscription": "

Creates an Amazon Redshift event notification subscription. This action requires an ARN (Amazon Resource Name) of an Amazon SNS topic created by either the Amazon Redshift console, the Amazon SNS console, or the Amazon SNS API. To obtain an ARN with Amazon SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console.

You can specify the source type, and lists of Amazon Redshift source IDs, event categories, and event severities. Notifications will be sent for all events you want that match those criteria. For example, you can specify source type = cluster, source ID = my-cluster-1 and mycluster2, event categories = Availability, Backup, and severity = ERROR. The subscription will only send notifications for those ERROR events in the Availability and Backup categories for the specified clusters.

If you specify both the source type and source IDs, such as source type = cluster and source identifier = my-cluster-1, notifications will be sent for all the cluster events for my-cluster-1. If you specify a source type but do not specify a source identifier, you will receive notice of the events for the objects of that type in your Amazon Web Services account. If you do not specify either the SourceType nor the SourceIdentifier, you will be notified of events generated from all Amazon Redshift sources belonging to your Amazon Web Services account. You must specify a source type if you specify a source ID.

", "CreateHsmClientCertificate": "

Creates an HSM client certificate that an Amazon Redshift cluster will use to connect to the client's HSM in order to store and retrieve the keys used to encrypt the cluster databases.

The command returns a public key, which you must store in the HSM. In addition to creating the HSM certificate, you must create an Amazon Redshift HSM configuration that provides a cluster the information needed to store and use encryption keys in the HSM. For more information, go to Hardware Security Modules in the Amazon Redshift Cluster Management Guide.

", "CreateHsmConfiguration": "

Creates an HSM configuration that contains the information required by an Amazon Redshift cluster to store and use database encryption keys in a Hardware Security Module (HSM). After creating the HSM configuration, you can specify it as a parameter when creating a cluster. The cluster will then store its encryption keys in the HSM.

In addition to creating an HSM configuration, you must also create an HSM client certificate. For more information, go to Hardware Security Modules in the Amazon Redshift Cluster Management Guide.

", + "CreateRedshiftIdcApplication": "

Creates an Amazon Redshift application for use with IAM Identity Center.

", "CreateScheduledAction": "

Creates a scheduled action. A scheduled action contains a schedule and an Amazon Redshift API action. For example, you can create a schedule of when to run the ResizeCluster API operation.

", "CreateSnapshotCopyGrant": "

Creates a snapshot copy grant that permits Amazon Redshift to use an encrypted symmetric key from Key Management Service (KMS) to encrypt copied snapshots in a destination region.

For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

", "CreateSnapshotSchedule": "

Create a snapshot schedule that can be associated to a cluster and which overrides the default system backup schedule.

", @@ -42,6 +43,7 @@ "DeleteHsmClientCertificate": "

Deletes the specified HSM client certificate.

", "DeleteHsmConfiguration": "

Deletes the specified Amazon Redshift HSM configuration.

", "DeletePartner": "

Deletes a partner integration from a cluster. Data can still flow to the cluster until the integration is deleted at the partner's website.

", + "DeleteRedshiftIdcApplication": "

Deletes an Amazon Redshift IAM Identity Center application.

", "DeleteResourcePolicy": "

Deletes the resource policy for a specified resource.

", "DeleteScheduledAction": "

Deletes a scheduled action.

", "DeleteSnapshotCopyGrant": "

Deletes the specified snapshot copy grant.

", @@ -76,6 +78,7 @@ "DescribeNodeConfigurationOptions": "

Returns properties of possible node configurations such as node type, number of nodes, and disk usage for the specified action type.

", "DescribeOrderableClusterOptions": "

Returns a list of orderable cluster options. Before you create a new cluster you can use this operation to find what options are available, such as the EC2 Availability Zones (AZ) in the specific Amazon Web Services Region that you can specify, and the node types you can request. The node types differ by available storage, memory, CPU and price. With the cost involved you might want to obtain a list of cluster options in the specific region and specify values when creating a cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

", "DescribePartners": "

Returns information about the partner integrations defined for a cluster.

", + "DescribeRedshiftIdcApplications": "

Lists the Amazon Redshift IAM Identity Center applications.

", "DescribeReservedNodeExchangeStatus": "

Returns exchange status details and associated metadata for a reserved-node exchange. Statuses include such values as in progress and requested.

", "DescribeReservedNodeOfferings": "

Returns a list of the available reserved node offerings by Amazon Redshift with their descriptions including the node type, the fixed and recurring costs of reserving the node and duration the node will be reserved for you. These descriptions help you determine which reserve node offering you want to purchase. You then use the unique offering ID in you call to PurchaseReservedNodeOffering to reserve one or more nodes for your Amazon Redshift cluster.

For more information about reserved node offerings, go to Purchasing Reserved Nodes in the Amazon Redshift Cluster Management Guide.

", "DescribeReservedNodes": "

Returns the descriptions of the reserved nodes.

", @@ -111,6 +114,7 @@ "ModifyCustomDomainAssociation": "

Contains information for changing a custom domain association.

", "ModifyEndpointAccess": "

Modifies a Redshift-managed VPC endpoint.

", "ModifyEventSubscription": "

Modifies an existing Amazon Redshift event notification subscription.

", + "ModifyRedshiftIdcApplication": "

Changes an existing Amazon Redshift IAM Identity Center application.

", "ModifyScheduledAction": "

Modifies a scheduled action.

", "ModifySnapshotCopyRetentionPeriod": "

Modifies the number of days to retain snapshots in the destination Amazon Web Services Region after they are copied from the source Amazon Web Services Region. By default, this operation only changes the retention period of copied automated snapshots. The retention periods for both new and existing copied automated snapshots are updated with the new retention period. You can set the manual option to change only the retention periods of copied manual snapshots. If you set this option, only newly copied manual snapshots have the new retention period.

", "ModifySnapshotSchedule": "

Modifies a snapshot schedule. Any schedule associated with a cluster is modified asynchronously.

", @@ -341,6 +345,26 @@ "refs": { } }, + "AuthorizedAudienceList": { + "base": null, + "refs": { + "AuthorizedTokenIssuer$AuthorizedAudiencesList": "

The list of audiences for the authorized token issuer for integrating Amazon Redshift with IDC Identity Center.

" + } + }, + "AuthorizedTokenIssuer": { + "base": "

The authorized token issuer for the Amazon Redshift IAM Identity Center application.

", + "refs": { + "AuthorizedTokenIssuerList$member": null + } + }, + "AuthorizedTokenIssuerList": { + "base": null, + "refs": { + "CreateRedshiftIdcApplicationMessage$AuthorizedTokenIssuerList": "

The token issuer list for the Amazon Redshift IAM Identity Center application instance.

", + "ModifyRedshiftIdcApplicationMessage$AuthorizedTokenIssuerList": "

The authorized token issuer list for the Amazon Redshift IAM Identity Center application to change.

", + "RedshiftIdcApplication$AuthorizedTokenIssuerList": "

The authorized token issuer list for the Amazon Redshift IAM Identity Center application.

" + } + }, "AvailabilityZone": { "base": "

Describes an availability zone.

", "refs": { @@ -914,6 +938,16 @@ "refs": { } }, + "CreateRedshiftIdcApplicationMessage": { + "base": null, + "refs": { + } + }, + "CreateRedshiftIdcApplicationResult": { + "base": null, + "refs": { + } + }, "CreateScheduledActionMessage": { "base": null, "refs": { @@ -1141,6 +1175,11 @@ "refs": { } }, + "DeleteRedshiftIdcApplicationMessage": { + "base": null, + "refs": { + } + }, "DeleteResourcePolicyMessage": { "base": null, "refs": { @@ -1171,6 +1210,11 @@ "refs": { } }, + "DependentServiceAccessDeniedFault": { + "base": "

A dependent service denied access for the integration.

", + "refs": { + } + }, "DependentServiceRequestThrottlingFault": { "base": "

The request cannot be completed because a dependent service is throttling requests made by Amazon Redshift on your behalf. Wait and retry the request.

", "refs": { @@ -1351,6 +1395,16 @@ "refs": { } }, + "DescribeRedshiftIdcApplicationsMessage": { + "base": null, + "refs": { + } + }, + "DescribeRedshiftIdcApplicationsResult": { + "base": null, + "refs": { + } + }, "DescribeReservedNodeExchangeStatusInputMessage": { "base": null, "refs": { @@ -1794,6 +1848,22 @@ "RestoreFromClusterSnapshotMessage$IamRoles": "

A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.

The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to Quotas and limits in the Amazon Redshift Cluster Management Guide.

" } }, + "IdcDisplayNameString": { + "base": null, + "refs": { + "CreateRedshiftIdcApplicationMessage$IdcDisplayName": "

The display name for the Amazon Redshift IAM Identity Center application instance. It appears in the console.

", + "ModifyRedshiftIdcApplicationMessage$IdcDisplayName": "

The display name for the Amazon Redshift IAM Identity Center application to change. It appears on the console.

", + "RedshiftIdcApplication$IdcDisplayName": "

The display name for the Amazon Redshift IAM Identity Center application. It appears on the console.

" + } + }, + "IdentityNamespaceString": { + "base": null, + "refs": { + "CreateRedshiftIdcApplicationMessage$IdentityNamespace": "

The namespace for the Amazon Redshift IAM Identity Center application instance. It determines which managed application verifies the connection token.

", + "ModifyRedshiftIdcApplicationMessage$IdentityNamespace": "

The namespace for the Amazon Redshift IAM Identity Center application to change. It determines which managed application verifies the connection token.

", + "RedshiftIdcApplication$IdentityNamespace": "

The identity namespace for the Amazon Redshift IAM Identity Center application. It determines which managed application verifies the connection token.

" + } + }, "ImportTablesCompleted": { "base": null, "refs": { @@ -1907,6 +1977,7 @@ "DescribeInboundIntegrationsMessage$MaxRecords": "

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

", "DescribeNodeConfigurationOptionsMessage$MaxRecords": "

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 500

Constraints: minimum 100, maximum 500.

", "DescribeOrderableClusterOptionsMessage$MaxRecords": "

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

", + "DescribeRedshiftIdcApplicationsMessage$MaxRecords": "

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

", "DescribeReservedNodeExchangeStatusInputMessage$MaxRecords": "

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a Marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

", "DescribeReservedNodeOfferingsMessage$MaxRecords": "

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

", "DescribeReservedNodesMessage$MaxRecords": "

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

", @@ -2119,6 +2190,24 @@ "refs": { } }, + "LakeFormationQuery": { + "base": "

The Lake Formation scope.

", + "refs": { + "LakeFormationScopeUnion$LakeFormationQuery": "

The Lake Formation scope.

" + } + }, + "LakeFormationScopeUnion": { + "base": "

A list of scopes set up for Lake Formation integration.

", + "refs": { + "LakeFormationServiceIntegrations$member": null + } + }, + "LakeFormationServiceIntegrations": { + "base": null, + "refs": { + "ServiceIntegrationsUnion$LakeFormation": "

A list of scopes set up for Lake Formation integration.

" + } + }, "LimitExceededFault": { "base": "

The encryption key has exceeded its grant limit in Amazon Web Services KMS.

", "refs": { @@ -2301,6 +2390,16 @@ "refs": { } }, + "ModifyRedshiftIdcApplicationMessage": { + "base": null, + "refs": { + } + }, + "ModifyRedshiftIdcApplicationResult": { + "base": null, + "refs": { + } + }, "ModifyScheduledActionMessage": { "base": null, "refs": { @@ -2576,6 +2675,42 @@ "ReservedNodeOffering$RecurringCharges": "

The charge to your account regardless of whether you are creating any clusters using the node offering. Recurring charges are only in effect for heavy-utilization reserved nodes.

" } }, + "RedshiftIdcApplication": { + "base": "

Contains properties for the Redshift IDC application.

", + "refs": { + "CreateRedshiftIdcApplicationResult$RedshiftIdcApplication": null, + "ModifyRedshiftIdcApplicationResult$RedshiftIdcApplication": null, + "RedshiftIdcApplicationList$member": null + } + }, + "RedshiftIdcApplicationAlreadyExistsFault": { + "base": "

The application you attempted to add already exists.

", + "refs": { + } + }, + "RedshiftIdcApplicationList": { + "base": null, + "refs": { + "DescribeRedshiftIdcApplicationsResult$RedshiftIdcApplications": "

The list of Amazon Redshift IAM Identity Center applications.

" + } + }, + "RedshiftIdcApplicationName": { + "base": null, + "refs": { + "CreateRedshiftIdcApplicationMessage$RedshiftIdcApplicationName": "

The name of the Redshift application in IAM Identity Center.

", + "RedshiftIdcApplication$RedshiftIdcApplicationName": "

The name of the Redshift application in IAM Identity Center.

" + } + }, + "RedshiftIdcApplicationNotExistsFault": { + "base": "

The application you attempted to find doesn't exist.

", + "refs": { + } + }, + "RedshiftIdcApplicationQuotaExceededFault": { + "base": "

The maximum number of Redshift IAM Identity Center applications was exceeded.

", + "refs": { + } + }, "RejectDataShareMessage": { "base": null, "refs": { @@ -2966,6 +3101,26 @@ "PendingModifiedValues$MasterUserPassword": "

The pending or in-progress change of the admin user password for the cluster.

" } }, + "ServiceAuthorization": { + "base": null, + "refs": { + "LakeFormationQuery$Authorization": "

Determines whether the query scope is enabled or disabled.

" + } + }, + "ServiceIntegrationList": { + "base": null, + "refs": { + "CreateRedshiftIdcApplicationMessage$ServiceIntegrations": "

A collection of service integrations for the Redshift IAM Identity Center application.

", + "ModifyRedshiftIdcApplicationMessage$ServiceIntegrations": "

A collection of service integrations associated with the application.

", + "RedshiftIdcApplication$ServiceIntegrations": "

A list of service integrations for the Redshift IAM Identity Center application.

" + } + }, + "ServiceIntegrationsUnion": { + "base": "

A list of service integrations.

", + "refs": { + "ServiceIntegrationList$member": null + } + }, "Snapshot": { "base": "

Describes a snapshot.

", "refs": { @@ -3155,6 +3310,8 @@ "AuthorizeSnapshotAccessMessage$SnapshotArn": "

The Amazon Resource Name (ARN) of the snapshot to authorize access to.

", "AuthorizeSnapshotAccessMessage$SnapshotClusterIdentifier": "

The identifier of the cluster the snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.

", "AuthorizeSnapshotAccessMessage$AccountWithRestoreAccess": "

The identifier of the Amazon Web Services account authorized to restore the specified snapshot.

To share a snapshot with Amazon Web Services Support, specify amazon-redshift-support.

", + "AuthorizedAudienceList$member": null, + "AuthorizedTokenIssuer$TrustedTokenIssuerArn": "

The ARN for the authorized token issuer for integrating Amazon Redshift with IDC Identity Center.

", "AvailabilityZone$Name": "

The name of the availability zone.

", "CancelResizeMessage$ClusterIdentifier": "

The unique identifier for the cluster that you want to cancel a resize operation for.

", "CertificateAssociation$CustomDomainName": "

The custom domain name for the certificate association.

", @@ -3254,6 +3411,7 @@ "CreateClusterMessage$LoadSampleData": "

A flag that specifies whether to load sample data once the cluster is created.

", "CreateClusterMessage$MasterPasswordSecretKmsKeyId": "

The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret. You can only use this parameter if ManageMasterPassword is true.

", "CreateClusterMessage$IpAddressType": "

The IP address types that the cluster supports. Possible values are ipv4 and dualstack.

", + "CreateClusterMessage$RedshiftIdcApplicationArn": "

The Amazon resource name (ARN) of the Amazon Redshift IAM Identity Center application.

", "CreateClusterParameterGroupMessage$ParameterGroupName": "

The name of the cluster parameter group.

Constraints:

This value is stored as a lower-case string.

", "CreateClusterParameterGroupMessage$ParameterGroupFamily": "

The Amazon Redshift engine version to which the cluster parameter group applies. The cluster engine version determines the set of parameters.

To get a list of valid parameter group family names, you can call DescribeClusterParameterGroups. By default, Amazon Redshift returns a list of all the parameter groups that are owned by your Amazon Web Services account, including the default parameter groups for each Amazon Redshift engine version. The parameter group family names associated with the default parameter groups provide you the valid values. For example, a valid family name is \"redshift-1.0\".

", "CreateClusterParameterGroupMessage$Description": "

A description of the parameter group.

", @@ -3281,6 +3439,8 @@ "CreateHsmConfigurationMessage$HsmPartitionName": "

The name of the partition in the HSM where the Amazon Redshift clusters will store their database encryption keys.

", "CreateHsmConfigurationMessage$HsmPartitionPassword": "

The password required to access the HSM partition.

", "CreateHsmConfigurationMessage$HsmServerPublicCertificate": "

The HSMs public certificate file. When using Cloud HSM, the file name is server.pem.

", + "CreateRedshiftIdcApplicationMessage$IdcInstanceArn": "

The Amazon resource name (ARN) of the IAM Identity Center instance where Amazon Redshift creates a new managed application.

", + "CreateRedshiftIdcApplicationMessage$IamRoleArn": "

The IAM role ARN for the Amazon Redshift IAM Identity Center application instance. It has the required permissions to be assumed and invoke the IDC Identity Center API.

", "CreateScheduledActionMessage$ScheduledActionName": "

The name of the scheduled action. The name must be unique within an account. For more information about this parameter, see ScheduledAction.

", "CreateScheduledActionMessage$Schedule": "

The schedule in at( ) or cron( ) format. For more information about this parameter, see ScheduledAction.

", "CreateScheduledActionMessage$IamRole": "

The IAM role to assume to run the target action. For more information about this parameter, see ScheduledAction.

", @@ -3316,6 +3476,7 @@ "DeleteEventSubscriptionMessage$SubscriptionName": "

The name of the Amazon Redshift event notification subscription to be deleted.

", "DeleteHsmClientCertificateMessage$HsmClientCertificateIdentifier": "

The identifier of the HSM client certificate to be deleted.

", "DeleteHsmConfigurationMessage$HsmConfigurationIdentifier": "

The identifier of the Amazon Redshift HSM configuration to be deleted.

", + "DeleteRedshiftIdcApplicationMessage$RedshiftIdcApplicationArn": "

The ARN for a deleted Amazon Redshift IAM Identity Center application.

", "DeleteResourcePolicyMessage$ResourceArn": "

The Amazon Resource Name (ARN) of the resource of which its resource policy is deleted.

", "DeleteScheduledActionMessage$ScheduledActionName": "

The name of the scheduled action to delete.

", "DeleteSnapshotCopyGrantMessage$SnapshotCopyGrantName": "

The name of the snapshot copy grant to delete.

", @@ -3387,6 +3548,9 @@ "DescribeOrderableClusterOptionsMessage$ClusterVersion": "

The version filter value. Specify this parameter to show only the available offerings matching the specified version.

Default: All versions.

Constraints: Must be one of the version returned from DescribeClusterVersions.

", "DescribeOrderableClusterOptionsMessage$NodeType": "

The node type filter value. Specify this parameter to show only the available offerings matching the specified node type.

", "DescribeOrderableClusterOptionsMessage$Marker": "

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeOrderableClusterOptions request exceed the value specified in MaxRecords, Amazon Web Services returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

", + "DescribeRedshiftIdcApplicationsMessage$RedshiftIdcApplicationArn": "

The ARN for the Redshift application that integrates with IAM Identity Center.

", + "DescribeRedshiftIdcApplicationsMessage$Marker": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

", + "DescribeRedshiftIdcApplicationsResult$Marker": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

", "DescribeReservedNodeExchangeStatusInputMessage$ReservedNodeId": "

The identifier of the source reserved node in a reserved-node exchange request.

", "DescribeReservedNodeExchangeStatusInputMessage$ReservedNodeExchangeRequestId": "

The identifier of the reserved-node exchange request.

", "DescribeReservedNodeExchangeStatusInputMessage$Marker": "

An optional pagination token provided by a previous DescribeReservedNodeExchangeStatus request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by the MaxRecords parameter. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

", @@ -3542,6 +3706,8 @@ "ModifyEventSubscriptionMessage$SnsTopicArn": "

The Amazon Resource Name (ARN) of the SNS topic to be used by the event notification subscription.

", "ModifyEventSubscriptionMessage$SourceType": "

The type of source that will be generating the events. For example, if you want to be notified of events generated by a cluster, you would set this parameter to cluster. If this value is not specified, events are returned for all Amazon Redshift objects in your Amazon Web Services account. You must specify a source type in order to specify source IDs.

Valid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.

", "ModifyEventSubscriptionMessage$Severity": "

Specifies the Amazon Redshift event severity to be published by the event notification subscription.

Values: ERROR, INFO

", + "ModifyRedshiftIdcApplicationMessage$RedshiftIdcApplicationArn": "

The ARN for the Redshift application that integrates with IAM Identity Center.

", + "ModifyRedshiftIdcApplicationMessage$IamRoleArn": "

The IAM role ARN associated with the Amazon Redshift IAM Identity Center application to change. It has the required permissions to be assumed and invoke the IDC Identity Center API.

", "ModifyScheduledActionMessage$ScheduledActionName": "

The name of the scheduled action to modify.

", "ModifyScheduledActionMessage$Schedule": "

A modified schedule in either at( ) or cron( ) format. For more information about this parameter, see ScheduledAction.

", "ModifyScheduledActionMessage$IamRole": "

A different IAM role to assume to run the target action. For more information about this parameter, see ScheduledAction.

", @@ -3580,6 +3746,11 @@ "PutResourcePolicyMessage$Policy": "

The content of the resource policy being updated.

", "RebootClusterMessage$ClusterIdentifier": "

The cluster identifier.

", "RecurringCharge$RecurringChargeFrequency": "

The frequency at which the recurring charge amount is applied.

", + "RedshiftIdcApplication$IdcInstanceArn": "

The ARN for the IAM Identity Center instance that Redshift integrates with.

", + "RedshiftIdcApplication$RedshiftIdcApplicationArn": "

The ARN for the Redshift application that integrates with IAM Identity Center.

", + "RedshiftIdcApplication$IamRoleArn": "

The ARN for the Amazon Redshift IAM Identity Center application. It has the required permissions to be assumed and invoke the IDC Identity Center API.

", + "RedshiftIdcApplication$IdcManagedApplicationArn": "

The ARN for the Amazon Redshift IAM Identity Center application.

", + "RedshiftIdcApplication$IdcOnboardStatus": "

The onboarding status for the Amazon Redshift IAM Identity Center application.

", "RejectDataShareMessage$DataShareArn": "

The Amazon Resource Name (ARN) of the datashare to reject.

", "ReservedNode$ReservedNodeId": "

The unique identifier for the reservation.

", "ReservedNode$ReservedNodeOfferingId": "

The identifier for the reserved node offering.

", diff --git a/models/apis/redshift/2012-12-01/paginators-1.json b/models/apis/redshift/2012-12-01/paginators-1.json index f8a476621c9..4403ac87b2b 100644 --- a/models/apis/redshift/2012-12-01/paginators-1.json +++ b/models/apis/redshift/2012-12-01/paginators-1.json @@ -138,6 +138,12 @@ "output_token": "Marker", "result_key": "OrderableClusterOptions" }, + "DescribeRedshiftIdcApplications": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "RedshiftIdcApplications" + }, "DescribeReservedNodeExchangeStatus": { "input_token": "Marker", "limit_key": "MaxRecords", diff --git a/models/apis/s3/2006-03-01/api-2.json b/models/apis/s3/2006-03-01/api-2.json index b46ebed99bc..4c3d5054579 100644 --- a/models/apis/s3/2006-03-01/api-2.json +++ b/models/apis/s3/2006-03-01/api-2.json @@ -1166,7 +1166,10 @@ }, "AccessPointArn":{"type":"string"}, "AccountId":{"type":"string"}, - "AllowQuotedRecordDelimiter":{"type":"boolean"}, + "AllowQuotedRecordDelimiter":{ + "type":"boolean", + "box":true + }, "AllowedHeader":{"type":"string"}, "AllowedHeaders":{ "type":"list", @@ -1289,7 +1292,10 @@ "authenticated-read" ] }, - "BucketKeyEnabled":{"type":"boolean"}, + "BucketKeyEnabled":{ + "type":"boolean", + "box":true + }, "BucketLifecycleConfiguration":{ "type":"structure", "required":["Rules"], @@ -1362,10 +1368,22 @@ "locationName":"Bucket" } }, - "BypassGovernanceRetention":{"type":"boolean"}, - "BytesProcessed":{"type":"long"}, - "BytesReturned":{"type":"long"}, - "BytesScanned":{"type":"long"}, + "BypassGovernanceRetention":{ + "type":"boolean", + "box":true + }, + "BytesProcessed":{ + "type":"long", + "box":true + }, + "BytesReturned":{ + "type":"long", + "box":true + }, + "BytesScanned":{ + "type":"long", + "box":true + }, "CORSConfiguration":{ "type":"structure", "required":["CORSRules"], @@ -1653,7 +1671,10 @@ "KeyPrefixEquals":{"shape":"KeyPrefixEquals"} } }, - "ConfirmRemoveSelfBucketAccess":{"type":"boolean"}, + "ConfirmRemoveSelfBucketAccess":{ + "type":"boolean", + "box":true + }, "ContentDisposition":{"type":"string"}, "ContentEncoding":{"type":"string"}, "ContentLanguage":{"type":"string"}, @@ -2278,8 +2299,14 @@ "type":"timestamp", "timestampFormat":"iso8601" }, - "Days":{"type":"integer"}, - "DaysAfterInitiation":{"type":"integer"}, + "Days":{ + "type":"integer", + "box":true + }, + "DaysAfterInitiation":{ + "type":"integer", + "box":true + }, "DefaultRetention":{ "type":"structure", "members":{ @@ -2792,7 +2819,10 @@ "DisplayName":{"type":"string"}, "ETag":{"type":"string"}, "EmailAddress":{"type":"string"}, - "EnableRequestProgress":{"type":"boolean"}, + "EnableRequestProgress":{ + "type":"boolean", + "box":true + }, "EncodingType":{ "type":"string", "enum":["url"] @@ -2812,7 +2842,10 @@ "ReplicaKmsKeyID":{"shape":"ReplicaKmsKeyID"} } }, - "End":{"type":"long"}, + "End":{ + "type":"long", + "box":true + }, "EndEvent":{ "type":"structure", "members":{ @@ -2906,7 +2939,10 @@ "Disabled" ] }, - "ExpiredObjectDeleteMarker":{"type":"boolean"}, + "ExpiredObjectDeleteMarker":{ + "type":"boolean", + "box":true + }, "Expires":{"type":"timestamp"}, "ExposeHeader":{"type":"string"}, "ExposeHeaders":{ @@ -2919,7 +2955,10 @@ "type":"string", "enum":["SQL"] }, - "FetchOwner":{"type":"boolean"}, + "FetchOwner":{ + "type":"boolean", + "box":true + }, "FieldDelimiter":{"type":"string"}, "FileHeaderInfo":{ "type":"string", @@ -4022,7 +4061,10 @@ } } }, - "GetObjectResponseStatusCode":{"type":"integer"}, + "GetObjectResponseStatusCode":{ + "type":"integer", + "box":true + }, "GetObjectRetentionOutput":{ "type":"structure", "members":{ @@ -4575,7 +4617,10 @@ "member":{"shape":"IntelligentTieringConfiguration"}, "flattened":true }, - "IntelligentTieringDays":{"type":"integer"}, + "IntelligentTieringDays":{ + "type":"integer", + "box":true + }, "IntelligentTieringFilter":{ "type":"structure", "members":{ @@ -4722,11 +4767,26 @@ "Frequency":{"shape":"InventoryFrequency"} } }, - "IsEnabled":{"type":"boolean"}, - "IsLatest":{"type":"boolean"}, - "IsPublic":{"type":"boolean"}, - "IsRestoreInProgress":{"type":"boolean"}, - "IsTruncated":{"type":"boolean"}, + "IsEnabled":{ + "type":"boolean", + "box":true + }, + "IsLatest":{ + "type":"boolean", + "box":true + }, + "IsPublic":{ + "type":"boolean", + "box":true + }, + "IsRestoreInProgress":{ + "type":"boolean", + "box":true + }, + "IsTruncated":{ + "type":"boolean", + "box":true + }, "JSONInput":{ "type":"structure", "members":{ @@ -5429,7 +5489,10 @@ ] }, "Marker":{"type":"string"}, - "MaxAgeSeconds":{"type":"integer"}, + "MaxAgeSeconds":{ + "type":"integer", + "box":true + }, "MaxKeys":{"type":"integer"}, "MaxParts":{"type":"integer"}, "MaxUploads":{"type":"integer"}, @@ -5505,7 +5568,10 @@ "Disabled" ] }, - "Minutes":{"type":"integer"}, + "Minutes":{ + "type":"integer", + "box":true + }, "MissingMeta":{"type":"integer"}, "MultipartUpload":{ "type":"structure", @@ -5527,7 +5593,10 @@ }, "NextKeyMarker":{"type":"string"}, "NextMarker":{"type":"string"}, - "NextPartNumberMarker":{"type":"integer"}, + "NextPartNumberMarker":{ + "type":"integer", + "box":true + }, "NextToken":{"type":"string"}, "NextUploadIdMarker":{"type":"string"}, "NextVersionIdMarker":{"type":"string"}, @@ -5683,7 +5752,10 @@ "type":"string", "enum":["Enabled"] }, - "ObjectLockEnabledForBucket":{"type":"boolean"}, + "ObjectLockEnabledForBucket":{ + "type":"boolean", + "box":true + }, "ObjectLockLegalHold":{ "type":"structure", "members":{ @@ -5754,9 +5826,18 @@ "ChecksumSHA256":{"shape":"ChecksumSHA256"} } }, - "ObjectSize":{"type":"long"}, - "ObjectSizeGreaterThanBytes":{"type":"long"}, - "ObjectSizeLessThanBytes":{"type":"long"}, + "ObjectSize":{ + "type":"long", + "box":true + }, + "ObjectSizeGreaterThanBytes":{ + "type":"long", + "box":true + }, + "ObjectSizeLessThanBytes":{ + "type":"long", + "box":true + }, "ObjectStorageClass":{ "type":"string", "enum":[ @@ -5876,7 +5957,10 @@ "member":{"shape":"Part"}, "flattened":true }, - "PartsCount":{"type":"integer"}, + "PartsCount":{ + "type":"integer", + "box":true + }, "PartsList":{ "type":"list", "member":{"shape":"ObjectPart"}, @@ -5910,7 +5994,10 @@ } }, "Prefix":{"type":"string"}, - "Priority":{"type":"integer"}, + "Priority":{ + "type":"integer", + "box":true + }, "Progress":{ "type":"structure", "members":{ @@ -7347,7 +7434,10 @@ "member":{"shape":"QueueConfiguration"}, "flattened":true }, - "Quiet":{"type":"boolean"}, + "Quiet":{ + "type":"boolean", + "box":true + }, "QuoteCharacter":{"type":"string"}, "QuoteEscapeCharacter":{"type":"string"}, "QuoteFields":{ @@ -7843,9 +7933,18 @@ "member":{"shape":"ServerSideEncryptionRule"}, "flattened":true }, - "Setting":{"type":"boolean"}, - "Size":{"type":"long"}, - "SkipValidation":{"type":"boolean"}, + "Setting":{ + "type":"boolean", + "box":true + }, + "Size":{ + "type":"long", + "box":true + }, + "SkipValidation":{ + "type":"boolean", + "box":true + }, "SourceSelectionCriteria":{ "type":"structure", "members":{ @@ -7867,7 +7966,10 @@ "Disabled" ] }, - "Start":{"type":"long"}, + "Start":{ + "type":"long", + "box":true + }, "StartAfter":{"type":"string"}, "Stats":{ "type":"structure", @@ -7935,7 +8037,10 @@ "Value":{"shape":"Value"} } }, - "TagCount":{"type":"integer"}, + "TagCount":{ + "type":"integer", + "box":true + }, "TagSet":{ "type":"list", "member":{ @@ -8388,7 +8493,10 @@ } }, "Value":{"type":"string"}, - "VersionCount":{"type":"integer"}, + "VersionCount":{ + "type":"integer", + "box":true + }, "VersionIdMarker":{"type":"string"}, "VersioningConfiguration":{ "type":"structure", @@ -8620,7 +8728,10 @@ }, "payload":"Body" }, - "Years":{"type":"integer"} + "Years":{ + "type":"integer", + "box":true + } }, "clientContextParams":{ "Accelerate":{ diff --git a/models/apis/s3/2006-03-01/docs-2.json b/models/apis/s3/2006-03-01/docs-2.json index b4595d24f2a..546c861a14d 100644 --- a/models/apis/s3/2006-03-01/docs-2.json +++ b/models/apis/s3/2006-03-01/docs-2.json @@ -93,7 +93,7 @@ "PutObjectLockConfiguration": "

Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see Locking Objects.

", "PutObjectRetention": "

Places an Object Retention configuration on an object. For more information, see Locking Objects. Users or accounts require the s3:PutObjectRetention permission in order to place an Object Retention configuration on objects. Bypassing a Governance Retention configuration requires the s3:BypassGovernanceRetention permission.

This action is not supported by Amazon S3 on Outposts.

", "PutObjectTagging": "

Sets the supplied tag-set to an object that already exists in a bucket. A tag is a key-value pair. For more information, see Object Tagging.

You can associate tags with an object by sending a PUT request against the tagging subresource that is associated with the object. You can retrieve tags by sending a GET request. For more information, see GetObjectTagging.

For tagging-related restrictions related to characters and encodings, see Tag Restrictions. Note that Amazon S3 limits the maximum number of tags to 10 tags per object.

To use this operation, you must have permission to perform the s3:PutObjectTagging action. By default, the bucket owner has this permission and can grant this permission to others.

To put tags of any other version, use the versionId query parameter. You also need permission for the s3:PutObjectVersionTagging action.

PutObjectTagging has the following special errors. For more Amazon S3 errors see, Error Responses.

The following operations are related to PutObjectTagging:

", - "PutPublicAccessBlock": "

Creates or modifies the PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy.

When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or an object, it checks the PublicAccessBlock configuration for both the bucket (or the bucket that contains the object) and the bucket owner's account. If the PublicAccessBlock configurations are different between the bucket and the account, S3 uses the most restrictive combination of the bucket-level and account-level settings.

For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of \"Public\".

The following operations are related to PutPublicAccessBlock:

", + "PutPublicAccessBlock": "

Creates or modifies the PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy.

When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or an object, it checks the PublicAccessBlock configuration for both the bucket (or the bucket that contains the object) and the bucket owner's account. If the PublicAccessBlock configurations are different between the bucket and the account, Amazon S3 uses the most restrictive combination of the bucket-level and account-level settings.

For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of \"Public\".

The following operations are related to PutPublicAccessBlock:

", "RestoreObject": "

Restores an archived copy of an object back into Amazon S3

This action is not supported by Amazon S3 on Outposts.

This action performs the following types of requests:

For more information about the S3 structure in the request body, see the following:

Define the SQL expression for the SELECT type of restoration for your query in the request body's SelectParameters structure. You can use expressions like the following examples.

When making a select request, you can also do the following:

The following are additional important facts about the select feature:

Permissions

To use this operation, you must have permissions to perform the s3:RestoreObject action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

Restoring objects

Objects that you archive to the S3 Glacier Flexible Retrieval Flexible Retrieval or S3 Glacier Deep Archive storage class, and S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers, are not accessible in real time. For objects in the S3 Glacier Flexible Retrieval Flexible Retrieval or S3 Glacier Deep Archive storage classes, you must first initiate a restore request, and then wait until a temporary copy of the object is available. If you want a permanent copy of the object, create a copy of it in the Amazon S3 Standard storage class in your S3 bucket. To access an archived object, you must restore the object for the duration (number of days) that you specify. For objects in the Archive Access or Deep Archive Access tiers of S3 Intelligent-Tiering, you must first initiate a restore request, and then wait until the object is moved into the Frequent Access tier.

To restore a specific object version, you can provide a version ID. If you don't provide a version ID, Amazon S3 restores the current version.

When restoring an archived object, you can specify one of the following data access tier options in the Tier element of the request body:

  • Expedited - Expedited retrievals allow you to quickly access your data stored in the S3 Glacier Flexible Retrieval Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier when occasional urgent requests for restoring archives are required. For all but the largest archived objects (250 MB+), data accessed using Expedited retrievals is typically made available within 1–5 minutes. Provisioned capacity ensures that retrieval capacity for Expedited retrievals is available when you need it. Expedited retrievals and provisioned capacity are not available for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier.

  • Standard - Standard retrievals allow you to access any of your archived objects within several hours. This is the default option for retrieval requests that do not specify the retrieval option. Standard retrievals typically finish within 3–5 hours for objects stored in the S3 Glacier Flexible Retrieval Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier. They typically finish within 12 hours for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Standard retrievals are free for objects stored in S3 Intelligent-Tiering.

  • Bulk - Bulk retrievals free for objects stored in the S3 Glacier Flexible Retrieval and S3 Intelligent-Tiering storage classes, enabling you to retrieve large amounts, even petabytes, of data at no cost. Bulk retrievals typically finish within 5–12 hours for objects stored in the S3 Glacier Flexible Retrieval Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier. Bulk retrievals are also the lowest-cost retrieval option when restoring objects from S3 Glacier Deep Archive. They typically finish within 48 hours for objects stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier.

For more information about archive retrieval options and provisioned capacity for Expedited data access, see Restoring Archived Objects in the Amazon S3 User Guide.

You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed while it is in progress. For more information, see Upgrading the speed of an in-progress restore in the Amazon S3 User Guide.

To get the status of object restoration, you can send a HEAD request. Operations return the x-amz-restore header, which provides information about the restoration status, in the response. You can use Amazon S3 event notifications to notify you when a restore is initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in the Amazon S3 User Guide.

After restoring an archived object, you can update the restoration period by reissuing the request with a new period. Amazon S3 updates the restoration period relative to the current time and charges only for the request-there are no data transfer charges. You cannot update the restoration period when Amazon S3 is actively processing your current restore request for the object.

If your bucket has a lifecycle configuration with a rule that includes an expiration action, the object expiration overrides the life span that you specify in a restore request. For example, if you restore an object copy for 10 days, but the object is scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in Amazon S3 User Guide.

Responses

A successful action returns either the 200 OK or 202 Accepted status code.

  • If the object is not previously restored, then Amazon S3 returns 202 Accepted in the response.

  • If the object is previously restored, Amazon S3 returns 200 OK in the response.

  • Special errors:

    • Code: RestoreAlreadyInProgress

    • Cause: Object restore is already in progress. (This error does not apply to SELECT type requests.)

    • HTTP Status Code: 409 Conflict

    • SOAP Fault Code Prefix: Client

    • Code: GlacierExpeditedRetrievalNotAvailable

    • Cause: expedited retrievals are currently not available. Try again later. (Returned if there is insufficient capacity to process the Expedited request. This error applies only to Expedited retrievals and not to S3 Standard or Bulk retrievals.)

    • HTTP Status Code: 503

    • SOAP Fault Code Prefix: N/A

The following operations are related to RestoreObject:

", "SelectObjectContent": "

This action filters 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 also specify a data serialization format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses this format to parse object data into records, and returns only records that match the specified SQL expression. You must also specify the data serialization format for the response.

This action is not supported by Amazon S3 on Outposts.

For more information about Amazon S3 Select, see Selecting Content from Objects and SELECT Command in the Amazon S3 User Guide.

Permissions

You must have s3:GetObject permission for this operation. Amazon S3 Select does not support anonymous access. For more information about permissions, see Specifying Permissions in a Policy in the Amazon S3 User Guide.

Object Data Formats

You can use Amazon S3 Select to query objects that have the following format properties:

  • CSV, JSON, and Parquet - Objects must be in CSV, JSON, or Parquet format.

  • UTF-8 - UTF-8 is the only encoding type Amazon S3 Select supports.

  • GZIP or BZIP2 - CSV and JSON files can be compressed using GZIP or BZIP2. GZIP and BZIP2 are the only compression formats that Amazon S3 Select supports for CSV and JSON files. Amazon S3 Select supports columnar compression for Parquet using GZIP or Snappy. Amazon S3 Select does not support whole-object compression for Parquet objects.

  • Server-side encryption - Amazon S3 Select supports querying objects that are protected with server-side encryption.

    For objects that are encrypted with customer-provided encryption keys (SSE-C), you must use HTTPS, and you must use the headers that are documented in the GetObject. For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User Guide.

    For objects that are encrypted with Amazon S3 managed keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), server-side encryption is handled transparently, so you don't need to specify anything. For more information about server-side encryption, including SSE-S3 and SSE-KMS, see Protecting Data Using Server-Side Encryption in the Amazon S3 User Guide.

Working with the Response Body

Given the response size is unknown, Amazon S3 Select streams the response as a series of messages and includes a Transfer-Encoding header with chunked as its value in the response. For more information, see Appendix: SelectObjectContent Response.

GetObject Support

The SelectObjectContent action does not support the following GetObject functionality. For more information, see GetObject.

  • Range: Although you can specify a scan range for an Amazon S3 Select request (see SelectObjectContentRequest - ScanRange in the request parameters), you cannot specify the range of bytes of an object to return.

  • The GLACIER, DEEP_ARCHIVE, and REDUCED_REDUNDANCY storage classes, or the ARCHIVE_ACCESS and DEEP_ARCHIVE_ACCESS access tiers of the INTELLIGENT_TIERING storage class: You cannot query objects in the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY storage classes, nor objects in the ARCHIVE_ACCESS or DEEP_ARCHIVE_ACCESS access tiers of the INTELLIGENT_TIERING storage class. For more information about storage classes, see Using Amazon S3 storage classes in the Amazon S3 User Guide.

Special Errors

For a list of special errors for this operation, see List of SELECT Object Content Error Codes

The following operations are related to SelectObjectContent:

", "UploadPart": "

Uploads a part in a multipart upload.

In this operation, you provide part data in your request. However, you have an option to specify your existing Amazon S3 object as a data source for the part you are uploading. To upload a part from an existing object, you use the UploadPartCopy operation.

You must initiate a multipart upload (see CreateMultipartUpload) before you can upload any part. In response to your initiate request, Amazon S3 returns an upload ID, a unique identifier, that you must include in your upload part request.

Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely identifies a part and also defines its position within the object being created. If you upload a new part using the same part number that was used with a previous part, the previously uploaded part is overwritten.

For information about maximum and minimum part sizes and other multipart upload specifications, see Multipart upload limits in the Amazon S3 User Guide.

To ensure that data is not corrupted when traversing the network, specify the Content-MD5 header in the upload part request. Amazon S3 checks the part data against the provided MD5 value. If they do not match, Amazon S3 returns an error.

If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the x-amz-content-sha256 header as a checksum instead of Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature Version 4).

Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.

For more information on multipart uploads, go to Multipart Upload Overview in the Amazon S3 User Guide .

For information on the permissions required to use the multipart upload API, go to Multipart Upload and Permissions in the Amazon S3 User Guide.

Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You have three mutually exclusive options to protect data using server-side encryption in Amazon S3, depending on how you choose to manage the encryption keys. Specifically, the encryption key options are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and Customer-Provided Keys (SSE-C). Amazon S3 encrypts data with server-side encryption using Amazon S3 managed keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption with other key options. The option you use depends on whether you want to use KMS keys (SSE-KMS) or provide your own encryption key (SSE-C). If you choose to provide your own encryption key, the request headers you provide in the request must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. For more information, go to Using Server-Side Encryption in the Amazon S3 User Guide.

Server-side encryption is supported by the S3 Multipart Upload actions. Unless you are using a customer-provided encryption key (SSE-C), you don't need to specify the encryption parameters in each UploadPart request. Instead, you only need to specify the server-side encryption parameters in the initial Initiate Multipart request. For more information, see CreateMultipartUpload.

If you requested server-side encryption using a customer-provided encryption key (SSE-C) in your initiate multipart upload request, you must provide identical encryption information in each part upload using the following headers.

UploadPart has the following special errors:

The following operations are related to UploadPart:

", diff --git a/models/apis/s3/2006-03-01/endpoint-rule-set-1.json b/models/apis/s3/2006-03-01/endpoint-rule-set-1.json index 29eb0d2ba21..a785b873133 100644 --- a/models/apis/s3/2006-03-01/endpoint-rule-set-1.json +++ b/models/apis/s3/2006-03-01/endpoint-rule-set-1.json @@ -89,7 +89,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -300,7 +299,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -314,7 +312,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -328,7 +325,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -342,7 +338,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -399,7 +394,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -419,7 +415,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -433,7 +430,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -447,7 +443,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -504,7 +499,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -524,21 +520,24 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Unrecognized hardware type: \"Expected hardware type o or e but got {hardwareType}\"", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -551,7 +550,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -606,7 +604,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -620,7 +617,6 @@ "assign": "partitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -634,7 +630,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -800,7 +795,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -820,7 +814,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -1038,7 +1033,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -1058,7 +1052,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -1276,7 +1271,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -1296,7 +1290,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -1514,7 +1509,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -1534,7 +1528,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -1877,7 +1872,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -1925,7 +1919,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -2012,7 +2007,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -2060,7 +2054,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -2398,7 +2393,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -2446,7 +2440,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -2664,7 +2659,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -2712,7 +2706,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -2796,16 +2791,19 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid region: region was not a valid DNS name.", "type": "error" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -2887,7 +2885,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -2901,7 +2898,6 @@ "assign": "partitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -2915,7 +2911,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -2935,16 +2930,19 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid region: region was not a valid DNS name.", "type": "error" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -2967,7 +2965,6 @@ "assign": "bucketArn" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -2996,7 +2993,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3016,7 +3012,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3030,7 +3025,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3059,7 +3053,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3114,7 +3107,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3161,7 +3153,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3224,7 +3215,6 @@ "assign": "bucketPartition" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3238,7 +3228,6 @@ "assign": "partitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3266,7 +3255,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3286,7 +3274,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3327,7 +3314,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3341,7 +3327,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3425,67 +3410,78 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`", "type": "error" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: bucket ARN is missing a region", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -3499,7 +3495,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3528,7 +3523,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3553,7 +3547,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3567,7 +3560,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3592,7 +3584,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3639,7 +3630,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3702,7 +3692,6 @@ "assign": "bucketPartition" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3716,7 +3705,6 @@ "assign": "partitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3736,7 +3724,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3756,7 +3743,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3776,7 +3762,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3796,7 +3781,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -3810,7 +3794,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4029,57 +4012,68 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`", "type": "error" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.", "type": "error" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -4093,7 +4087,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4167,7 +4160,6 @@ "assign": "mrapPartition" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4195,7 +4187,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -4217,30 +4208,35 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`", "type": "error" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid Access Point Name", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -4260,7 +4256,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4340,7 +4335,6 @@ "assign": "outpostId" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4354,7 +4348,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4417,7 +4410,6 @@ "assign": "bucketPartition" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4431,7 +4423,6 @@ "assign": "partitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4459,7 +4450,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4479,7 +4469,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4499,7 +4488,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4514,7 +4502,6 @@ "assign": "outpostType" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4529,7 +4516,6 @@ "assign": "accessPointName" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4543,7 +4529,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4599,81 +4584,94 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Expected an outpost type `accesspoint`, found {outpostType}", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: expected an access point name", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: Expected a 4-component resource", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`", "type": "error" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: The Outpost Id was not set", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid ARN: No ARN type specified", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -4755,7 +4753,6 @@ "assign": "uri_encoded_bucket" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4769,7 +4766,6 @@ "assign": "partitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4783,7 +4779,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -4901,7 +4896,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -4921,7 +4915,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -5112,7 +5107,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -5132,7 +5126,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -5323,7 +5318,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -5343,7 +5337,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -5542,7 +5537,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -5590,7 +5584,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -5785,7 +5780,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -5833,7 +5827,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -5908,18 +5903,22 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Path-style addressing cannot be used with S3 Accelerate", "type": "error" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -5941,7 +5940,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -5955,7 +5953,6 @@ "assign": "partitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -5969,7 +5966,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -6083,16 +6079,19 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid region: region was not a valid DNS name.", "type": "error" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -6110,7 +6109,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -6124,7 +6122,6 @@ "assign": "partitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -6138,7 +6135,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -6256,7 +6252,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -6276,7 +6271,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -6467,7 +6463,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -6487,7 +6482,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -6678,7 +6674,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -6698,7 +6693,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -6897,7 +6893,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -6945,7 +6940,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -7140,7 +7136,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -7188,7 +7183,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -7263,18 +7259,22 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "Invalid region: region was not a valid DNS name.", "type": "error" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/s3/2006-03-01/examples-1.json b/models/apis/s3/2006-03-01/examples-1.json index 2a15cc22002..75c697b58cf 100644 --- a/models/apis/s3/2006-03-01/examples-1.json +++ b/models/apis/s3/2006-03-01/examples-1.json @@ -84,10 +84,13 @@ "CreateBucket": [ { "input": { - "Bucket": "examplebucket" + "Bucket": "examplebucket", + "CreateBucketConfiguration": { + "LocationConstraint": "eu-west-1" + } }, "output": { - "Location": "/examplebucket" + "Location": "http://examplebucket..s3.amazonaws.com/" }, "comments": { "input": { @@ -95,19 +98,16 @@ "output": { } }, - "description": "The following example creates a bucket.", - "id": "to-create-a-bucket--1472851826060", - "title": "To create a bucket " + "description": "The following example creates a bucket. The request specifies an AWS region where to create the bucket.", + "id": "to-create-a-bucket-in-a-specific-region-1483399072992", + "title": "To create a bucket in a specific region" }, { "input": { - "Bucket": "examplebucket", - "CreateBucketConfiguration": { - "LocationConstraint": "eu-west-1" - } + "Bucket": "examplebucket" }, "output": { - "Location": "http://examplebucket..s3.amazonaws.com/" + "Location": "/examplebucket" }, "comments": { "input": { @@ -115,9 +115,9 @@ "output": { } }, - "description": "The following example creates a bucket. The request specifies an AWS region where to create the bucket.", - "id": "to-create-a-bucket-in-a-specific-region-1483399072992", - "title": "To create a bucket in a specific region" + "description": "The following example creates a bucket.", + "id": "to-create-a-bucket--1472851826060", + "title": "To create a bucket " } ], "CreateMultipartUpload": [ @@ -292,11 +292,10 @@ { "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg", - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + "Key": "HappyFace.jpg" }, "output": { - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + "VersionId": "null" }, "comments": { "input": { @@ -304,17 +303,18 @@ "output": { } }, - "description": "The following example removes tag set associated with the specified object version. The request specifies both the object key and object version.", - "id": "to-remove-tag-set-from-an-object-version-1483145285913", - "title": "To remove tag set from an object version" + "description": "The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the operation removes tag set from the latest object version.", + "id": "to-remove-tag-set-from-an-object-1483145342862", + "title": "To remove tag set from an object" }, { "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "HappyFace.jpg", + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" }, "output": { - "VersionId": "null" + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" }, "comments": { "input": { @@ -322,9 +322,9 @@ "output": { } }, - "description": "The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the operation removes tag set from the latest object version.", - "id": "to-remove-tag-set-from-an-object-1483145342862", - "title": "To remove tag set from an object" + "description": "The following example removes tag set associated with the specified object version. The request specifies both the object key and object version.", + "id": "to-remove-tag-set-from-an-object-version-1483145285913", + "title": "To remove tag set from an object version" } ], "DeleteObjects": [ @@ -728,18 +728,17 @@ { "input": { "Bucket": "examplebucket", - "Key": "SampleFile.txt", - "Range": "bytes=0-9" + "Key": "HappyFace.jpg" }, "output": { "AcceptRanges": "bytes", - "ContentLength": "10", - "ContentRange": "bytes 0-9/43", - "ContentType": "text/plain", - "ETag": "\"0d94420ffd0bc68cd3d152506b97a9cc\"", - "LastModified": "Thu, 09 Oct 2014 22:57:28 GMT", + "ContentLength": "3191", + "ContentType": "image/jpeg", + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "LastModified": "Thu, 15 Dec 2016 01:19:41 GMT", "Metadata": { }, + "TagCount": 2, "VersionId": "null" }, "comments": { @@ -748,24 +747,25 @@ "output": { } }, - "description": "The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a specific byte range.", - "id": "to-retrieve-a-byte-range-of-an-object--1481832674603", - "title": "To retrieve a byte range of an object " + "description": "The following example retrieves an object for an S3 bucket.", + "id": "to-retrieve-an-object-1481827837012", + "title": "To retrieve an object" }, { "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "SampleFile.txt", + "Range": "bytes=0-9" }, "output": { "AcceptRanges": "bytes", - "ContentLength": "3191", - "ContentType": "image/jpeg", - "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "LastModified": "Thu, 15 Dec 2016 01:19:41 GMT", + "ContentLength": "10", + "ContentRange": "bytes 0-9/43", + "ContentType": "text/plain", + "ETag": "\"0d94420ffd0bc68cd3d152506b97a9cc\"", + "LastModified": "Thu, 09 Oct 2014 22:57:28 GMT", "Metadata": { }, - "TagCount": 2, "VersionId": "null" }, "comments": { @@ -774,9 +774,9 @@ "output": { } }, - "description": "The following example retrieves an object for an S3 bucket.", - "id": "to-retrieve-an-object-1481827837012", - "title": "To retrieve an object" + "description": "The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a specific byte range.", + "id": "to-retrieve-a-byte-range-of-an-object--1481832674603", + "title": "To retrieve a byte range of an object " } ], "GetObjectAcl": [ @@ -989,37 +989,47 @@ "ListMultipartUploads": [ { "input": { - "Bucket": "examplebucket" + "Bucket": "examplebucket", + "KeyMarker": "nextkeyfrompreviousresponse", + "MaxUploads": "2", + "UploadIdMarker": "valuefrompreviousresponse" }, "output": { + "Bucket": "acl1", + "IsTruncated": true, + "KeyMarker": "", + "MaxUploads": "2", + "NextKeyMarker": "someobjectkey", + "NextUploadIdMarker": "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--", + "UploadIdMarker": "", "Uploads": [ { "Initiated": "2014-05-01T05:40:58.000Z", "Initiator": { - "DisplayName": "display-name", + "DisplayName": "ownder-display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "Key": "JavaFile", "Owner": { - "DisplayName": "display-name", - "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + "DisplayName": "mohanataws", + "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "StorageClass": "STANDARD", - "UploadId": "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--" + "UploadId": "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--" }, { "Initiated": "2014-05-01T05:41:27.000Z", "Initiator": { - "DisplayName": "display-name", + "DisplayName": "ownder-display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "Key": "JavaFile", "Owner": { - "DisplayName": "display-name", + "DisplayName": "ownder-display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "StorageClass": "STANDARD", - "UploadId": "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--" + "UploadId": "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--" } ] }, @@ -1029,53 +1039,43 @@ "output": { } }, - "description": "The following example lists in-progress multipart uploads on a specific bucket.", - "id": "to-list-in-progress-multipart-uploads-on-a-bucket-1481852775260", - "title": "To list in-progress multipart uploads on a bucket" + "description": "The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next setup of multipart uploads.", + "id": "list-next-set-of-multipart-uploads-when-previous-result-is-truncated-1482428106748", + "title": "List next set of multipart uploads when previous result is truncated" }, { "input": { - "Bucket": "examplebucket", - "KeyMarker": "nextkeyfrompreviousresponse", - "MaxUploads": "2", - "UploadIdMarker": "valuefrompreviousresponse" + "Bucket": "examplebucket" }, "output": { - "Bucket": "acl1", - "IsTruncated": true, - "KeyMarker": "", - "MaxUploads": "2", - "NextKeyMarker": "someobjectkey", - "NextUploadIdMarker": "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--", - "UploadIdMarker": "", "Uploads": [ { "Initiated": "2014-05-01T05:40:58.000Z", "Initiator": { - "DisplayName": "ownder-display-name", + "DisplayName": "display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "Key": "JavaFile", "Owner": { - "DisplayName": "mohanataws", - "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + "DisplayName": "display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "StorageClass": "STANDARD", - "UploadId": "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--" + "UploadId": "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--" }, { "Initiated": "2014-05-01T05:41:27.000Z", "Initiator": { - "DisplayName": "ownder-display-name", + "DisplayName": "display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "Key": "JavaFile", "Owner": { - "DisplayName": "ownder-display-name", + "DisplayName": "display-name", "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" }, "StorageClass": "STANDARD", - "UploadId": "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--" + "UploadId": "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--" } ] }, @@ -1085,9 +1085,9 @@ "output": { } }, - "description": "The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next setup of multipart uploads.", - "id": "list-next-set-of-multipart-uploads-when-previous-result-is-truncated-1482428106748", - "title": "List next set of multipart uploads when previous result is truncated" + "description": "The following example lists in-progress multipart uploads on a specific bucket.", + "id": "to-list-in-progress-multipart-uploads-on-a-bucket-1481852775260", + "title": "To list in-progress multipart uploads on a bucket" } ], "ListObjectVersions": [ @@ -1565,6 +1565,26 @@ } ], "PutObject": [ + { + "input": { + "Body": "HappyFace.jpg", + "Bucket": "examplebucket", + "Key": "HappyFace.jpg" + }, + "output": { + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.", + "id": "to-upload-an-object-1481760101010", + "title": "To upload an object" + }, { "input": { "Body": "filetoupload", @@ -1610,16 +1630,17 @@ }, { "input": { - "Body": "HappyFace.jpg", + "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "HappyFace.jpg", - "ServerSideEncryption": "AES256", - "StorageClass": "STANDARD_IA" + "Key": "exampleobject", + "Metadata": { + "metadata1": "value1", + "metadata2": "value2" + } }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "ServerSideEncryption": "AES256", - "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp" + "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0" }, "comments": { "input": { @@ -1627,9 +1648,9 @@ "output": { } }, - "description": "The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.", - "id": "to-upload-an-object-(specify-optional-headers)", - "title": "To upload an object (specify optional headers)" + "description": "The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-object-and-specify-user-defined-metadata-1483396974757", + "title": "To upload object and specify user-defined metadata" }, { "input": { @@ -1652,30 +1673,6 @@ "id": "to-upload-an-object-and-specify-optional-tags-1481762310955", "title": "To upload an object and specify optional tags" }, - { - "input": { - "Body": "filetoupload", - "Bucket": "examplebucket", - "Key": "exampleobject", - "Metadata": { - "metadata1": "value1", - "metadata2": "value2" - } - }, - "output": { - "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-upload-object-and-specify-user-defined-metadata-1483396974757", - "title": "To upload object and specify user-defined metadata" - }, { "input": { "ACL": "authenticated-read", @@ -1701,11 +1698,14 @@ "input": { "Body": "HappyFace.jpg", "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "HappyFace.jpg", + "ServerSideEncryption": "AES256", + "StorageClass": "STANDARD_IA" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk" + "ServerSideEncryption": "AES256", + "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp" }, "comments": { "input": { @@ -1713,9 +1713,9 @@ "output": { } }, - "description": "The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.", - "id": "to-upload-an-object-1481760101010", - "title": "To upload an object" + "description": "The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.", + "id": "to-upload-an-object-(specify-optional-headers)", + "title": "To upload an object (specify optional headers)" } ], "PutObjectAcl": [ @@ -1826,14 +1826,15 @@ "input": { "Bucket": "examplebucket", "CopySource": "/bucketname/sourceobjectkey", + "CopySourceRange": "bytes=1-100000", "Key": "examplelargeobject", - "PartNumber": "1", + "PartNumber": "2", "UploadId": "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--" }, "output": { "CopyPartResult": { - "ETag": "\"b0c6f0e7e054ab8fa2536a2677f8734d\"", - "LastModified": "2016-12-29T21:24:43.000Z" + "ETag": "\"65d16d19e65a7508a51f043180edcc36\"", + "LastModified": "2016-12-29T21:44:28.000Z" } }, "comments": { @@ -1842,23 +1843,22 @@ "output": { } }, - "description": "The following example uploads a part of a multipart upload by copying data from an existing object as data source.", - "id": "to-upload-a-part-by-copying-data-from-an-existing-object-as-data-source-1483046746348", - "title": "To upload a part by copying data from an existing object as data source" + "description": "The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as data source.", + "id": "to-upload-a-part-by-copying-byte-range-from-an-existing-object-as-data-source-1483048068594", + "title": "To upload a part by copying byte range from an existing object as data source" }, { "input": { "Bucket": "examplebucket", "CopySource": "/bucketname/sourceobjectkey", - "CopySourceRange": "bytes=1-100000", "Key": "examplelargeobject", - "PartNumber": "2", + "PartNumber": "1", "UploadId": "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--" }, "output": { "CopyPartResult": { - "ETag": "\"65d16d19e65a7508a51f043180edcc36\"", - "LastModified": "2016-12-29T21:44:28.000Z" + "ETag": "\"b0c6f0e7e054ab8fa2536a2677f8734d\"", + "LastModified": "2016-12-29T21:24:43.000Z" } }, "comments": { @@ -1867,9 +1867,9 @@ "output": { } }, - "description": "The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as data source.", - "id": "to-upload-a-part-by-copying-byte-range-from-an-existing-object-as-data-source-1483048068594", - "title": "To upload a part by copying byte range from an existing object as data source" + "description": "The following example uploads a part of a multipart upload by copying data from an existing object as data source.", + "id": "to-upload-a-part-by-copying-data-from-an-existing-object-as-data-source-1483046746348", + "title": "To upload a part by copying data from an existing object as data source" } ] } diff --git a/models/apis/sso-admin/2020-07-20/api-2.json b/models/apis/sso-admin/2020-07-20/api-2.json index 138d192aa06..3cd5ca4d496 100644 --- a/models/apis/sso-admin/2020-07-20/api-2.json +++ b/models/apis/sso-admin/2020-07-20/api-2.json @@ -3758,6 +3758,12 @@ }, "JwtBearer": { "shape": "JwtBearerGrant" + }, + "RefreshToken": { + "shape": "RefreshTokenGrant" + }, + "TokenExchange": { + "shape": "TokenExchangeGrant" } }, "type": "structure", @@ -4938,6 +4944,10 @@ "min": 1, "type": "list" }, + "RefreshTokenGrant": { + "members": {}, + "type": "structure" + }, "RelayState": { "max": 240, "min": 1, @@ -5172,6 +5182,10 @@ "pattern": "^[-a-zA-Z0-9+=/_]*$", "type": "string" }, + "TokenExchangeGrant": { + "members": {}, + "type": "structure" + }, "TokenIssuerAudience": { "max": 512, "min": 1, diff --git a/models/apis/sso-admin/2020-07-20/docs-2.json b/models/apis/sso-admin/2020-07-20/docs-2.json index 038a3518797..7e8dabf3a9b 100644 --- a/models/apis/sso-admin/2020-07-20/docs-2.json +++ b/models/apis/sso-admin/2020-07-20/docs-2.json @@ -381,9 +381,9 @@ } }, "AuthorizationCodeGrant": { - "base": "

~~~[ TODO: ADD DESCRIPTION HERE ]~~~

", + "base": "

A structure that defines configuration settings for an application that supports the OAuth 2.0 Authorization Code Grant.

", "refs": { - "Grant$AuthorizationCode": "

~~~[ TODO: ADD DESCRIPTION HERE ]~~~

" + "Grant$AuthorizationCode": "

Configuration options for the authorization_code grant type.

" } }, "AuthorizedTokenIssuer": { @@ -395,7 +395,7 @@ "AuthorizedTokenIssuers": { "base": null, "refs": { - "JwtBearerGrant$AuthorizedTokenIssuers": "

~~~[ TODO: ADD DESCRIPTION HERE ]~~~

" + "JwtBearerGrant$AuthorizedTokenIssuers": "

A list of allowed token issuers trusted by the Identity Center instances for this application.

" } }, "ClaimAttributePath": { @@ -843,15 +843,15 @@ } }, "Grant": { - "base": "

~~~[ TODO: ADD DESCRIPTION HERE ]~~~

", + "base": "

The Grant union represents the set of possible configuration options for the selected grant type. Exactly one member of the union must be specified, and must match the grant type selected.

", "refs": { "GetApplicationGrantResponse$Grant": "

A structure that describes the requested grant.

", - "GrantItem$Grant": "

~~~[ TODO: ADD DESCRIPTION HERE ]~~~

", + "GrantItem$Grant": "

The configuration structure for the selected grant.

", "PutApplicationGrantRequest$Grant": "

Specifies a structure that describes the grant to update.

" } }, "GrantItem": { - "base": "

~~~[ TODO: ADD DESCRIPTION HERE ]~~~

", + "base": "

A structure that defines a single grant and its configuration.

", "refs": { "Grants$member": null } @@ -861,7 +861,7 @@ "refs": { "DeleteApplicationGrantRequest$GrantType": "

Specifies the type of grant to delete from the application.

", "GetApplicationGrantRequest$GrantType": "

Specifies the type of grant.

", - "GrantItem$GrantType": "

~~~[ TODO: ADD DESCRIPTION HERE ]~~~

", + "GrantItem$GrantType": "

The type of the selected grant.

", "PutApplicationGrantRequest$GrantType": "

Specifies the type of grant to update.

" } }, @@ -1010,9 +1010,9 @@ } }, "JwtBearerGrant": { - "base": "

~~~[ TODO: ADD DESCRIPTION HERE ]~~~

", + "base": "

A structure that defines configuration settings for an application that supports the JWT Bearer Token Authorization Grant.

", "refs": { - "Grant$JwtBearer": "

~~~[ TODO: ADD DESCRIPTION HERE ]~~~

" + "Grant$JwtBearer": "

Configuration options for the urn:ietf:params:oauth:grant-type:jwt-bearer grant type.

" } }, "ListAccountAssignmentCreationStatusRequest": { @@ -1536,7 +1536,13 @@ "RedirectUris": { "base": null, "refs": { - "AuthorizationCodeGrant$RedirectUris": "

~~~[ TODO: ADD DESCRIPTION HERE ]~~~

" + "AuthorizationCodeGrant$RedirectUris": "

A list of URIs that are valid locations to redirect a user's browser after the user is authorized.

" + } + }, + "RefreshTokenGrant": { + "base": "

A structure that defines configuration settings for an application that supports the OAuth 2.0 Refresh Token Grant.

", + "refs": { + "Grant$RefreshToken": "

Configuration options for the refresh_token grant type.

" } }, "RelayState": { @@ -1781,6 +1787,12 @@ "ListTrustedTokenIssuersResponse$NextToken": "

If present, this value 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. This indicates that this is the last page of results.

" } }, + "TokenExchangeGrant": { + "base": "

A structure that defines configuration settings for an application that supports the OAuth 2.0 Token Exchange Grant.

", + "refs": { + "Grant$TokenExchange": "

Configuration options for the urn:ietf:params:oauth:grant-type:token-exchange grant type.

" + } + }, "TokenIssuerAudience": { "base": null, "refs": { @@ -1882,7 +1894,7 @@ } }, "UpdateApplicationPortalOptions": { - "base": "

", + "base": "

A structure that describes the options for the access portal associated with an application that can be updated.

", "refs": { "UpdateApplicationRequest$PortalOptions": "

A structure that describes the options for the portal associated with an application.

" } diff --git a/models/apis/sso-oidc/2019-06-10/api-2.json b/models/apis/sso-oidc/2019-06-10/api-2.json index 1adcca3353a..11028bb5581 100644 --- a/models/apis/sso-oidc/2019-06-10/api-2.json +++ b/models/apis/sso-oidc/2019-06-10/api-2.json @@ -9,7 +9,7 @@ "serviceFullName":"AWS SSO OIDC", "serviceId":"SSO OIDC", "signatureVersion":"v4", - "signingName":"awsssooidc", + "signingName":"sso-oauth", "uid":"sso-oidc-2019-06-10" }, "operations":{ @@ -36,6 +36,29 @@ ], "authtype":"none" }, + "CreateTokenWithIAM":{ + "name":"CreateTokenWithIAM", + "http":{ + "method":"POST", + "requestUri":"/token?aws_iam=t" + }, + "input":{"shape":"CreateTokenWithIAMRequest"}, + "output":{"shape":"CreateTokenWithIAMResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidClientException"}, + {"shape":"InvalidGrantException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"UnsupportedGrantTypeException"}, + {"shape":"InvalidScopeException"}, + {"shape":"AuthorizationPendingException"}, + {"shape":"SlowDownException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ExpiredTokenException"}, + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestRegionException"} + ] + }, "RegisterClient":{ "name":"RegisterClient", "http":{ @@ -80,7 +103,14 @@ "error":{"httpStatusCode":400}, "exception":true }, - "AccessToken":{"type":"string"}, + "AccessToken":{ + "type":"string", + "sensitive":true + }, + "Assertion":{ + "type":"string", + "sensitive":true + }, "AuthCode":{"type":"string"}, "AuthorizationPendingException":{ "type":"structure", @@ -93,7 +123,10 @@ }, "ClientId":{"type":"string"}, "ClientName":{"type":"string"}, - "ClientSecret":{"type":"string"}, + "ClientSecret":{ + "type":"string", + "sensitive":true + }, "ClientType":{"type":"string"}, "CreateTokenRequest":{ "type":"structure", @@ -123,6 +156,37 @@ "idToken":{"shape":"IdToken"} } }, + "CreateTokenWithIAMRequest":{ + "type":"structure", + "required":[ + "clientId", + "grantType" + ], + "members":{ + "clientId":{"shape":"ClientId"}, + "grantType":{"shape":"GrantType"}, + "code":{"shape":"AuthCode"}, + "refreshToken":{"shape":"RefreshToken"}, + "assertion":{"shape":"Assertion"}, + "scope":{"shape":"Scopes"}, + "redirectUri":{"shape":"URI"}, + "subjectToken":{"shape":"SubjectToken"}, + "subjectTokenType":{"shape":"TokenTypeURI"}, + "requestedTokenType":{"shape":"TokenTypeURI"} + } + }, + "CreateTokenWithIAMResponse":{ + "type":"structure", + "members":{ + "accessToken":{"shape":"AccessToken"}, + "tokenType":{"shape":"TokenType"}, + "expiresIn":{"shape":"ExpirationInSeconds"}, + "refreshToken":{"shape":"RefreshToken"}, + "idToken":{"shape":"IdToken"}, + "issuedTokenType":{"shape":"TokenTypeURI"}, + "scope":{"shape":"Scopes"} + } + }, "DeviceCode":{"type":"string"}, "Error":{"type":"string"}, "ErrorDescription":{"type":"string"}, @@ -137,7 +201,10 @@ "exception":true }, "GrantType":{"type":"string"}, - "IdToken":{"type":"string"}, + "IdToken":{ + "type":"string", + "sensitive":true + }, "InternalServerException":{ "type":"structure", "members":{ @@ -185,6 +252,17 @@ "error":{"httpStatusCode":400}, "exception":true }, + "InvalidRequestRegionException":{ + "type":"structure", + "members":{ + "error":{"shape":"Error"}, + "error_description":{"shape":"ErrorDescription"}, + "endpoint":{"shape":"Location"}, + "region":{"shape":"Region"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "InvalidScopeException":{ "type":"structure", "members":{ @@ -194,8 +272,13 @@ "error":{"httpStatusCode":400}, "exception":true }, + "Location":{"type":"string"}, "LongTimeStampType":{"type":"long"}, - "RefreshToken":{"type":"string"}, + "RefreshToken":{ + "type":"string", + "sensitive":true + }, + "Region":{"type":"string"}, "RegisterClientRequest":{ "type":"structure", "required":[ @@ -257,7 +340,12 @@ "interval":{"shape":"IntervalInSeconds"} } }, + "SubjectToken":{ + "type":"string", + "sensitive":true + }, "TokenType":{"type":"string"}, + "TokenTypeURI":{"type":"string"}, "URI":{"type":"string"}, "UnauthorizedClientException":{ "type":"structure", diff --git a/models/apis/sso-oidc/2019-06-10/docs-2.json b/models/apis/sso-oidc/2019-06-10/docs-2.json index f8b63ea73c2..32f63a79b01 100644 --- a/models/apis/sso-oidc/2019-06-10/docs-2.json +++ b/models/apis/sso-oidc/2019-06-10/docs-2.json @@ -1,8 +1,9 @@ { "version": "2.0", - "service": "

AWS IAM Identity Center (successor to AWS Single Sign-On) OpenID Connect (OIDC) is a web service that enables a client (such as AWS CLI or a native application) to register with IAM Identity Center. The service also enables the client to fetch the user’s access token upon successful authentication and authorization with IAM Identity Center.

Although AWS Single Sign-On was renamed, the sso and identitystore API namespaces will continue to retain their original name for backward compatibility purposes. For more information, see IAM Identity Center rename.

Considerations for Using This Guide

Before you begin using this guide, we recommend that you first review the following important information about how the IAM Identity Center OIDC service works.

  • The IAM Identity Center OIDC service currently implements only the portions of the OAuth 2.0 Device Authorization Grant standard (https://tools.ietf.org/html/rfc8628) that are necessary to enable single sign-on authentication with the AWS CLI. Support for other OIDC flows frequently needed for native applications, such as Authorization Code Flow (+ PKCE), will be addressed in future releases.

  • The service emits only OIDC access tokens, such that obtaining a new token (For example, token refresh) requires explicit user re-authentication.

  • The access tokens provided by this service grant access to all AWS account entitlements assigned to an IAM Identity Center user, not just a particular application.

  • The documentation in this guide does not describe the mechanism to convert the access token into AWS Auth (“sigv4”) credentials for use with IAM-protected AWS service endpoints. For more information, see GetRoleCredentials in the IAM Identity Center Portal API Reference Guide.

For general information about IAM Identity Center, see What is IAM Identity Center? in the IAM Identity Center User Guide.

", + "service": "

IAM Identity Center OpenID Connect (OIDC) is a web service that enables a client (such as CLI or a native application) to register with IAM Identity Center. The service also enables the client to fetch the user’s access token upon successful authentication and authorization with IAM Identity Center.

IAM Identity Center uses the sso and identitystore API namespaces.

Considerations for Using This Guide

Before you begin using this guide, we recommend that you first review the following important information about how the IAM Identity Center OIDC service works.

  • The IAM Identity Center OIDC service currently implements only the portions of the OAuth 2.0 Device Authorization Grant standard (https://tools.ietf.org/html/rfc8628) that are necessary to enable single sign-on authentication with the CLI.

  • With older versions of the CLI, the service only emits OIDC access tokens, so to obtain a new token, users must explicitly re-authenticate. To access the OIDC flow that supports token refresh and doesn’t require re-authentication, update to the latest CLI version (1.27.10 for CLI V1 and 2.9.0 for CLI V2) with support for OIDC token refresh and configurable IAM Identity Center session durations. For more information, see Configure Amazon Web Services access portal session duration .

  • The access tokens provided by this service grant access to all Amazon Web Services account entitlements assigned to an IAM Identity Center user, not just a particular application.

  • The documentation in this guide does not describe the mechanism to convert the access token into Amazon Web Services Auth (“sigv4”) credentials for use with IAM-protected Amazon Web Services service endpoints. For more information, see GetRoleCredentials in the IAM Identity Center Portal API Reference Guide.

For general information about IAM Identity Center, see What is IAM Identity Center? in the IAM Identity Center User Guide.

", "operations": { - "CreateToken": "

Creates and returns an access token for the authorized client. The access token issued will be used to fetch short-term credentials for the assigned roles in the AWS account.

", + "CreateToken": "

Creates and returns access and refresh tokens for clients that are authenticated using client secrets. The access token can be used to fetch short-term credentials for the assigned AWS accounts or to access application APIs using bearer authentication.

", + "CreateTokenWithIAM": "

Creates and returns access and refresh tokens for clients and applications that are authenticated using IAM entities. The access token can be used to fetch short-term credentials for the assigned AWS accounts or to access application APIs using bearer authentication.

", "RegisterClient": "

Registers a client with IAM Identity Center. This allows clients to initiate device authorization. The output should be persisted for reuse through many authentication requests.

", "StartDeviceAuthorization": "

Initiates device authorization by requesting a pair of verification codes from the authorization service.

" }, @@ -15,13 +16,21 @@ "AccessToken": { "base": null, "refs": { - "CreateTokenResponse$accessToken": "

An opaque token to access IAM Identity Center resources assigned to a user.

" + "CreateTokenResponse$accessToken": "

A bearer token to access AWS accounts and applications assigned to a user.

", + "CreateTokenWithIAMResponse$accessToken": "

A bearer token to access AWS accounts and applications assigned to a user.

" + } + }, + "Assertion": { + "base": null, + "refs": { + "CreateTokenWithIAMRequest$assertion": "

Used only when calling this API for the JWT Bearer grant type. This value specifies the JSON Web Token (JWT) issued by a trusted token issuer. To authorize a trusted token issuer, configure the JWT Bearer GrantOptions for the application.

" } }, "AuthCode": { "base": null, "refs": { - "CreateTokenRequest$code": "

The authorization code received from the authorization service. This parameter is required to perform an authorization grant request to get access to a token.

" + "CreateTokenRequest$code": "

Used only when calling this API for the Authorization Code grant type. The short-term code is used to identify this authorization request. This grant type is currently unsupported for the CreateToken API.

", + "CreateTokenWithIAMRequest$code": "

Used only when calling this API for the Authorization Code grant type. This short-term code is used to identify this authorization request. The code is obtained through a redirect from IAM Identity Center to a redirect URI persisted in the Authorization Code GrantOptions for the application.

" } }, "AuthorizationPendingException": { @@ -32,7 +41,8 @@ "ClientId": { "base": null, "refs": { - "CreateTokenRequest$clientId": "

The unique identifier string for each client. This value should come from the persisted result of the RegisterClient API.

", + "CreateTokenRequest$clientId": "

The unique identifier string for the client or application. This value comes from the result of the RegisterClient API.

", + "CreateTokenWithIAMRequest$clientId": "

The unique identifier string for the client or application. This value is an application ARN that has OAuth grants configured.

", "RegisterClientResponse$clientId": "

The unique identifier string for each client. This client uses this identifier to get authenticated by the service in subsequent calls.

", "StartDeviceAuthorizationRequest$clientId": "

The unique identifier string for the client that is registered with IAM Identity Center. This value should come from the persisted result of the RegisterClient API operation.

" } @@ -67,51 +77,64 @@ "refs": { } }, + "CreateTokenWithIAMRequest": { + "base": null, + "refs": { + } + }, + "CreateTokenWithIAMResponse": { + "base": null, + "refs": { + } + }, "DeviceCode": { "base": null, "refs": { - "CreateTokenRequest$deviceCode": "

Used only when calling this API for the device code grant type. This short-term code is used to identify this authentication attempt. This should come from an in-memory reference to the result of the StartDeviceAuthorization API.

", + "CreateTokenRequest$deviceCode": "

Used only when calling this API for the Device Code grant type. This short-term code is used to identify this authorization request. This comes from the result of the StartDeviceAuthorization API.

", "StartDeviceAuthorizationResponse$deviceCode": "

The short-lived code that is used by the device when polling for a session token.

" } }, "Error": { "base": null, "refs": { - "AccessDeniedException$error": null, - "AuthorizationPendingException$error": null, - "ExpiredTokenException$error": null, - "InternalServerException$error": null, - "InvalidClientException$error": null, - "InvalidClientMetadataException$error": null, - "InvalidGrantException$error": null, - "InvalidRequestException$error": null, - "InvalidScopeException$error": null, - "SlowDownException$error": null, - "UnauthorizedClientException$error": null, - "UnsupportedGrantTypeException$error": null + "AccessDeniedException$error": "

Single error code. For this exception the value will be access_denied.

", + "AuthorizationPendingException$error": "

Single error code. For this exception the value will be authorization_pending.

", + "ExpiredTokenException$error": "

Single error code. For this exception the value will be expired_token.

", + "InternalServerException$error": "

Single error code. For this exception the value will be server_error.

", + "InvalidClientException$error": "

Single error code. For this exception the value will be invalid_client.

", + "InvalidClientMetadataException$error": "

Single error code. For this exception the value will be invalid_client_metadata.

", + "InvalidGrantException$error": "

Single error code. For this exception the value will be invalid_grant.

", + "InvalidRequestException$error": "

Single error code. For this exception the value will be invalid_request.

", + "InvalidRequestRegionException$error": "

Single error code. For this exception the value will be invalid_request.

", + "InvalidScopeException$error": "

Single error code. For this exception the value will be invalid_scope.

", + "SlowDownException$error": "

Single error code. For this exception the value will be slow_down.

", + "UnauthorizedClientException$error": "

Single error code. For this exception the value will be unauthorized_client.

", + "UnsupportedGrantTypeException$error": "

Single error code. For this exception the value will be unsupported_grant_type.

" } }, "ErrorDescription": { "base": null, "refs": { - "AccessDeniedException$error_description": null, - "AuthorizationPendingException$error_description": null, - "ExpiredTokenException$error_description": null, - "InternalServerException$error_description": null, - "InvalidClientException$error_description": null, - "InvalidClientMetadataException$error_description": null, - "InvalidGrantException$error_description": null, - "InvalidRequestException$error_description": null, - "InvalidScopeException$error_description": null, - "SlowDownException$error_description": null, - "UnauthorizedClientException$error_description": null, - "UnsupportedGrantTypeException$error_description": null + "AccessDeniedException$error_description": "

Human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.

", + "AuthorizationPendingException$error_description": "

Human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.

", + "ExpiredTokenException$error_description": "

Human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.

", + "InternalServerException$error_description": "

Human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.

", + "InvalidClientException$error_description": "

Human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.

", + "InvalidClientMetadataException$error_description": "

Human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.

", + "InvalidGrantException$error_description": "

Human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.

", + "InvalidRequestException$error_description": "

Human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.

", + "InvalidRequestRegionException$error_description": "

Human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.

", + "InvalidScopeException$error_description": "

Human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.

", + "SlowDownException$error_description": "

Human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.

", + "UnauthorizedClientException$error_description": "

Human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.

", + "UnsupportedGrantTypeException$error_description": "

Human-readable text providing additional information, used to assist the client developer in understanding the error that occurred.

" } }, "ExpirationInSeconds": { "base": null, "refs": { "CreateTokenResponse$expiresIn": "

Indicates the time in seconds when an access token will expire.

", + "CreateTokenWithIAMResponse$expiresIn": "

Indicates the time in seconds when an access token will expire.

", "StartDeviceAuthorizationResponse$expiresIn": "

Indicates the number of seconds in which the verification code will become invalid.

" } }, @@ -123,13 +146,15 @@ "GrantType": { "base": null, "refs": { - "CreateTokenRequest$grantType": "

Supports grant types for the authorization code, refresh token, and device code request. For device code requests, specify the following value:

urn:ietf:params:oauth:grant-type:device_code

For information about how to obtain the device code, see the StartDeviceAuthorization topic.

" + "CreateTokenRequest$grantType": "

Supports the following OAuth grant types: Device Code and Refresh Token. Specify either of the following values, depending on the grant type that you want:

* Device Code - urn:ietf:params:oauth:grant-type:device_code

* Refresh Token - refresh_token

For information about how to obtain the device code, see the StartDeviceAuthorization topic.

", + "CreateTokenWithIAMRequest$grantType": "

Supports the following OAuth grant types: Authorization Code, Refresh Token, JWT Bearer, and Token Exchange. Specify one of the following values, depending on the grant type that you want:

* Authorization Code - authorization_code

* Refresh Token - refresh_token

* JWT Bearer - urn:ietf:params:oauth:grant-type:jwt-bearer

* Token Exchange - urn:ietf:params:oauth:grant-type:token-exchange

" } }, "IdToken": { "base": null, "refs": { - "CreateTokenResponse$idToken": "

Currently, idToken is not yet implemented and is not supported. For more information about the features and limitations of the current IAM Identity Center OIDC implementation, see Considerations for Using this Guide in the IAM Identity Center OIDC API Reference.

The identifier of the user that associated with the access token, if present.

" + "CreateTokenResponse$idToken": "

The idToken is not implemented or supported. For more information about the features and limitations of the current IAM Identity Center OIDC implementation, see Considerations for Using this Guide in the IAM Identity Center OIDC API Reference.

A JSON Web Token (JWT) that identifies who is associated with the issued access token.

", + "CreateTokenWithIAMResponse$idToken": "

A JSON Web Token (JWT) that identifies the user associated with the issued access token.

" } }, "InternalServerException": { @@ -163,11 +188,22 @@ "refs": { } }, + "InvalidRequestRegionException": { + "base": "

Indicates that a token provided as input to the request was issued by and is only usable by calling IAM Identity Center endpoints in another region.

", + "refs": { + } + }, "InvalidScopeException": { "base": "

Indicates that the scope provided in the request is invalid.

", "refs": { } }, + "Location": { + "base": null, + "refs": { + "InvalidRequestRegionException$endpoint": "

Indicates the IAM Identity Center endpoint which the requester may call with this token.

" + } + }, "LongTimeStampType": { "base": null, "refs": { @@ -178,8 +214,16 @@ "RefreshToken": { "base": null, "refs": { - "CreateTokenRequest$refreshToken": "

Currently, refreshToken is not yet implemented and is not supported. For more information about the features and limitations of the current IAM Identity Center OIDC implementation, see Considerations for Using this Guide in the IAM Identity Center OIDC API Reference.

The token used to obtain an access token in the event that the access token is invalid or expired.

", - "CreateTokenResponse$refreshToken": "

Currently, refreshToken is not yet implemented and is not supported. For more information about the features and limitations of the current IAM Identity Center OIDC implementation, see Considerations for Using this Guide in the IAM Identity Center OIDC API Reference.

A token that, if present, can be used to refresh a previously issued access token that might have expired.

" + "CreateTokenRequest$refreshToken": "

Used only when calling this API for the Refresh Token grant type. This token is used to refresh short-term tokens, such as the access token, that might expire.

For more information about the features and limitations of the current IAM Identity Center OIDC implementation, see Considerations for Using this Guide in the IAM Identity Center OIDC API Reference.

", + "CreateTokenResponse$refreshToken": "

A token that, if present, can be used to refresh a previously issued access token that might have expired.

For more information about the features and limitations of the current IAM Identity Center OIDC implementation, see Considerations for Using this Guide in the IAM Identity Center OIDC API Reference.

", + "CreateTokenWithIAMRequest$refreshToken": "

Used only when calling this API for the Refresh Token grant type. This token is used to refresh short-term tokens, such as the access token, that might expire.

For more information about the features and limitations of the current IAM Identity Center OIDC implementation, see Considerations for Using this Guide in the IAM Identity Center OIDC API Reference.

", + "CreateTokenWithIAMResponse$refreshToken": "

A token that, if present, can be used to refresh a previously issued access token that might have expired.

For more information about the features and limitations of the current IAM Identity Center OIDC implementation, see Considerations for Using this Guide in the IAM Identity Center OIDC API Reference.

" + } + }, + "Region": { + "base": null, + "refs": { + "InvalidRequestRegionException$region": "

Indicates the region which the requester may call with this token.

" } }, "RegisterClientRequest": { @@ -201,7 +245,9 @@ "Scopes": { "base": null, "refs": { - "CreateTokenRequest$scope": "

The list of scopes that is defined by the client. Upon authorization, this list is used to restrict permissions when granting an access token.

", + "CreateTokenRequest$scope": "

The list of scopes for which authorization is requested. The access token that is issued is limited to the scopes that are granted. If this value is not specified, IAM Identity Center authorizes all scopes that are configured for the client during the call to RegisterClient.

", + "CreateTokenWithIAMRequest$scope": "

The list of scopes for which authorization is requested. The access token that is issued is limited to the scopes that are granted. If the value is not specified, IAM Identity Center authorizes all scopes configured for the application, including the following default scopes: openid, aws, sts:identity_context.

", + "CreateTokenWithIAMResponse$scope": "

The list of scopes for which authorization is granted. The access token that is issued is limited to the scopes that are granted.

", "RegisterClientRequest$scopes": "

The list of scopes that are defined by the client. Upon authorization, this list is used to restrict permissions when granting an access token.

" } }, @@ -220,19 +266,35 @@ "refs": { } }, + "SubjectToken": { + "base": null, + "refs": { + "CreateTokenWithIAMRequest$subjectToken": "

Used only when calling this API for the Token Exchange grant type. This value specifies the subject of the exchange. The value of the subject token must be an access token issued by IAM Identity Center to a different client or application. The access token must have authorized scopes that indicate the requested application as a target audience.

" + } + }, "TokenType": { "base": null, "refs": { - "CreateTokenResponse$tokenType": "

Used to notify the client that the returned token is an access token. The supported type is BearerToken.

" + "CreateTokenResponse$tokenType": "

Used to notify the client that the returned token is an access token. The supported token type is Bearer.

", + "CreateTokenWithIAMResponse$tokenType": "

Used to notify the requester that the returned token is an access token. The supported token type is Bearer.

" + } + }, + "TokenTypeURI": { + "base": null, + "refs": { + "CreateTokenWithIAMRequest$subjectTokenType": "

Used only when calling this API for the Token Exchange grant type. This value specifies the type of token that is passed as the subject of the exchange. The following value is supported:

* Access Token - urn:ietf:params:oauth:token-type:access_token

", + "CreateTokenWithIAMRequest$requestedTokenType": "

Used only when calling this API for the Token Exchange grant type. This value specifies the type of token that the requester can receive. The following values are supported:

* Access Token - urn:ietf:params:oauth:token-type:access_token

* Refresh Token - urn:ietf:params:oauth:token-type:refresh_token

", + "CreateTokenWithIAMResponse$issuedTokenType": "

Indicates the type of tokens that are issued by IAM Identity Center. The following values are supported:

* Access Token - urn:ietf:params:oauth:token-type:access_token

* Refresh Token - urn:ietf:params:oauth:token-type:refresh_token

" } }, "URI": { "base": null, "refs": { - "CreateTokenRequest$redirectUri": "

The location of the application that will receive the authorization code. Users authorize the service to send the request to this location.

", - "RegisterClientResponse$authorizationEndpoint": "

The endpoint where the client can request authorization.

", - "RegisterClientResponse$tokenEndpoint": "

The endpoint where the client can get an access token.

", - "StartDeviceAuthorizationRequest$startUrl": "

The URL for the AWS access portal. For more information, see Using the AWS access portal in the IAM Identity Center User Guide.

", + "CreateTokenRequest$redirectUri": "

Used only when calling this API for the Authorization Code grant type. This value specifies the location of the client or application that has registered to receive the authorization code.

", + "CreateTokenWithIAMRequest$redirectUri": "

Used only when calling this API for the Authorization Code grant type. This value specifies the location of the client or application that has registered to receive the authorization code.

", + "RegisterClientResponse$authorizationEndpoint": "

An endpoint that the client can use to request authorization.

", + "RegisterClientResponse$tokenEndpoint": "

An endpoint that the client can use to create tokens.

", + "StartDeviceAuthorizationRequest$startUrl": "

The URL for the Amazon Web Services access portal. For more information, see Using the Amazon Web Services access portal in the IAM Identity Center User Guide.

", "StartDeviceAuthorizationResponse$verificationUri": "

The URI of the verification page that takes the userCode to authorize the device.

", "StartDeviceAuthorizationResponse$verificationUriComplete": "

An alternate URL that the client can use to automatically launch a browser. This process skips the manual step in which the user visits the verification page and enters their code.

" } diff --git a/models/apis/sso-oidc/2019-06-10/endpoint-rule-set-1.json b/models/apis/sso-oidc/2019-06-10/endpoint-rule-set-1.json index 5e4f62c9a9f..c88b20d93c6 100644 --- a/models/apis/sso-oidc/2019-06-10/endpoint-rule-set-1.json +++ b/models/apis/sso-oidc/2019-06-10/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,18 +212,17 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "stringEquals", "argv": [ - "aws-us-gov", { "fn": "getAttr", "argv": [ @@ -236,7 +231,8 @@ }, "name" ] - } + }, + "aws-us-gov" ] } ], @@ -256,14 +252,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -277,7 +275,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -297,7 +294,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -308,14 +304,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -326,9 +324,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/sso-oidc/2019-06-10/examples-1.json b/models/apis/sso-oidc/2019-06-10/examples-1.json index 0ea7e3b0bbe..d9cc3d8ca00 100644 --- a/models/apis/sso-oidc/2019-06-10/examples-1.json +++ b/models/apis/sso-oidc/2019-06-10/examples-1.json @@ -1,5 +1,233 @@ { "version": "1.0", "examples": { + "CreateToken": [ + { + "input": { + "clientId": "_yzkThXVzLWVhc3QtMQEXAMPLECLIENTID", + "clientSecret": "VERYLONGSECRETeyJraWQiOiJrZXktMTU2NDAyODA5OSIsImFsZyI6IkhTMzg0In0", + "deviceCode": "yJraWQiOiJrZXktMTU2Njk2ODA4OCIsImFsZyI6IkhTMzIn0EXAMPLEDEVICECODE", + "grantType": "urn:ietf:params:oauth:grant-type:device-code" + }, + "output": { + "accessToken": "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN", + "expiresIn": 1579729529, + "refreshToken": "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN", + "tokenType": "Bearer" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "create-token-for-device-code", + "title": "Call OAuth/OIDC /token endpoint for Device Code grant with Secret authentication" + }, + { + "input": { + "clientId": "_yzkThXVzLWVhc3QtMQEXAMPLECLIENTID", + "clientSecret": "VERYLONGSECRETeyJraWQiOiJrZXktMTU2NDAyODA5OSIsImFsZyI6IkhTMzg0In0", + "grantType": "refresh_token", + "refreshToken": "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN", + "scope": [ + "codewhisperer:completions" + ] + }, + "output": { + "accessToken": "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN", + "expiresIn": 1579729529, + "refreshToken": "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN", + "tokenType": "Bearer" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "create-token-for-refresh-token", + "title": "Call OAuth/OIDC /token endpoint for Refresh Token grant with Secret authentication" + } + ], + "CreateTokenWithIAM": [ + { + "input": { + "clientId": "arn:aws:sso::123456789012:application/ssoins-111111111111/apl-222222222222", + "code": "yJraWQiOiJrZXktMTU2Njk2ODA4OCIsImFsZyI6IkhTMzg0In0EXAMPLEAUTHCODE", + "grantType": "authorization_code", + "redirectUri": "https://mywebapp.example/redirect", + "scope": [ + "openid", + "aws", + "sts:identity_context" + ] + }, + "output": { + "accessToken": "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN", + "expiresIn": 1579729529, + "idToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhd3M6aWRlbnRpdHlfc3RvcmVfaWQiOiJkLTMzMzMzMzMzMzMiLCJzdWIiOiI3MzA0NDhmMi1lMGExLTcwYTctYzk1NC0wMDAwMDAwMDAwMDAiLCJhd3M6aW5zdGFuY2VfYWNjb3VudCI6IjExMTExMTExMTExMSIsInN0czppZGVudGl0eV9jb250ZXh0IjoiRVhBTVBMRUlERU5USVRZQ09OVEVYVCIsInN0czphdWRpdF9jb250ZXh0IjoiRVhBTVBMRUFVRElUQ09OVEVYVCIsImlzcyI6Imh0dHBzOi8vaWRlbnRpdHljZW50ZXIuYW1hem9uYXdzLmNvbS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmlkZW50aXR5X3N0b3JlX2FybiI6ImFybjphd3M6aWRlbnRpdHlzdG9yZTo6MTExMTExMTExMTExOmlkZW50aXR5c3RvcmUvZC0zMzMzMzMzMzMzIiwiYXVkIjoiYXJuOmF3czpzc286OjEyMzQ1Njc4OTAxMjphcHBsaWNhdGlvbi9zc29pbnMtMTExMTExMTExMTExL2FwbC0yMjIyMjIyMjIyMjIiLCJhd3M6aW5zdGFuY2VfYXJuIjoiYXJuOmF3czpzc286OjppbnN0YW5jZS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmNyZWRlbnRpYWxfaWQiOiJfWlIyTjZhVkJqMjdGUEtheWpfcEtwVjc3QVBERl80MXB4ZXRfWWpJdUpONlVJR2RBdkpFWEFNUExFQ1JFRElEIiwiYXV0aF90aW1lIjoiMjAyMC0wMS0yMlQxMjo0NToyOVoiLCJleHAiOjE1Nzk3Mjk1MjksImlhdCI6MTU3OTcyNTkyOX0.Xyah6qbk78qThzJ41iFU2yfGuRqqtKXHrJYwQ8L9Ip0", + "issuedTokenType": "urn:ietf:params:oauth:token-type:refresh_token", + "refreshToken": "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN", + "scope": [ + "openid", + "aws", + "sts:identity_context" + ], + "tokenType": "Bearer" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "create-token-with-iam-for-auth-code", + "title": "Call OAuth/OIDC /token endpoint for Authorization Code grant with IAM authentication" + }, + { + "input": { + "clientId": "arn:aws:sso::123456789012:application/ssoins-111111111111/apl-222222222222", + "grantType": "refresh_token", + "refreshToken": "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN" + }, + "output": { + "accessToken": "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN", + "expiresIn": 1579729529, + "issuedTokenType": "urn:ietf:params:oauth:token-type:refresh_token", + "refreshToken": "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN", + "scope": [ + "openid", + "aws", + "sts:identity_context" + ], + "tokenType": "Bearer" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "create-token-with-iam-for-refresh-token", + "title": "Call OAuth/OIDC /token endpoint for Refresh Token grant with IAM authentication" + }, + { + "input": { + "assertion": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjFMVE16YWtpaGlSbGFfOHoyQkVKVlhlV01xbyJ9.eyJ2ZXIiOiIyLjAiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vOTEyMjA0MGQtNmM2Ny00YzViLWIxMTItMzZhMzA0YjY2ZGFkL3YyLjAiLCJzdWIiOiJBQUFBQUFBQUFBQUFBQUFBQUFBQUFJa3pxRlZyU2FTYUZIeTc4MmJidGFRIiwiYXVkIjoiNmNiMDQwMTgtYTNmNS00NmE3LWI5OTUtOTQwYzc4ZjVhZWYzIiwiZXhwIjoxNTM2MzYxNDExLCJpYXQiOjE1MzYyNzQ3MTEsIm5iZiI6MTUzNjI3NDcxMSwibmFtZSI6IkFiZSBMaW5jb2xuIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiQWJlTGlAbWljcm9zb2Z0LmNvbSIsIm9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC02NmYzLTMzMzJlY2E3ZWE4MSIsInRpZCI6IjkxMjIwNDBkLTZjNjctNGM1Yi1iMTEyLTM2YTMwNGI2NmRhZCIsIm5vbmNlIjoiMTIzNTIzIiwiYWlvIjoiRGYyVVZYTDFpeCFsTUNXTVNPSkJjRmF0emNHZnZGR2hqS3Y4cTVnMHg3MzJkUjVNQjVCaXN2R1FPN1lXQnlqZDhpUURMcSFlR2JJRGFreXA1bW5PcmNkcUhlWVNubHRlcFFtUnA2QUlaOGpZIn0.1AFWW-Ck5nROwSlltm7GzZvDwUkqvhSQpm55TQsmVo9Y59cLhRXpvB8n-55HCr9Z6G_31_UbeUkoz612I2j_Sm9FFShSDDjoaLQr54CreGIJvjtmS3EkK9a7SJBbcpL1MpUtlfygow39tFjY7EVNW9plWUvRrTgVk7lYLprvfzw-CIqw3gHC-T7IK_m_xkr08INERBtaecwhTeN4chPC4W3jdmw_lIxzC48YoQ0dB1L9-ImX98Egypfrlbm0IBL5spFzL6JDZIRRJOu8vecJvj1mq-IUhGt0MacxX8jdxYLP-KUu2d9MbNKpCKJuZ7p8gwTL5B7NlUdh_dmSviPWrw", + "clientId": "arn:aws:sso::123456789012:application/ssoins-111111111111/apl-222222222222", + "grantType": "urn:ietf:params:oauth:grant-type:jwt-bearer" + }, + "output": { + "accessToken": "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN", + "expiresIn": 1579729529, + "idToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhd3M6aWRlbnRpdHlfc3RvcmVfaWQiOiJkLTMzMzMzMzMzMzMiLCJzdWIiOiI3MzA0NDhmMi1lMGExLTcwYTctYzk1NC0wMDAwMDAwMDAwMDAiLCJhd3M6aW5zdGFuY2VfYWNjb3VudCI6IjExMTExMTExMTExMSIsInN0czppZGVudGl0eV9jb250ZXh0IjoiRVhBTVBMRUlERU5USVRZQ09OVEVYVCIsInN0czphdWRpdF9jb250ZXh0IjoiRVhBTVBMRUFVRElUQ09OVEVYVCIsImlzcyI6Imh0dHBzOi8vaWRlbnRpdHljZW50ZXIuYW1hem9uYXdzLmNvbS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmlkZW50aXR5X3N0b3JlX2FybiI6ImFybjphd3M6aWRlbnRpdHlzdG9yZTo6MTExMTExMTExMTExOmlkZW50aXR5c3RvcmUvZC0zMzMzMzMzMzMzIiwiYXVkIjoiYXJuOmF3czpzc286OjEyMzQ1Njc4OTAxMjphcHBsaWNhdGlvbi9zc29pbnMtMTExMTExMTExMTExL2FwbC0yMjIyMjIyMjIyMjIiLCJhd3M6aW5zdGFuY2VfYXJuIjoiYXJuOmF3czpzc286OjppbnN0YW5jZS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmNyZWRlbnRpYWxfaWQiOiJfWlIyTjZhVkJqMjdGUEtheWpfcEtwVjc3QVBERl80MXB4ZXRfWWpJdUpONlVJR2RBdkpFWEFNUExFQ1JFRElEIiwiYXV0aF90aW1lIjoiMjAyMC0wMS0yMlQxMjo0NToyOVoiLCJleHAiOjE1Nzk3Mjk1MjksImlhdCI6MTU3OTcyNTkyOX0.Xyah6qbk78qThzJ41iFU2yfGuRqqtKXHrJYwQ8L9Ip0", + "issuedTokenType": "urn:ietf:params:oauth:token-type:refresh_token", + "refreshToken": "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN", + "scope": [ + "openid", + "aws", + "sts:identity_context" + ], + "tokenType": "Bearer" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "create-token-with-iam-for-jwt-bearer", + "title": "Call OAuth/OIDC /token endpoint for JWT Bearer grant with IAM authentication" + }, + { + "input": { + "clientId": "arn:aws:sso::123456789012:application/ssoins-111111111111/apl-222222222222", + "grantType": "urn:ietf:params:oauth:grant-type:token-exchange", + "requestedTokenType": "urn:ietf:params:oauth:token-type:access_token", + "subjectToken": "aoak-Hig8TUDPNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZDIFFERENTACCESSTOKEN", + "subjectTokenType": "urn:ietf:params:oauth:token-type:access_token" + }, + "output": { + "accessToken": "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN", + "expiresIn": 1579729529, + "idToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhd3M6aWRlbnRpdHlfc3RvcmVfaWQiOiJkLTMzMzMzMzMzMzMiLCJzdWIiOiI3MzA0NDhmMi1lMGExLTcwYTctYzk1NC0wMDAwMDAwMDAwMDAiLCJhd3M6aW5zdGFuY2VfYWNjb3VudCI6IjExMTExMTExMTExMSIsInN0czppZGVudGl0eV9jb250ZXh0IjoiRVhBTVBMRUlERU5USVRZQ09OVEVYVCIsImlzcyI6Imh0dHBzOi8vaWRlbnRpdHljZW50ZXIuYW1hem9uYXdzLmNvbS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmlkZW50aXR5X3N0b3JlX2FybiI6ImFybjphd3M6aWRlbnRpdHlzdG9yZTo6MTExMTExMTExMTExOmlkZW50aXR5c3RvcmUvZC0zMzMzMzMzMzMzIiwiYXVkIjoiYXJuOmF3czpzc286OjEyMzQ1Njc4OTAxMjphcHBsaWNhdGlvbi9zc29pbnMtMTExMTExMTExMTExL2FwbC0yMjIyMjIyMjIyMjIiLCJhd3M6aW5zdGFuY2VfYXJuIjoiYXJuOmF3czpzc286OjppbnN0YW5jZS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmNyZWRlbnRpYWxfaWQiOiJfWlIyTjZhVkJqMjdGUEtheWpfcEtwVjc3QVBERl80MXB4ZXRfWWpJdUpONlVJR2RBdkpFWEFNUExFQ1JFRElEIiwiYXV0aF90aW1lIjoiMjAyMC0wMS0yMlQxMjo0NToyOVoiLCJleHAiOjE1Nzk3Mjk1MjksImlhdCI6MTU3OTcyNTkyOX0.5SYiW1kMsuUr7nna-l5tlakM0GNbMHvIM2_n0QD23jM", + "issuedTokenType": "urn:ietf:params:oauth:token-type:access_token", + "scope": [ + "openid", + "aws", + "sts:identity_context" + ], + "tokenType": "Bearer" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "create-token-with-iam-for-token-exchange", + "title": "Call OAuth/OIDC /token endpoint for Token Exchange grant with IAM authentication" + } + ], + "RegisterClient": [ + { + "input": { + "clientName": "My IDE Plugin", + "clientType": "public", + "scopes": [ + "sso:account:access", + "codewhisperer:completions" + ] + }, + "output": { + "clientId": "_yzkThXVzLWVhc3QtMQEXAMPLECLIENTID", + "clientIdIssuedAt": 1579725929, + "clientSecret": "VERYLONGSECRETeyJraWQiOiJrZXktMTU2NDAyODA5OSIsImFsZyI6IkhTMzg0In0", + "clientSecretExpiresAt": 1587584729 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "register-client", + "title": "Call OAuth/OIDC /register-client endpoint" + } + ], + "StartDeviceAuthorization": [ + { + "input": { + "clientId": "_yzkThXVzLWVhc3QtMQEXAMPLECLIENTID", + "clientSecret": "VERYLONGSECRETeyJraWQiOiJrZXktMTU2NDAyODA5OSIsImFsZyI6IkhTMzg0In0", + "startUrl": "https://identitycenter.amazonaws.com/ssoins-111111111111" + }, + "output": { + "deviceCode": "yJraWQiOiJrZXktMTU2Njk2ODA4OCIsImFsZyI6IkhTMzIn0EXAMPLEDEVICECODE", + "expiresIn": 1579729529, + "interval": 1, + "userCode": "makdfsk83yJraWQiOiJrZXktMTU2Njk2sImFsZyI6IkhTMzIn0EXAMPLEUSERCODE", + "verificationUri": "https://device.sso.us-west-2.amazonaws.com", + "verificationUriComplete": "https://device.sso.us-west-2.amazonaws.com?user_code=makdfsk83yJraWQiOiJrZXktMTU2Njk2sImFsZyI6IkhTMzIn0EXAMPLEUSERCODE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "start-device-authorization", + "title": "Call OAuth/OIDC /start-device-authorization endpoint" + } + ] } } diff --git a/models/apis/sts/2011-06-15/docs-2.json b/models/apis/sts/2011-06-15/docs-2.json index 6a07f4c8db7..5e3fdd9205b 100644 --- a/models/apis/sts/2011-06-15/docs-2.json +++ b/models/apis/sts/2011-06-15/docs-2.json @@ -178,7 +178,7 @@ } }, "ProvidedContext": { - "base": "

Reserved for future use.

", + "base": "

Contains information about the provided context. This includes the signed and encrypted trusted context assertion and the context provider ARN from which the trusted context assertion was generated.

", "refs": { "ProvidedContextsListType$member": null } @@ -186,7 +186,7 @@ "ProvidedContextsListType": { "base": null, "refs": { - "AssumeRoleRequest$ProvidedContexts": "

Reserved for future use.

" + "AssumeRoleRequest$ProvidedContexts": "

A list of previously acquired trusted context assertions in the format of a JSON array. The trusted context assertion is signed and encrypted by Amazon Web Services STS.

The following is an example of a ProvidedContext value that includes a single trusted context assertion and the ARN of the context provider from which the trusted context assertion was generated.

[{\"ProviderArn\":\"arn:aws:iam::aws:contextProvider/identitycenter\",\"ContextAssertion\":\"trusted-context-assertion\"}]

" } }, "RegionDisabledException": { @@ -249,7 +249,7 @@ "FederatedUser$Arn": "

The ARN that specifies the federated user that is associated with the credentials. For more information about ARNs and how to use them in policies, see IAM Identifiers in the IAM User Guide.

", "GetCallerIdentityResponse$Arn": "

The Amazon Web Services ARN associated with the calling entity.

", "PolicyDescriptorType$arn": "

The Amazon Resource Name (ARN) of the IAM managed policy to use as a session policy for the role. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

", - "ProvidedContext$ProviderArn": "

Reserved for future use.

" + "ProvidedContext$ProviderArn": "

The context provider ARN from which the trusted context assertion was generated.

" } }, "assumedRoleIdType": { @@ -267,7 +267,7 @@ "contextAssertionType": { "base": null, "refs": { - "ProvidedContext$ContextAssertion": "

Reserved for future use.

" + "ProvidedContext$ContextAssertion": "

The signed and encrypted trusted context assertion generated by the context provider. The trusted context assertion is signed and encrypted by Amazon Web Services STS.

" } }, "dateType": { diff --git a/models/apis/sts/2011-06-15/endpoint-rule-set-1.json b/models/apis/sts/2011-06-15/endpoint-rule-set-1.json index 959d2c0e836..964e19388d3 100644 --- a/models/apis/sts/2011-06-15/endpoint-rule-set-1.json +++ b/models/apis/sts/2011-06-15/endpoint-rule-set-1.json @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -547,7 +546,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -560,7 +560,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -603,7 +602,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -616,7 +616,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -630,7 +629,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -653,7 +651,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -688,7 +685,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -699,14 +695,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -720,14 +718,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -736,18 +732,17 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "stringEquals", "argv": [ - "aws-us-gov", { "fn": "getAttr", "argv": [ @@ -756,7 +751,8 @@ }, "name" ] - } + }, + "aws-us-gov" ] } ], @@ -776,14 +772,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -797,7 +795,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -817,7 +814,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -828,14 +824,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -873,9 +871,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/sts/2011-06-15/endpoint-tests-1.json b/models/apis/sts/2011-06-15/endpoint-tests-1.json index 52b2b64e809..53202df05bf 100644 --- a/models/apis/sts/2011-06-15/endpoint-tests-1.json +++ b/models/apis/sts/2011-06-15/endpoint-tests-1.json @@ -702,9 +702,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", + "name": "sigv4", "signingName": "sts", - "name": "sigv4" + "signingRegion": "us-east-1" } ] }, @@ -721,10 +721,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, + "Region": "ap-northeast-1", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false, + "UseGlobalEndpoint": true } }, { @@ -734,9 +734,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", + "name": "sigv4", "signingName": "sts", - "name": "sigv4" + "signingRegion": "us-east-1" } ] }, @@ -753,10 +753,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, + "Region": "ap-south-1", "UseFIPS": false, - "Region": "ap-south-1" + "UseDualStack": false, + "UseGlobalEndpoint": true } }, { @@ -766,9 +766,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", + "name": "sigv4", "signingName": "sts", - "name": "sigv4" + "signingRegion": "us-east-1" } ] }, @@ -785,10 +785,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, + "Region": "ap-southeast-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false, + "UseGlobalEndpoint": true } }, { @@ -798,9 +798,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", + "name": "sigv4", "signingName": "sts", - "name": "sigv4" + "signingRegion": "us-east-1" } ] }, @@ -817,10 +817,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": false, + "UseGlobalEndpoint": true } }, { @@ -830,9 +830,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", + "name": "sigv4", "signingName": "sts", - "name": "sigv4" + "signingRegion": "us-east-1" } ] }, @@ -849,10 +849,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, + "Region": "aws-global", "UseFIPS": false, - "Region": "aws-global" + "UseDualStack": false, + "UseGlobalEndpoint": true } }, { @@ -862,9 +862,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", + "name": "sigv4", "signingName": "sts", - "name": "sigv4" + "signingRegion": "us-east-1" } ] }, @@ -881,10 +881,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "ca-central-1" + "UseDualStack": false, + "UseGlobalEndpoint": true } }, { @@ -894,9 +894,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", + "name": "sigv4", "signingName": "sts", - "name": "sigv4" + "signingRegion": "us-east-1" } ] }, @@ -913,10 +913,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, + "Region": "eu-central-1", "UseFIPS": false, - "Region": "eu-central-1" + "UseDualStack": false, + "UseGlobalEndpoint": true } }, { @@ -926,9 +926,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", + "name": "sigv4", "signingName": "sts", - "name": "sigv4" + "signingRegion": "us-east-1" } ] }, @@ -945,10 +945,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, + "Region": "eu-north-1", "UseFIPS": false, - "Region": "eu-north-1" + "UseDualStack": false, + "UseGlobalEndpoint": true } }, { @@ -958,9 +958,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", + "name": "sigv4", "signingName": "sts", - "name": "sigv4" + "signingRegion": "us-east-1" } ] }, @@ -977,10 +977,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, + "Region": "eu-west-1", "UseFIPS": false, - "Region": "eu-west-1" + "UseDualStack": false, + "UseGlobalEndpoint": true } }, { @@ -990,9 +990,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", + "name": "sigv4", "signingName": "sts", - "name": "sigv4" + "signingRegion": "us-east-1" } ] }, @@ -1009,10 +1009,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, + "Region": "eu-west-2", "UseFIPS": false, - "Region": "eu-west-2" + "UseDualStack": false, + "UseGlobalEndpoint": true } }, { @@ -1022,9 +1022,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", + "name": "sigv4", "signingName": "sts", - "name": "sigv4" + "signingRegion": "us-east-1" } ] }, @@ -1041,10 +1041,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, + "Region": "eu-west-3", "UseFIPS": false, - "Region": "eu-west-3" + "UseDualStack": false, + "UseGlobalEndpoint": true } }, { @@ -1054,9 +1054,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", + "name": "sigv4", "signingName": "sts", - "name": "sigv4" + "signingRegion": "us-east-1" } ] }, @@ -1073,10 +1073,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, + "Region": "sa-east-1", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false, + "UseGlobalEndpoint": true } }, { @@ -1086,9 +1086,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", + "name": "sigv4", "signingName": "sts", - "name": "sigv4" + "signingRegion": "us-east-1" } ] }, @@ -1105,10 +1105,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false, + "UseGlobalEndpoint": true } }, { @@ -1118,9 +1118,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", + "name": "sigv4", "signingName": "sts", - "name": "sigv4" + "signingRegion": "us-east-1" } ] }, @@ -1137,10 +1137,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, + "Region": "us-east-2", "UseFIPS": false, - "Region": "us-east-2" + "UseDualStack": false, + "UseGlobalEndpoint": true } }, { @@ -1150,9 +1150,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", + "name": "sigv4", "signingName": "sts", - "name": "sigv4" + "signingRegion": "us-east-1" } ] }, @@ -1169,10 +1169,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, + "Region": "us-west-1", "UseFIPS": false, - "Region": "us-west-1" + "UseDualStack": false, + "UseGlobalEndpoint": true } }, { @@ -1182,9 +1182,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", + "name": "sigv4", "signingName": "sts", - "name": "sigv4" + "signingRegion": "us-east-1" } ] }, @@ -1201,10 +1201,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": false, - "Region": "us-west-2" + "UseDualStack": false, + "UseGlobalEndpoint": true } }, { @@ -1214,9 +1214,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-3", + "name": "sigv4", "signingName": "sts", - "name": "sigv4" + "signingRegion": "us-east-3" } ] }, @@ -1233,10 +1233,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, + "Region": "us-east-3", "UseFIPS": false, - "Region": "us-east-3" + "UseDualStack": false, + "UseGlobalEndpoint": true } }, { @@ -1257,10 +1257,10 @@ } ], "params": { - "UseGlobalEndpoint": true, - "UseDualStack": false, - "UseFIPS": false, "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": true, "Endpoint": "https://example.com" } }, @@ -1272,9 +1272,9 @@ } }, "params": { - "UseGlobalEndpoint": false, - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, + "UseGlobalEndpoint": false, "Endpoint": "https://example.com" } } diff --git a/models/apis/trustedadvisor/2022-09-15/api-2.json b/models/apis/trustedadvisor/2022-09-15/api-2.json new file mode 100644 index 00000000000..ba2c02a9bd9 --- /dev/null +++ b/models/apis/trustedadvisor/2022-09-15/api-2.json @@ -0,0 +1,1168 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2022-09-15", + "endpointPrefix":"trustedadvisor", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"TrustedAdvisor Public API", + "serviceId":"TrustedAdvisor", + "signatureVersion":"v4", + "signingName":"trustedadvisor", + "uid":"trustedadvisor-2022-09-15" + }, + "operations":{ + "GetOrganizationRecommendation":{ + "name":"GetOrganizationRecommendation", + "http":{ + "method":"GET", + "requestUri":"/v1/organization-recommendations/{organizationRecommendationIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetOrganizationRecommendationRequest"}, + "output":{"shape":"GetOrganizationRecommendationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetRecommendation":{ + "name":"GetRecommendation", + "http":{ + "method":"GET", + "requestUri":"/v1/recommendations/{recommendationIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetRecommendationRequest"}, + "output":{"shape":"GetRecommendationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListChecks":{ + "name":"ListChecks", + "http":{ + "method":"GET", + "requestUri":"/v1/checks", + "responseCode":200 + }, + "input":{"shape":"ListChecksRequest"}, + "output":{"shape":"ListChecksResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListOrganizationRecommendationAccounts":{ + "name":"ListOrganizationRecommendationAccounts", + "http":{ + "method":"GET", + "requestUri":"/v1/organization-recommendations/{organizationRecommendationIdentifier}/accounts", + "responseCode":200 + }, + "input":{"shape":"ListOrganizationRecommendationAccountsRequest"}, + "output":{"shape":"ListOrganizationRecommendationAccountsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListOrganizationRecommendationResources":{ + "name":"ListOrganizationRecommendationResources", + "http":{ + "method":"GET", + "requestUri":"/v1/organization-recommendations/{organizationRecommendationIdentifier}/resources", + "responseCode":200 + }, + "input":{"shape":"ListOrganizationRecommendationResourcesRequest"}, + "output":{"shape":"ListOrganizationRecommendationResourcesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListOrganizationRecommendations":{ + "name":"ListOrganizationRecommendations", + "http":{ + "method":"GET", + "requestUri":"/v1/organization-recommendations", + "responseCode":200 + }, + "input":{"shape":"ListOrganizationRecommendationsRequest"}, + "output":{"shape":"ListOrganizationRecommendationsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListRecommendationResources":{ + "name":"ListRecommendationResources", + "http":{ + "method":"GET", + "requestUri":"/v1/recommendations/{recommendationIdentifier}/resources", + "responseCode":200 + }, + "input":{"shape":"ListRecommendationResourcesRequest"}, + "output":{"shape":"ListRecommendationResourcesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListRecommendations":{ + "name":"ListRecommendations", + "http":{ + "method":"GET", + "requestUri":"/v1/recommendations", + "responseCode":200 + }, + "input":{"shape":"ListRecommendationsRequest"}, + "output":{"shape":"ListRecommendationsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ] + }, + "UpdateOrganizationRecommendationLifecycle":{ + "name":"UpdateOrganizationRecommendationLifecycle", + "http":{ + "method":"PUT", + "requestUri":"/v1/organization-recommendations/{organizationRecommendationIdentifier}/lifecycle", + "responseCode":200 + }, + "input":{"shape":"UpdateOrganizationRecommendationLifecycleRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "idempotent":true + }, + "UpdateRecommendationLifecycle":{ + "name":"UpdateRecommendationLifecycle", + "http":{ + "method":"PUT", + "requestUri":"/v1/recommendations/{recommendationIdentifier}/lifecycle", + "responseCode":200 + }, + "input":{"shape":"UpdateRecommendationLifecycleRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "AccountId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"^\\d+$" + }, + "AccountRecommendationArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:[\\w-]+:trustedadvisor::\\d{12}:recommendation\\/[\\w-]+$" + }, + "AccountRecommendationIdentifier":{ + "type":"string", + "max":200, + "min":20, + "pattern":"^arn:[\\w-]+:trustedadvisor::\\d{12}:recommendation\\/[\\w-]+$" + }, + "AccountRecommendationLifecycleSummary":{ + "type":"structure", + "members":{ + "accountId":{"shape":"AccountId"}, + "accountRecommendationArn":{"shape":"AccountRecommendationArn"}, + "lastUpdatedAt":{"shape":"SyntheticTimestamp_date_time"}, + "lifecycleStage":{"shape":"RecommendationLifecycleStage"}, + "updateReason":{"shape":"RecommendationUpdateReason"}, + "updateReasonCode":{"shape":"UpdateRecommendationLifecycleStageReasonCode"}, + "updatedOnBehalfOf":{"shape":"String"}, + "updatedOnBehalfOfJobTitle":{"shape":"String"} + } + }, + "AccountRecommendationLifecycleSummaryList":{ + "type":"list", + "member":{"shape":"AccountRecommendationLifecycleSummary"} + }, + "CheckArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:[\\w-]+:trustedadvisor:::check\\/[\\w-]+$" + }, + "CheckIdentifier":{ + "type":"string", + "max":64, + "min":20, + "pattern":"^arn:[\\w-]+:trustedadvisor:::check\\/[\\w-]+$" + }, + "CheckSummary":{ + "type":"structure", + "required":[ + "arn", + "awsServices", + "description", + "id", + "metadata", + "name", + "pillars", + "source" + ], + "members":{ + "arn":{"shape":"CheckArn"}, + "awsServices":{"shape":"RecommendationAwsServiceList"}, + "description":{"shape":"String"}, + "id":{"shape":"String"}, + "metadata":{"shape":"StringMap"}, + "name":{"shape":"String"}, + "pillars":{"shape":"RecommendationPillarList"}, + "source":{"shape":"RecommendationSource"} + } + }, + "CheckSummaryList":{ + "type":"list", + "member":{"shape":"CheckSummary"} + }, + "ConflictException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "Double":{ + "type":"double", + "box":true + }, + "GetOrganizationRecommendationRequest":{ + "type":"structure", + "required":["organizationRecommendationIdentifier"], + "members":{ + "organizationRecommendationIdentifier":{ + "shape":"OrganizationRecommendationIdentifier", + "location":"uri", + "locationName":"organizationRecommendationIdentifier" + } + } + }, + "GetOrganizationRecommendationResponse":{ + "type":"structure", + "members":{ + "organizationRecommendation":{"shape":"OrganizationRecommendation"} + } + }, + "GetRecommendationRequest":{ + "type":"structure", + "required":["recommendationIdentifier"], + "members":{ + "recommendationIdentifier":{ + "shape":"AccountRecommendationIdentifier", + "location":"uri", + "locationName":"recommendationIdentifier" + } + } + }, + "GetRecommendationResponse":{ + "type":"structure", + "members":{ + "recommendation":{"shape":"Recommendation"} + } + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "ListChecksRequest":{ + "type":"structure", + "members":{ + "awsService":{ + "shape":"RecommendationAwsService", + "location":"querystring", + "locationName":"awsService" + }, + "language":{ + "shape":"RecommendationLanguage", + "location":"querystring", + "locationName":"language" + }, + "maxResults":{ + "shape":"ListChecksRequestMaxResultsInteger", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"ListChecksRequestNextTokenString", + "location":"querystring", + "locationName":"nextToken" + }, + "pillar":{ + "shape":"RecommendationPillar", + "location":"querystring", + "locationName":"pillar" + }, + "source":{ + "shape":"RecommendationSource", + "location":"querystring", + "locationName":"source" + } + } + }, + "ListChecksRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":200, + "min":1 + }, + "ListChecksRequestNextTokenString":{ + "type":"string", + "max":10000, + "min":4 + }, + "ListChecksResponse":{ + "type":"structure", + "required":["checkSummaries"], + "members":{ + "checkSummaries":{"shape":"CheckSummaryList"}, + "nextToken":{"shape":"ListChecksResponseNextTokenString"} + } + }, + "ListChecksResponseNextTokenString":{ + "type":"string", + "max":10000, + "min":4 + }, + "ListOrganizationRecommendationAccountsRequest":{ + "type":"structure", + "required":["organizationRecommendationIdentifier"], + "members":{ + "affectedAccountId":{ + "shape":"AccountId", + "location":"querystring", + "locationName":"affectedAccountId" + }, + "maxResults":{ + "shape":"ListOrganizationRecommendationAccountsRequestMaxResultsInteger", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"ListOrganizationRecommendationAccountsRequestNextTokenString", + "location":"querystring", + "locationName":"nextToken" + }, + "organizationRecommendationIdentifier":{ + "shape":"OrganizationRecommendationIdentifier", + "location":"uri", + "locationName":"organizationRecommendationIdentifier" + } + } + }, + "ListOrganizationRecommendationAccountsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":200, + "min":1 + }, + "ListOrganizationRecommendationAccountsRequestNextTokenString":{ + "type":"string", + "max":10000, + "min":4 + }, + "ListOrganizationRecommendationAccountsResponse":{ + "type":"structure", + "required":["accountRecommendationLifecycleSummaries"], + "members":{ + "accountRecommendationLifecycleSummaries":{"shape":"AccountRecommendationLifecycleSummaryList"}, + "nextToken":{"shape":"ListOrganizationRecommendationAccountsResponseNextTokenString"} + } + }, + "ListOrganizationRecommendationAccountsResponseNextTokenString":{ + "type":"string", + "max":10000, + "min":4 + }, + "ListOrganizationRecommendationResourcesRequest":{ + "type":"structure", + "required":["organizationRecommendationIdentifier"], + "members":{ + "affectedAccountId":{ + "shape":"AccountId", + "location":"querystring", + "locationName":"affectedAccountId" + }, + "maxResults":{ + "shape":"ListOrganizationRecommendationResourcesRequestMaxResultsInteger", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"ListOrganizationRecommendationResourcesRequestNextTokenString", + "location":"querystring", + "locationName":"nextToken" + }, + "organizationRecommendationIdentifier":{ + "shape":"OrganizationRecommendationIdentifier", + "location":"uri", + "locationName":"organizationRecommendationIdentifier" + }, + "regionCode":{ + "shape":"String", + "location":"querystring", + "locationName":"regionCode" + }, + "status":{ + "shape":"ResourceStatus", + "location":"querystring", + "locationName":"status" + } + } + }, + "ListOrganizationRecommendationResourcesRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":200, + "min":1 + }, + "ListOrganizationRecommendationResourcesRequestNextTokenString":{ + "type":"string", + "max":10000, + "min":4 + }, + "ListOrganizationRecommendationResourcesResponse":{ + "type":"structure", + "required":["organizationRecommendationResourceSummaries"], + "members":{ + "nextToken":{"shape":"ListOrganizationRecommendationResourcesResponseNextTokenString"}, + "organizationRecommendationResourceSummaries":{"shape":"OrganizationRecommendationResourceSummaryList"} + } + }, + "ListOrganizationRecommendationResourcesResponseNextTokenString":{ + "type":"string", + "max":10000, + "min":4 + }, + "ListOrganizationRecommendationsRequest":{ + "type":"structure", + "members":{ + "afterLastUpdatedAt":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"afterLastUpdatedAt" + }, + "awsService":{ + "shape":"RecommendationAwsService", + "location":"querystring", + "locationName":"awsService" + }, + "beforeLastUpdatedAt":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"beforeLastUpdatedAt" + }, + "checkIdentifier":{ + "shape":"CheckIdentifier", + "location":"querystring", + "locationName":"checkIdentifier" + }, + "maxResults":{ + "shape":"ListOrganizationRecommendationsRequestMaxResultsInteger", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"ListOrganizationRecommendationsRequestNextTokenString", + "location":"querystring", + "locationName":"nextToken" + }, + "pillar":{ + "shape":"RecommendationPillar", + "location":"querystring", + "locationName":"pillar" + }, + "source":{ + "shape":"RecommendationSource", + "location":"querystring", + "locationName":"source" + }, + "status":{ + "shape":"RecommendationStatus", + "location":"querystring", + "locationName":"status" + }, + "type":{ + "shape":"RecommendationType", + "location":"querystring", + "locationName":"type" + } + } + }, + "ListOrganizationRecommendationsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":200, + "min":1 + }, + "ListOrganizationRecommendationsRequestNextTokenString":{ + "type":"string", + "max":10000, + "min":4 + }, + "ListOrganizationRecommendationsResponse":{ + "type":"structure", + "required":["organizationRecommendationSummaries"], + "members":{ + "nextToken":{"shape":"ListOrganizationRecommendationsResponseNextTokenString"}, + "organizationRecommendationSummaries":{"shape":"OrganizationRecommendationSummaryList"} + } + }, + "ListOrganizationRecommendationsResponseNextTokenString":{ + "type":"string", + "max":10000, + "min":4 + }, + "ListRecommendationResourcesRequest":{ + "type":"structure", + "required":["recommendationIdentifier"], + "members":{ + "maxResults":{ + "shape":"ListRecommendationResourcesRequestMaxResultsInteger", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"ListRecommendationResourcesRequestNextTokenString", + "location":"querystring", + "locationName":"nextToken" + }, + "recommendationIdentifier":{ + "shape":"AccountRecommendationIdentifier", + "location":"uri", + "locationName":"recommendationIdentifier" + }, + "regionCode":{ + "shape":"String", + "location":"querystring", + "locationName":"regionCode" + }, + "status":{ + "shape":"ResourceStatus", + "location":"querystring", + "locationName":"status" + } + } + }, + "ListRecommendationResourcesRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":200, + "min":1 + }, + "ListRecommendationResourcesRequestNextTokenString":{ + "type":"string", + "max":10000, + "min":4 + }, + "ListRecommendationResourcesResponse":{ + "type":"structure", + "required":["recommendationResourceSummaries"], + "members":{ + "nextToken":{"shape":"ListRecommendationResourcesResponseNextTokenString"}, + "recommendationResourceSummaries":{"shape":"RecommendationResourceSummaryList"} + } + }, + "ListRecommendationResourcesResponseNextTokenString":{ + "type":"string", + "max":10000, + "min":4 + }, + "ListRecommendationsRequest":{ + "type":"structure", + "members":{ + "afterLastUpdatedAt":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"afterLastUpdatedAt" + }, + "awsService":{ + "shape":"RecommendationAwsService", + "location":"querystring", + "locationName":"awsService" + }, + "beforeLastUpdatedAt":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"beforeLastUpdatedAt" + }, + "checkIdentifier":{ + "shape":"CheckIdentifier", + "location":"querystring", + "locationName":"checkIdentifier" + }, + "maxResults":{ + "shape":"ListRecommendationsRequestMaxResultsInteger", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"ListRecommendationsRequestNextTokenString", + "location":"querystring", + "locationName":"nextToken" + }, + "pillar":{ + "shape":"RecommendationPillar", + "location":"querystring", + "locationName":"pillar" + }, + "source":{ + "shape":"RecommendationSource", + "location":"querystring", + "locationName":"source" + }, + "status":{ + "shape":"RecommendationStatus", + "location":"querystring", + "locationName":"status" + }, + "type":{ + "shape":"RecommendationType", + "location":"querystring", + "locationName":"type" + } + } + }, + "ListRecommendationsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":200, + "min":1 + }, + "ListRecommendationsRequestNextTokenString":{ + "type":"string", + "max":10000, + "min":4 + }, + "ListRecommendationsResponse":{ + "type":"structure", + "required":["recommendationSummaries"], + "members":{ + "nextToken":{"shape":"ListRecommendationsResponseNextTokenString"}, + "recommendationSummaries":{"shape":"RecommendationSummaryList"} + } + }, + "ListRecommendationsResponseNextTokenString":{ + "type":"string", + "max":10000, + "min":4 + }, + "Long":{ + "type":"long", + "box":true + }, + "OrganizationRecommendation":{ + "type":"structure", + "required":[ + "arn", + "description", + "id", + "name", + "pillars", + "resourcesAggregates", + "source", + "status", + "type" + ], + "members":{ + "arn":{"shape":"OrganizationRecommendationArn"}, + "awsServices":{"shape":"RecommendationAwsServiceList"}, + "checkArn":{"shape":"String"}, + "createdAt":{"shape":"SyntheticTimestamp_date_time"}, + "createdBy":{"shape":"String"}, + "description":{"shape":"String"}, + "id":{"shape":"String"}, + "lastUpdatedAt":{"shape":"SyntheticTimestamp_date_time"}, + "lifecycleStage":{"shape":"RecommendationLifecycleStage"}, + "name":{"shape":"String"}, + "pillarSpecificAggregates":{"shape":"RecommendationPillarSpecificAggregates"}, + "pillars":{"shape":"RecommendationPillarList"}, + "resolvedAt":{"shape":"SyntheticTimestamp_date_time"}, + "resourcesAggregates":{"shape":"RecommendationResourcesAggregates"}, + "source":{"shape":"RecommendationSource"}, + "status":{"shape":"RecommendationStatus"}, + "type":{"shape":"RecommendationType"}, + "updateReason":{"shape":"RecommendationUpdateReason"}, + "updateReasonCode":{"shape":"UpdateRecommendationLifecycleStageReasonCode"}, + "updatedOnBehalfOf":{"shape":"String"}, + "updatedOnBehalfOfJobTitle":{"shape":"String"} + } + }, + "OrganizationRecommendationArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:[\\w-]+:trustedadvisor:::organization-recommendation\\/[\\w-]+$" + }, + "OrganizationRecommendationIdentifier":{ + "type":"string", + "max":200, + "min":20, + "pattern":"^arn:[\\w-]+:trustedadvisor:::organization-recommendation\\/[\\w-]+$" + }, + "OrganizationRecommendationResourceSummary":{ + "type":"structure", + "required":[ + "arn", + "awsResourceId", + "id", + "lastUpdatedAt", + "metadata", + "recommendationArn", + "regionCode", + "status" + ], + "members":{ + "accountId":{"shape":"AccountId"}, + "arn":{"shape":"RecommendationResourceArn"}, + "awsResourceId":{"shape":"String"}, + "id":{"shape":"String"}, + "lastUpdatedAt":{"shape":"SyntheticTimestamp_date_time"}, + "metadata":{"shape":"StringMap"}, + "recommendationArn":{"shape":"OrganizationRecommendationArn"}, + "regionCode":{"shape":"RecommendationRegionCode"}, + "status":{"shape":"ResourceStatus"} + } + }, + "OrganizationRecommendationResourceSummaryList":{ + "type":"list", + "member":{"shape":"OrganizationRecommendationResourceSummary"} + }, + "OrganizationRecommendationSummary":{ + "type":"structure", + "required":[ + "arn", + "id", + "name", + "pillars", + "resourcesAggregates", + "source", + "status", + "type" + ], + "members":{ + "arn":{"shape":"OrganizationRecommendationArn"}, + "awsServices":{"shape":"RecommendationAwsServiceList"}, + "checkArn":{"shape":"String"}, + "createdAt":{"shape":"SyntheticTimestamp_date_time"}, + "id":{"shape":"String"}, + "lastUpdatedAt":{"shape":"SyntheticTimestamp_date_time"}, + "lifecycleStage":{"shape":"RecommendationLifecycleStage"}, + "name":{"shape":"String"}, + "pillarSpecificAggregates":{"shape":"RecommendationPillarSpecificAggregates"}, + "pillars":{"shape":"RecommendationPillarList"}, + "resourcesAggregates":{"shape":"RecommendationResourcesAggregates"}, + "source":{"shape":"RecommendationSource"}, + "status":{"shape":"RecommendationStatus"}, + "type":{"shape":"RecommendationType"} + } + }, + "OrganizationRecommendationSummaryList":{ + "type":"list", + "member":{"shape":"OrganizationRecommendationSummary"} + }, + "Recommendation":{ + "type":"structure", + "required":[ + "arn", + "description", + "id", + "name", + "pillars", + "resourcesAggregates", + "source", + "status", + "type" + ], + "members":{ + "arn":{"shape":"AccountRecommendationArn"}, + "awsServices":{"shape":"RecommendationAwsServiceList"}, + "checkArn":{"shape":"String"}, + "createdAt":{"shape":"SyntheticTimestamp_date_time"}, + "createdBy":{"shape":"String"}, + "description":{"shape":"String"}, + "id":{"shape":"String"}, + "lastUpdatedAt":{"shape":"SyntheticTimestamp_date_time"}, + "lifecycleStage":{"shape":"RecommendationLifecycleStage"}, + "name":{"shape":"String"}, + "pillarSpecificAggregates":{"shape":"RecommendationPillarSpecificAggregates"}, + "pillars":{"shape":"RecommendationPillarList"}, + "resolvedAt":{"shape":"SyntheticTimestamp_date_time"}, + "resourcesAggregates":{"shape":"RecommendationResourcesAggregates"}, + "source":{"shape":"RecommendationSource"}, + "status":{"shape":"RecommendationStatus"}, + "type":{"shape":"RecommendationType"}, + "updateReason":{"shape":"RecommendationUpdateReason"}, + "updateReasonCode":{"shape":"UpdateRecommendationLifecycleStageReasonCode"}, + "updatedOnBehalfOf":{"shape":"String"}, + "updatedOnBehalfOfJobTitle":{"shape":"String"} + } + }, + "RecommendationAwsService":{ + "type":"string", + "max":30, + "min":2 + }, + "RecommendationAwsServiceList":{ + "type":"list", + "member":{"shape":"RecommendationAwsService"} + }, + "RecommendationCostOptimizingAggregates":{ + "type":"structure", + "required":[ + "estimatedMonthlySavings", + "estimatedPercentMonthlySavings" + ], + "members":{ + "estimatedMonthlySavings":{"shape":"Double"}, + "estimatedPercentMonthlySavings":{"shape":"Double"} + } + }, + "RecommendationLanguage":{ + "type":"string", + "enum":[ + "en", + "ja", + "zh", + "fr", + "de", + "ko", + "zh_TW", + "it", + "es", + "pt_BR", + "id" + ] + }, + "RecommendationLifecycleStage":{ + "type":"string", + "enum":[ + "in_progress", + "pending_response", + "dismissed", + "resolved" + ] + }, + "RecommendationPillar":{ + "type":"string", + "enum":[ + "cost_optimizing", + "performance", + "security", + "service_limits", + "fault_tolerance", + "operational_excellence" + ] + }, + "RecommendationPillarList":{ + "type":"list", + "member":{"shape":"RecommendationPillar"} + }, + "RecommendationPillarSpecificAggregates":{ + "type":"structure", + "members":{ + "costOptimizing":{"shape":"RecommendationCostOptimizingAggregates"} + } + }, + "RecommendationRegionCode":{ + "type":"string", + "max":20, + "min":9 + }, + "RecommendationResourceArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:[\\w-]+:trustedadvisor::\\d{12}:recommendation-resource\\/[\\w-]+\\/[\\w-]+$" + }, + "RecommendationResourceSummary":{ + "type":"structure", + "required":[ + "arn", + "awsResourceId", + "id", + "lastUpdatedAt", + "metadata", + "recommendationArn", + "regionCode", + "status" + ], + "members":{ + "arn":{"shape":"RecommendationResourceArn"}, + "awsResourceId":{"shape":"String"}, + "id":{"shape":"String"}, + "lastUpdatedAt":{"shape":"SyntheticTimestamp_date_time"}, + "metadata":{"shape":"StringMap"}, + "recommendationArn":{"shape":"AccountRecommendationArn"}, + "regionCode":{"shape":"RecommendationRegionCode"}, + "status":{"shape":"ResourceStatus"} + } + }, + "RecommendationResourceSummaryList":{ + "type":"list", + "member":{"shape":"RecommendationResourceSummary"} + }, + "RecommendationResourcesAggregates":{ + "type":"structure", + "required":[ + "errorCount", + "okCount", + "warningCount" + ], + "members":{ + "errorCount":{"shape":"Long"}, + "okCount":{"shape":"Long"}, + "warningCount":{"shape":"Long"} + } + }, + "RecommendationSource":{ + "type":"string", + "enum":[ + "aws_config", + "compute_optimizer", + "cost_explorer", + "lse", + "manual", + "pse", + "rds", + "resilience", + "resilience_hub", + "security_hub", + "stir", + "ta_check", + "well_architected" + ] + }, + "RecommendationStatus":{ + "type":"string", + "enum":[ + "ok", + "warning", + "error" + ] + }, + "RecommendationSummary":{ + "type":"structure", + "required":[ + "arn", + "id", + "name", + "pillars", + "resourcesAggregates", + "source", + "status", + "type" + ], + "members":{ + "arn":{"shape":"AccountRecommendationArn"}, + "awsServices":{"shape":"RecommendationAwsServiceList"}, + "checkArn":{"shape":"String"}, + "createdAt":{"shape":"SyntheticTimestamp_date_time"}, + "id":{"shape":"String"}, + "lastUpdatedAt":{"shape":"SyntheticTimestamp_date_time"}, + "lifecycleStage":{"shape":"RecommendationLifecycleStage"}, + "name":{"shape":"String"}, + "pillarSpecificAggregates":{"shape":"RecommendationPillarSpecificAggregates"}, + "pillars":{"shape":"RecommendationPillarList"}, + "resourcesAggregates":{"shape":"RecommendationResourcesAggregates"}, + "source":{"shape":"RecommendationSource"}, + "status":{"shape":"RecommendationStatus"}, + "type":{"shape":"RecommendationType"} + } + }, + "RecommendationSummaryList":{ + "type":"list", + "member":{"shape":"RecommendationSummary"} + }, + "RecommendationType":{ + "type":"string", + "enum":[ + "standard", + "priority" + ] + }, + "RecommendationUpdateReason":{ + "type":"string", + "max":4096, + "min":10, + "pattern":"^[\\s\\S]*$", + "sensitive":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ResourceStatus":{ + "type":"string", + "enum":[ + "ok", + "warning", + "error" + ] + }, + "String":{"type":"string"}, + "StringMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "SyntheticTimestamp_date_time":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":true} + }, + "Timestamp":{"type":"timestamp"}, + "UpdateOrganizationRecommendationLifecycleRequest":{ + "type":"structure", + "required":[ + "lifecycleStage", + "organizationRecommendationIdentifier" + ], + "members":{ + "lifecycleStage":{"shape":"UpdateRecommendationLifecycleStage"}, + "organizationRecommendationIdentifier":{ + "shape":"OrganizationRecommendationIdentifier", + "location":"uri", + "locationName":"organizationRecommendationIdentifier" + }, + "updateReason":{"shape":"RecommendationUpdateReason"}, + "updateReasonCode":{"shape":"UpdateRecommendationLifecycleStageReasonCode"} + } + }, + "UpdateRecommendationLifecycleRequest":{ + "type":"structure", + "required":[ + "lifecycleStage", + "recommendationIdentifier" + ], + "members":{ + "lifecycleStage":{"shape":"UpdateRecommendationLifecycleStage"}, + "recommendationIdentifier":{ + "shape":"AccountRecommendationIdentifier", + "location":"uri", + "locationName":"recommendationIdentifier" + }, + "updateReason":{"shape":"RecommendationUpdateReason"}, + "updateReasonCode":{"shape":"UpdateRecommendationLifecycleStageReasonCode"} + } + }, + "UpdateRecommendationLifecycleStage":{ + "type":"string", + "enum":[ + "pending_response", + "in_progress", + "dismissed", + "resolved" + ] + }, + "UpdateRecommendationLifecycleStageReasonCode":{ + "type":"string", + "enum":[ + "non_critical_account", + "temporary_account", + "valid_business_case", + "other_methods_available", + "low_priority", + "not_applicable", + "other" + ] + }, + "ValidationException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + } + } +} diff --git a/models/apis/trustedadvisor/2022-09-15/docs-2.json b/models/apis/trustedadvisor/2022-09-15/docs-2.json new file mode 100644 index 00000000000..ff129e351e9 --- /dev/null +++ b/models/apis/trustedadvisor/2022-09-15/docs-2.json @@ -0,0 +1,643 @@ +{ + "version": "2.0", + "service": "

TrustedAdvisor Public API

", + "operations": { + "GetOrganizationRecommendation": "

Get a specific recommendation within an AWS Organizations organization. This API supports only prioritized recommendations.

", + "GetRecommendation": "

Get a specific Recommendation

", + "ListChecks": "

List a filterable set of Checks

", + "ListOrganizationRecommendationAccounts": "

Lists the accounts that own the resources for an organization aggregate recommendation. This API only supports prioritized recommendations.

", + "ListOrganizationRecommendationResources": "

List Resources of a Recommendation within an Organization. This API only supports prioritized recommendations.

", + "ListOrganizationRecommendations": "

List a filterable set of Recommendations within an Organization. This API only supports prioritized recommendations.

", + "ListRecommendationResources": "

List Resources of a Recommendation

", + "ListRecommendations": "

List a filterable set of Recommendations

", + "UpdateOrganizationRecommendationLifecycle": "

Update the lifecyle of a Recommendation within an Organization. This API only supports prioritized recommendations.

", + "UpdateRecommendationLifecycle": "

Update the lifecyle of a Recommendation. This API only supports prioritized recommendations.

" + }, + "shapes": { + "AccessDeniedException": { + "base": "

Exception that access has been denied due to insufficient access

", + "refs": { + } + }, + "AccountId": { + "base": null, + "refs": { + "AccountRecommendationLifecycleSummary$accountId": "

The AWS account ID

", + "ListOrganizationRecommendationAccountsRequest$affectedAccountId": "

An account affected by this organization recommendation

", + "ListOrganizationRecommendationResourcesRequest$affectedAccountId": "

An account affected by this organization recommendation

", + "OrganizationRecommendationResourceSummary$accountId": "

The AWS account ID

" + } + }, + "AccountRecommendationArn": { + "base": null, + "refs": { + "AccountRecommendationLifecycleSummary$accountRecommendationArn": "

The Recommendation ARN

", + "Recommendation$arn": "

The ARN of the Recommendation

", + "RecommendationResourceSummary$recommendationArn": "

The Recommendation ARN

", + "RecommendationSummary$arn": "

The ARN of the Recommendation

" + } + }, + "AccountRecommendationIdentifier": { + "base": null, + "refs": { + "GetRecommendationRequest$recommendationIdentifier": "

The Recommendation identifier

", + "ListRecommendationResourcesRequest$recommendationIdentifier": "

The Recommendation identifier

", + "UpdateRecommendationLifecycleRequest$recommendationIdentifier": "

The Recommendation identifier for AWS Trusted Advisor Priority recommendations

" + } + }, + "AccountRecommendationLifecycleSummary": { + "base": "

Summary of an AccountRecommendationLifecycle for an Organization Recommendation

", + "refs": { + "AccountRecommendationLifecycleSummaryList$member": null + } + }, + "AccountRecommendationLifecycleSummaryList": { + "base": null, + "refs": { + "ListOrganizationRecommendationAccountsResponse$accountRecommendationLifecycleSummaries": "

The account recommendations lifecycles that are applicable to the Recommendation

" + } + }, + "CheckArn": { + "base": null, + "refs": { + "CheckSummary$arn": "

The ARN of the AWS Trusted Advisor Check

" + } + }, + "CheckIdentifier": { + "base": null, + "refs": { + "ListOrganizationRecommendationsRequest$checkIdentifier": "

The check identifier of the Recommendation

", + "ListRecommendationsRequest$checkIdentifier": "

The check identifier of the Recommendation

" + } + }, + "CheckSummary": { + "base": "

A summary of an AWS Trusted Advisor Check

", + "refs": { + "CheckSummaryList$member": null + } + }, + "CheckSummaryList": { + "base": null, + "refs": { + "ListChecksResponse$checkSummaries": "

The list of Checks

" + } + }, + "ConflictException": { + "base": "

Exception that the request was denied due to conflictions in state

", + "refs": { + } + }, + "Double": { + "base": null, + "refs": { + "RecommendationCostOptimizingAggregates$estimatedMonthlySavings": "

The estimated monthly savings

", + "RecommendationCostOptimizingAggregates$estimatedPercentMonthlySavings": "

The estimated percently monthly savings

" + } + }, + "GetOrganizationRecommendationRequest": { + "base": null, + "refs": { + } + }, + "GetOrganizationRecommendationResponse": { + "base": null, + "refs": { + } + }, + "GetRecommendationRequest": { + "base": null, + "refs": { + } + }, + "GetRecommendationResponse": { + "base": null, + "refs": { + } + }, + "InternalServerException": { + "base": "

Exception to notify that an unexpected internal error occurred during processing of the request

", + "refs": { + } + }, + "ListChecksRequest": { + "base": null, + "refs": { + } + }, + "ListChecksRequestMaxResultsInteger": { + "base": null, + "refs": { + "ListChecksRequest$maxResults": "

The maximum number of results to return per page.

" + } + }, + "ListChecksRequestNextTokenString": { + "base": null, + "refs": { + "ListChecksRequest$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

" + } + }, + "ListChecksResponse": { + "base": null, + "refs": { + } + }, + "ListChecksResponseNextTokenString": { + "base": null, + "refs": { + "ListChecksResponse$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

" + } + }, + "ListOrganizationRecommendationAccountsRequest": { + "base": null, + "refs": { + } + }, + "ListOrganizationRecommendationAccountsRequestMaxResultsInteger": { + "base": null, + "refs": { + "ListOrganizationRecommendationAccountsRequest$maxResults": "

The maximum number of results to return per page.

" + } + }, + "ListOrganizationRecommendationAccountsRequestNextTokenString": { + "base": null, + "refs": { + "ListOrganizationRecommendationAccountsRequest$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

" + } + }, + "ListOrganizationRecommendationAccountsResponse": { + "base": null, + "refs": { + } + }, + "ListOrganizationRecommendationAccountsResponseNextTokenString": { + "base": null, + "refs": { + "ListOrganizationRecommendationAccountsResponse$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

" + } + }, + "ListOrganizationRecommendationResourcesRequest": { + "base": null, + "refs": { + } + }, + "ListOrganizationRecommendationResourcesRequestMaxResultsInteger": { + "base": null, + "refs": { + "ListOrganizationRecommendationResourcesRequest$maxResults": "

The maximum number of results to return per page.

" + } + }, + "ListOrganizationRecommendationResourcesRequestNextTokenString": { + "base": null, + "refs": { + "ListOrganizationRecommendationResourcesRequest$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

" + } + }, + "ListOrganizationRecommendationResourcesResponse": { + "base": null, + "refs": { + } + }, + "ListOrganizationRecommendationResourcesResponseNextTokenString": { + "base": null, + "refs": { + "ListOrganizationRecommendationResourcesResponse$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

" + } + }, + "ListOrganizationRecommendationsRequest": { + "base": null, + "refs": { + } + }, + "ListOrganizationRecommendationsRequestMaxResultsInteger": { + "base": null, + "refs": { + "ListOrganizationRecommendationsRequest$maxResults": "

The maximum number of results to return per page.

" + } + }, + "ListOrganizationRecommendationsRequestNextTokenString": { + "base": null, + "refs": { + "ListOrganizationRecommendationsRequest$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

" + } + }, + "ListOrganizationRecommendationsResponse": { + "base": null, + "refs": { + } + }, + "ListOrganizationRecommendationsResponseNextTokenString": { + "base": null, + "refs": { + "ListOrganizationRecommendationsResponse$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

" + } + }, + "ListRecommendationResourcesRequest": { + "base": null, + "refs": { + } + }, + "ListRecommendationResourcesRequestMaxResultsInteger": { + "base": null, + "refs": { + "ListRecommendationResourcesRequest$maxResults": "

The maximum number of results to return per page.

" + } + }, + "ListRecommendationResourcesRequestNextTokenString": { + "base": null, + "refs": { + "ListRecommendationResourcesRequest$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

" + } + }, + "ListRecommendationResourcesResponse": { + "base": null, + "refs": { + } + }, + "ListRecommendationResourcesResponseNextTokenString": { + "base": null, + "refs": { + "ListRecommendationResourcesResponse$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

" + } + }, + "ListRecommendationsRequest": { + "base": null, + "refs": { + } + }, + "ListRecommendationsRequestMaxResultsInteger": { + "base": null, + "refs": { + "ListRecommendationsRequest$maxResults": "

The maximum number of results to return per page.

" + } + }, + "ListRecommendationsRequestNextTokenString": { + "base": null, + "refs": { + "ListRecommendationsRequest$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

" + } + }, + "ListRecommendationsResponse": { + "base": null, + "refs": { + } + }, + "ListRecommendationsResponseNextTokenString": { + "base": null, + "refs": { + "ListRecommendationsResponse$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

" + } + }, + "Long": { + "base": null, + "refs": { + "RecommendationResourcesAggregates$errorCount": "

The number of AWS resources that were flagged to have errors according to the Trusted Advisor check

", + "RecommendationResourcesAggregates$okCount": "

The number of AWS resources that were flagged to be OK according to the Trusted Advisor check

", + "RecommendationResourcesAggregates$warningCount": "

The number of AWS resources that were flagged to have warning according to the Trusted Advisor check

" + } + }, + "OrganizationRecommendation": { + "base": "

A Recommendation for accounts within an Organization

", + "refs": { + "GetOrganizationRecommendationResponse$organizationRecommendation": "

The Recommendation

" + } + }, + "OrganizationRecommendationArn": { + "base": null, + "refs": { + "OrganizationRecommendation$arn": "

The ARN of the Recommendation

", + "OrganizationRecommendationResourceSummary$recommendationArn": "

The Recommendation ARN

", + "OrganizationRecommendationSummary$arn": "

The ARN of the Recommendation

" + } + }, + "OrganizationRecommendationIdentifier": { + "base": null, + "refs": { + "GetOrganizationRecommendationRequest$organizationRecommendationIdentifier": "

The Recommendation identifier

", + "ListOrganizationRecommendationAccountsRequest$organizationRecommendationIdentifier": "

The Recommendation identifier

", + "ListOrganizationRecommendationResourcesRequest$organizationRecommendationIdentifier": "

The AWS Organization organization's Recommendation identifier

", + "UpdateOrganizationRecommendationLifecycleRequest$organizationRecommendationIdentifier": "

The Recommendation identifier for AWS Trusted Advisor Priority recommendations

" + } + }, + "OrganizationRecommendationResourceSummary": { + "base": "

Organization Recommendation Resource Summary

", + "refs": { + "OrganizationRecommendationResourceSummaryList$member": null + } + }, + "OrganizationRecommendationResourceSummaryList": { + "base": null, + "refs": { + "ListOrganizationRecommendationResourcesResponse$organizationRecommendationResourceSummaries": "

A list of Recommendation Resources

" + } + }, + "OrganizationRecommendationSummary": { + "base": "

Summary of recommendation for accounts within an Organization

", + "refs": { + "OrganizationRecommendationSummaryList$member": null + } + }, + "OrganizationRecommendationSummaryList": { + "base": null, + "refs": { + "ListOrganizationRecommendationsResponse$organizationRecommendationSummaries": "

The list of Recommendations

" + } + }, + "Recommendation": { + "base": "

A Recommendation for an Account

", + "refs": { + "GetRecommendationResponse$recommendation": "

The Recommendation

" + } + }, + "RecommendationAwsService": { + "base": null, + "refs": { + "ListChecksRequest$awsService": "

The aws service associated with the check

", + "ListOrganizationRecommendationsRequest$awsService": "

The aws service associated with the Recommendation

", + "ListRecommendationsRequest$awsService": "

The aws service associated with the Recommendation

", + "RecommendationAwsServiceList$member": null + } + }, + "RecommendationAwsServiceList": { + "base": null, + "refs": { + "CheckSummary$awsServices": "

The AWS Services that the Check applies to

", + "OrganizationRecommendation$awsServices": "

The AWS Services that the Recommendation applies to

", + "OrganizationRecommendationSummary$awsServices": "

The AWS Services that the Recommendation applies to

", + "Recommendation$awsServices": "

The AWS Services that the Recommendation applies to

", + "RecommendationSummary$awsServices": "

The AWS Services that the Recommendation applies to

" + } + }, + "RecommendationCostOptimizingAggregates": { + "base": "

Cost optimizing aggregates for a Recommendation

", + "refs": { + "RecommendationPillarSpecificAggregates$costOptimizing": "

Cost optimizing aggregates

" + } + }, + "RecommendationLanguage": { + "base": null, + "refs": { + "ListChecksRequest$language": "

The ISO 639-1 code for the language that you want your checks to appear in.

" + } + }, + "RecommendationLifecycleStage": { + "base": null, + "refs": { + "AccountRecommendationLifecycleSummary$lifecycleStage": "

The lifecycle stage from AWS Trusted Advisor Priority

", + "OrganizationRecommendation$lifecycleStage": "

The lifecycle stage from AWS Trusted Advisor Priority

", + "OrganizationRecommendationSummary$lifecycleStage": "

The lifecycle stage from AWS Trusted Advisor Priority

", + "Recommendation$lifecycleStage": "

The lifecycle stage from AWS Trusted Advisor Priority

", + "RecommendationSummary$lifecycleStage": "

The lifecycle stage from AWS Trusted Advisor Priority

" + } + }, + "RecommendationPillar": { + "base": null, + "refs": { + "ListChecksRequest$pillar": "

The pillar of the check

", + "ListOrganizationRecommendationsRequest$pillar": "

The pillar of the Recommendation

", + "ListRecommendationsRequest$pillar": "

The pillar of the Recommendation

", + "RecommendationPillarList$member": null + } + }, + "RecommendationPillarList": { + "base": null, + "refs": { + "CheckSummary$pillars": "

The Recommendation pillars that the AWS Trusted Advisor Check falls under

", + "OrganizationRecommendation$pillars": "

The Pillars that the Recommendation is optimizing

", + "OrganizationRecommendationSummary$pillars": "

The Pillars that the Recommendation is optimizing

", + "Recommendation$pillars": "

The Pillars that the Recommendation is optimizing

", + "RecommendationSummary$pillars": "

The Pillars that the Recommendation is optimizing

" + } + }, + "RecommendationPillarSpecificAggregates": { + "base": "

Recommendation pillar aggregates

", + "refs": { + "OrganizationRecommendation$pillarSpecificAggregates": "

The pillar aggregations for cost savings

", + "OrganizationRecommendationSummary$pillarSpecificAggregates": "

The pillar aggregations for cost savings

", + "Recommendation$pillarSpecificAggregates": "

The pillar aggregations for cost savings

", + "RecommendationSummary$pillarSpecificAggregates": "

The pillar aggregations for cost savings

" + } + }, + "RecommendationRegionCode": { + "base": null, + "refs": { + "OrganizationRecommendationResourceSummary$regionCode": "

The AWS Region code that the Recommendation Resource is in

", + "RecommendationResourceSummary$regionCode": "

The AWS Region code that the Recommendation Resource is in

" + } + }, + "RecommendationResourceArn": { + "base": null, + "refs": { + "OrganizationRecommendationResourceSummary$arn": "

The ARN of the Recommendation Resource

", + "RecommendationResourceSummary$arn": "

The ARN of the Recommendation Resource

" + } + }, + "RecommendationResourceSummary": { + "base": "

Summary of a Recommendation Resource

", + "refs": { + "RecommendationResourceSummaryList$member": null + } + }, + "RecommendationResourceSummaryList": { + "base": null, + "refs": { + "ListRecommendationResourcesResponse$recommendationResourceSummaries": "

A list of Recommendation Resources

" + } + }, + "RecommendationResourcesAggregates": { + "base": "

Aggregation of Recommendation Resources

", + "refs": { + "OrganizationRecommendation$resourcesAggregates": "

An aggregation of all resources

", + "OrganizationRecommendationSummary$resourcesAggregates": "

An aggregation of all resources

", + "Recommendation$resourcesAggregates": "

An aggregation of all resources

", + "RecommendationSummary$resourcesAggregates": "

An aggregation of all resources

" + } + }, + "RecommendationSource": { + "base": null, + "refs": { + "CheckSummary$source": "

The source of the Recommendation

", + "ListChecksRequest$source": "

The source of the check

", + "ListOrganizationRecommendationsRequest$source": "

The source of the Recommendation

", + "ListRecommendationsRequest$source": "

The source of the Recommendation

", + "OrganizationRecommendation$source": "

The source of the Recommendation

", + "OrganizationRecommendationSummary$source": "

The source of the Recommendation

", + "Recommendation$source": "

The source of the Recommendation

", + "RecommendationSummary$source": "

The source of the Recommendation

" + } + }, + "RecommendationStatus": { + "base": null, + "refs": { + "ListOrganizationRecommendationsRequest$status": "

The status of the Recommendation

", + "ListRecommendationsRequest$status": "

The status of the Recommendation

", + "OrganizationRecommendation$status": "

The status of the Recommendation

", + "OrganizationRecommendationSummary$status": "

The status of the Recommendation

", + "Recommendation$status": "

The status of the Recommendation

", + "RecommendationSummary$status": "

The status of the Recommendation

" + } + }, + "RecommendationSummary": { + "base": "

Summary of Recommendation for an Account

", + "refs": { + "RecommendationSummaryList$member": null + } + }, + "RecommendationSummaryList": { + "base": null, + "refs": { + "ListRecommendationsResponse$recommendationSummaries": "

The list of Recommendations

" + } + }, + "RecommendationType": { + "base": null, + "refs": { + "ListOrganizationRecommendationsRequest$type": "

The type of the Recommendation

", + "ListRecommendationsRequest$type": "

The type of the Recommendation

", + "OrganizationRecommendation$type": "

Whether the Recommendation was automated or generated by AWS Trusted Advisor Priority

", + "OrganizationRecommendationSummary$type": "

Whether the Recommendation was automated or generated by AWS Trusted Advisor Priority

", + "Recommendation$type": "

Whether the Recommendation was automated or generated by AWS Trusted Advisor Priority

", + "RecommendationSummary$type": "

Whether the Recommendation was automated or generated by AWS Trusted Advisor Priority

" + } + }, + "RecommendationUpdateReason": { + "base": null, + "refs": { + "AccountRecommendationLifecycleSummary$updateReason": "

Reason for the lifecycle stage change

", + "OrganizationRecommendation$updateReason": "

Reason for the lifecycle stage change

", + "Recommendation$updateReason": "

Reason for the lifecycle stage change

", + "UpdateOrganizationRecommendationLifecycleRequest$updateReason": "

Reason for the lifecycle stage change

", + "UpdateRecommendationLifecycleRequest$updateReason": "

Reason for the lifecycle stage change

" + } + }, + "ResourceNotFoundException": { + "base": "

Exception that the requested resource has not been found

", + "refs": { + } + }, + "ResourceStatus": { + "base": null, + "refs": { + "ListOrganizationRecommendationResourcesRequest$status": "

The status of the resource

", + "ListRecommendationResourcesRequest$status": "

The status of the resource

", + "OrganizationRecommendationResourceSummary$status": "

The current status of the Recommendation Resource

", + "RecommendationResourceSummary$status": "

The current status of the Recommendation Resource

" + } + }, + "String": { + "base": null, + "refs": { + "AccessDeniedException$message": null, + "AccountRecommendationLifecycleSummary$updatedOnBehalfOf": "

The person on whose behalf a Technical Account Manager (TAM) updated the recommendation. This information is only available when a Technical Account Manager takes an action on a recommendation managed by AWS Trusted Advisor Priority

", + "AccountRecommendationLifecycleSummary$updatedOnBehalfOfJobTitle": "

The job title of the person on whose behalf a Technical Account Manager (TAM) updated the recommendation. This information is only available when a Technical Account Manager takes an action on a recommendation managed by AWS Trusted Advisor Priority

", + "CheckSummary$description": "

A description of what the AWS Trusted Advisor Check is monitoring

", + "CheckSummary$id": "

The unique identifier of the AWS Trusted Advisor Check

", + "CheckSummary$name": "

The name of the AWS Trusted Advisor Check

", + "ConflictException$message": null, + "InternalServerException$message": null, + "ListOrganizationRecommendationResourcesRequest$regionCode": "

The AWS Region code of the resource

", + "ListRecommendationResourcesRequest$regionCode": "

The AWS Region code of the resource

", + "OrganizationRecommendation$checkArn": "

The AWS Trusted Advisor Check ARN that relates to the Recommendation

", + "OrganizationRecommendation$createdBy": "

The creator, if created by AWS Trusted Advisor Priority

", + "OrganizationRecommendation$description": "

A description for AWS Trusted Advisor recommendations

", + "OrganizationRecommendation$id": "

The ID which identifies where the Recommendation was produced

", + "OrganizationRecommendation$name": "

The name of the AWS Trusted Advisor Recommendation

", + "OrganizationRecommendation$updatedOnBehalfOf": "

The person on whose behalf a Technical Account Manager (TAM) updated the recommendation. This information is only available when a Technical Account Manager takes an action on a recommendation managed by AWS Trusted Advisor Priority

", + "OrganizationRecommendation$updatedOnBehalfOfJobTitle": "

The job title of the person on whose behalf a Technical Account Manager (TAM) updated the recommendation. This information is only available when a Technical Account Manager takes an action on a recommendation managed by AWS Trusted Advisor Priority

", + "OrganizationRecommendationResourceSummary$awsResourceId": "

The AWS resource identifier

", + "OrganizationRecommendationResourceSummary$id": "

The ID of the Recommendation Resource

", + "OrganizationRecommendationSummary$checkArn": "

The AWS Trusted Advisor Check ARN that relates to the Recommendation

", + "OrganizationRecommendationSummary$id": "

The ID which identifies where the Recommendation was produced

", + "OrganizationRecommendationSummary$name": "

The name of the AWS Trusted Advisor Recommendation

", + "Recommendation$checkArn": "

The AWS Trusted Advisor Check ARN that relates to the Recommendation

", + "Recommendation$createdBy": "

The creator, if created by AWS Trusted Advisor Priority

", + "Recommendation$description": "

A description for AWS Trusted Advisor recommendations

", + "Recommendation$id": "

The ID which identifies where the Recommendation was produced

", + "Recommendation$name": "

The name of the AWS Trusted Advisor Recommendation

", + "Recommendation$updatedOnBehalfOf": "

The person on whose behalf a Technical Account Manager (TAM) updated the recommendation. This information is only available when a Technical Account Manager takes an action on a recommendation managed by AWS Trusted Advisor Priority

", + "Recommendation$updatedOnBehalfOfJobTitle": "

The job title of the person on whose behalf a Technical Account Manager (TAM) updated the recommendation. This information is only available when a Technical Account Manager takes an action on a recommendation managed by AWS Trusted Advisor Priority

", + "RecommendationResourceSummary$awsResourceId": "

The AWS resource identifier

", + "RecommendationResourceSummary$id": "

The ID of the Recommendation Resource

", + "RecommendationSummary$checkArn": "

The AWS Trusted Advisor Check ARN that relates to the Recommendation

", + "RecommendationSummary$id": "

The ID which identifies where the Recommendation was produced

", + "RecommendationSummary$name": "

The name of the AWS Trusted Advisor Recommendation

", + "ResourceNotFoundException$message": null, + "StringMap$key": null, + "StringMap$value": null, + "ThrottlingException$message": null, + "ValidationException$message": null + } + }, + "StringMap": { + "base": null, + "refs": { + "CheckSummary$metadata": "

The column headings for the metadata returned in the resource

", + "OrganizationRecommendationResourceSummary$metadata": "

Metadata associated with the Recommendation Resource

", + "RecommendationResourceSummary$metadata": "

Metadata associated with the Recommendation Resource

" + } + }, + "SyntheticTimestamp_date_time": { + "base": null, + "refs": { + "AccountRecommendationLifecycleSummary$lastUpdatedAt": "

When the Recommendation was last updated

", + "OrganizationRecommendation$createdAt": "

When the Recommendation was created, if created by AWS Trusted Advisor Priority

", + "OrganizationRecommendation$lastUpdatedAt": "

When the Recommendation was last updated

", + "OrganizationRecommendation$resolvedAt": "

When the Recommendation was resolved

", + "OrganizationRecommendationResourceSummary$lastUpdatedAt": "

When the Recommendation Resource was last updated

", + "OrganizationRecommendationSummary$createdAt": "

When the Recommendation was created, if created by AWS Trusted Advisor Priority

", + "OrganizationRecommendationSummary$lastUpdatedAt": "

When the Recommendation was last updated

", + "Recommendation$createdAt": "

When the Recommendation was created, if created by AWS Trusted Advisor Priority

", + "Recommendation$lastUpdatedAt": "

When the Recommendation was last updated

", + "Recommendation$resolvedAt": "

When the Recommendation was resolved

", + "RecommendationResourceSummary$lastUpdatedAt": "

When the Recommendation Resource was last updated

", + "RecommendationSummary$createdAt": "

When the Recommendation was created, if created by AWS Trusted Advisor Priority

", + "RecommendationSummary$lastUpdatedAt": "

When the Recommendation was last updated

" + } + }, + "ThrottlingException": { + "base": "

Exception to notify that requests are being throttled

", + "refs": { + } + }, + "Timestamp": { + "base": null, + "refs": { + "ListOrganizationRecommendationsRequest$afterLastUpdatedAt": "

After the last update of the Recommendation

", + "ListOrganizationRecommendationsRequest$beforeLastUpdatedAt": "

Before the last update of the Recommendation

", + "ListRecommendationsRequest$afterLastUpdatedAt": "

After the last update of the Recommendation

", + "ListRecommendationsRequest$beforeLastUpdatedAt": "

Before the last update of the Recommendation

" + } + }, + "UpdateOrganizationRecommendationLifecycleRequest": { + "base": null, + "refs": { + } + }, + "UpdateRecommendationLifecycleRequest": { + "base": null, + "refs": { + } + }, + "UpdateRecommendationLifecycleStage": { + "base": null, + "refs": { + "UpdateOrganizationRecommendationLifecycleRequest$lifecycleStage": "

The new lifecycle stage

", + "UpdateRecommendationLifecycleRequest$lifecycleStage": "

The new lifecycle stage

" + } + }, + "UpdateRecommendationLifecycleStageReasonCode": { + "base": null, + "refs": { + "AccountRecommendationLifecycleSummary$updateReasonCode": "

Reason code for the lifecycle state change

", + "OrganizationRecommendation$updateReasonCode": "

Reason code for the lifecycle state change

", + "Recommendation$updateReasonCode": "

Reason code for the lifecycle state change

", + "UpdateOrganizationRecommendationLifecycleRequest$updateReasonCode": "

Reason code for the lifecycle state change

", + "UpdateRecommendationLifecycleRequest$updateReasonCode": "

Reason code for the lifecycle state change

" + } + }, + "ValidationException": { + "base": "

Exception that the request failed to satisfy service constraints

", + "refs": { + } + } + } +} diff --git a/models/apis/trustedadvisor/2022-09-15/endpoint-rule-set-1.json b/models/apis/trustedadvisor/2022-09-15/endpoint-rule-set-1.json new file mode 100644 index 00000000000..879fbcde74c --- /dev/null +++ b/models/apis/trustedadvisor/2022-09-15/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://trustedadvisor-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://trustedadvisor-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://trustedadvisor.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://trustedadvisor.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/models/apis/trustedadvisor/2022-09-15/endpoint-tests-1.json b/models/apis/trustedadvisor/2022-09-15/endpoint-tests-1.json new file mode 100644 index 00000000000..39c3ae46e7d --- /dev/null +++ b/models/apis/trustedadvisor/2022-09-15/endpoint-tests-1.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://trustedadvisor-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://trustedadvisor-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://trustedadvisor.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://trustedadvisor.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://trustedadvisor-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://trustedadvisor-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://trustedadvisor.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://trustedadvisor.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://trustedadvisor-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://trustedadvisor-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://trustedadvisor.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://trustedadvisor.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://trustedadvisor-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://trustedadvisor.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://trustedadvisor-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://trustedadvisor.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/trustedadvisor/2022-09-15/examples-1.json b/models/apis/trustedadvisor/2022-09-15/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/trustedadvisor/2022-09-15/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/trustedadvisor/2022-09-15/paginators-1.json b/models/apis/trustedadvisor/2022-09-15/paginators-1.json new file mode 100644 index 00000000000..0ac4c7b0e35 --- /dev/null +++ b/models/apis/trustedadvisor/2022-09-15/paginators-1.json @@ -0,0 +1,40 @@ +{ + "pagination": { + "ListChecks": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "checkSummaries" + }, + "ListOrganizationRecommendationAccounts": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "accountRecommendationLifecycleSummaries" + }, + "ListOrganizationRecommendationResources": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "organizationRecommendationResourceSummaries" + }, + "ListOrganizationRecommendations": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "organizationRecommendationSummaries" + }, + "ListRecommendationResources": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "recommendationResourceSummaries" + }, + "ListRecommendations": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "recommendationSummaries" + } + } +} diff --git a/models/apis/verifiedpermissions/2021-12-01/api-2.json b/models/apis/verifiedpermissions/2021-12-01/api-2.json index b2ff394853c..6ca08888f27 100644 --- a/models/apis/verifiedpermissions/2021-12-01/api-2.json +++ b/models/apis/verifiedpermissions/2021-12-01/api-2.json @@ -13,6 +13,22 @@ "uid":"verifiedpermissions-2021-12-01" }, "operations":{ + "BatchIsAuthorized":{ + "name":"BatchIsAuthorized", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchIsAuthorizedInput"}, + "output":{"shape":"BatchIsAuthorizedOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, "CreateIdentitySource":{ "name":"CreateIdentitySource", "http":{ @@ -472,6 +488,58 @@ }, "union":true }, + "BatchIsAuthorizedInput":{ + "type":"structure", + "required":[ + "policyStoreId", + "requests" + ], + "members":{ + "policyStoreId":{"shape":"PolicyStoreId"}, + "entities":{"shape":"EntitiesDefinition"}, + "requests":{"shape":"BatchIsAuthorizedInputList"} + } + }, + "BatchIsAuthorizedInputItem":{ + "type":"structure", + "members":{ + "principal":{"shape":"EntityIdentifier"}, + "action":{"shape":"ActionIdentifier"}, + "resource":{"shape":"EntityIdentifier"}, + "context":{"shape":"ContextDefinition"} + } + }, + "BatchIsAuthorizedInputList":{ + "type":"list", + "member":{"shape":"BatchIsAuthorizedInputItem"}, + "min":1 + }, + "BatchIsAuthorizedOutput":{ + "type":"structure", + "required":["results"], + "members":{ + "results":{"shape":"BatchIsAuthorizedOutputList"} + } + }, + "BatchIsAuthorizedOutputItem":{ + "type":"structure", + "required":[ + "request", + "decision", + "determiningPolicies", + "errors" + ], + "members":{ + "request":{"shape":"BatchIsAuthorizedInputItem"}, + "decision":{"shape":"Decision"}, + "determiningPolicies":{"shape":"DeterminingPolicyList"}, + "errors":{"shape":"EvaluationErrorList"} + } + }, + "BatchIsAuthorizedOutputList":{ + "type":"list", + "member":{"shape":"BatchIsAuthorizedOutputItem"} + }, "Boolean":{ "type":"boolean", "box":true @@ -1408,7 +1476,7 @@ }, "SchemaJson":{ "type":"string", - "max":10000, + "max":100000, "min":1, "sensitive":true }, diff --git a/models/apis/verifiedpermissions/2021-12-01/docs-2.json b/models/apis/verifiedpermissions/2021-12-01/docs-2.json index f17a02166c8..0fc1b1aeb77 100644 --- a/models/apis/verifiedpermissions/2021-12-01/docs-2.json +++ b/models/apis/verifiedpermissions/2021-12-01/docs-2.json @@ -2,6 +2,7 @@ "version": "2.0", "service": "

Amazon Verified Permissions is a permissions management service from Amazon Web Services. You can use Verified Permissions to manage permissions for your application, and authorize user access based on those permissions. Using Verified Permissions, application developers can grant access based on information about the users, resources, and requested actions. You can also evaluate additional information like group membership, attributes of the resources, and session context, such as time of request and IP addresses. Verified Permissions manages these permissions by letting you create and store authorization policies for your applications, such as consumer-facing web sites and enterprise business systems.

Verified Permissions uses Cedar as the policy language to express your permission requirements. Cedar supports both role-based access control (RBAC) and attribute-based access control (ABAC) authorization models.

For more information about configuring, administering, and using Amazon Verified Permissions in your applications, see the Amazon Verified Permissions User Guide.

For more information about the Cedar policy language, see the Cedar Policy Language Guide.

When you write Cedar policies that reference principals, resources and actions, you can define the unique identifiers used for each of those elements. We strongly recommend that you follow these best practices:

  • Use values like universally unique identifiers (UUIDs) for all principal and resource identifiers.

    For example, if user jane leaves the company, and you later let someone else use the name jane, then that new user automatically gets access to everything granted by policies that still reference User::\"jane\". Cedar can’t distinguish between the new user and the old. This applies to both principal and resource identifiers. Always use identifiers that are guaranteed unique and never reused to ensure that you don’t unintentionally grant access because of the presence of an old identifier in a policy.

    Where you use a UUID for an entity, we recommend that you follow it with the // comment specifier and the ‘friendly’ name of your entity. This helps to make your policies easier to understand. For example: principal == User::\"a1b2c3d4-e5f6-a1b2-c3d4-EXAMPLE11111\", // alice

  • Do not include personally identifying, confidential, or sensitive information as part of the unique identifier for your principals or resources. These identifiers are included in log entries shared in CloudTrail trails.

Several operations return structures that appear similar, but have different purposes. As new functionality is added to the product, the structure used in a parameter of one operation might need to change in a way that wouldn't make sense for the same parameter in a different operation. To help you understand the purpose of each, the following naming convention is used for the structures:

  • Parameter type structures that end in Detail are used in Get operations.

  • Parameter type structures that end in Item are used in List operations.

  • Parameter type structures that use neither suffix are used in the mutating (create and update) operations.

", "operations": { + "BatchIsAuthorized": "

Makes a series of decisions about multiple authorization requests for one principal or resource. Each request contains the equivalent content of an IsAuthorized request: principal, action, resource, and context. Either the principal or the resource parameter must be identical across all requests. For example, Verified Permissions won't evaluate a pair of requests where bob views photo1 and alice views photo2. Authorization of bob to view photo1 and photo2, or bob and alice to view photo1, are valid batches.

The request is evaluated against all policies in the specified policy store that match the entities that you declare. The result of the decisions is a series of Allow or Deny responses, along with the IDs of the policies that produced each decision.

The entities of a BatchIsAuthorized API request can contain up to 100 principals and up to 100 resources. The requests of a BatchIsAuthorized API request can contain up to 30 requests.

", "CreateIdentitySource": "

Creates a reference to an Amazon Cognito user pool as an external identity provider (IdP).

After you create an identity source, you can use the identities provided by the IdP as proxies for the principal in authorization queries that use the IsAuthorizedWithToken operation. These identities take the form of tokens that contain claims about the user, such as IDs, attributes and group memberships. Amazon Cognito provides both identity tokens and access tokens, and Verified Permissions can use either or both. Any combination of identity and access tokens results in the same Cedar principal. Verified Permissions automatically translates the information about the identities into the standard Cedar attributes that can be evaluated by your policies. Because the Amazon Cognito identity and access tokens can contain different information, the tokens you choose to use determine which principal attributes are available to access when evaluating Cedar policies.

If you delete a Amazon Cognito user pool or user, tokens from that deleted pool or that deleted user continue to be usable until they expire.

To reference a user from this identity source in your Cedar policies, use the following syntax.

IdentityType::\"<CognitoUserPoolIdentifier>|<CognitoClientId>

Where IdentityType is the string that you provide to the PrincipalEntityType parameter for this operation. The CognitoUserPoolId and CognitoClientId are defined by the Amazon Cognito user pool.

Verified Permissions is eventually consistent . It can take a few seconds for a new or changed element to be propagate through the service and be visible in the results of other Verified Permissions operations.

", "CreatePolicy": "

Creates a Cedar policy and saves it in the specified policy store. You can create either a static policy or a policy linked to a policy template.

  • To create a static policy, provide the Cedar policy text in the StaticPolicy section of the PolicyDefinition.

  • To create a policy that is dynamically linked to a policy template, specify the policy template ID and the principal and resource to associate with this policy in the templateLinked section of the PolicyDefinition. If the policy template is ever updated, any policies linked to the policy template automatically use the updated template.

Creating a policy causes it to be validated against the schema in the policy store. If the policy doesn't pass validation, the operation fails and the policy isn't stored.

Verified Permissions is eventually consistent . It can take a few seconds for a new or changed element to be propagate through the service and be visible in the results of other Verified Permissions operations.

", "CreatePolicyStore": "

Creates a policy store. A policy store is a container for policy resources.

Although Cedar supports multiple namespaces, Verified Permissions currently supports only one namespace per policy store.

Verified Permissions is eventually consistent . It can take a few seconds for a new or changed element to be propagate through the service and be visible in the results of other Verified Permissions operations.

", @@ -40,8 +41,9 @@ } }, "ActionIdentifier": { - "base": "

Contains information about an action for a request for which an authorization decision is made.

This data type is used as an request parameter to the IsAuthorized and IsAuthorizedWithToken operations.

Example: { \"actionId\": \"<action name>\", \"actionType\": \"Action\" }

", + "base": "

Contains information about an action for a request for which an authorization decision is made.

This data type is used as a request parameter to the IsAuthorized, BatchIsAuthorized, and IsAuthorizedWithToken operations.

Example: { \"actionId\": \"<action name>\", \"actionType\": \"Action\" }

", "refs": { + "BatchIsAuthorizedInputItem$action": "

Specifies the requested action to be authorized. For example, is the principal authorized to perform this action on the resource?

", "IsAuthorizedInput$action": "

Specifies the requested action to be authorized. For example, is the principal authorized to perform this action on the resource?

", "IsAuthorizedWithTokenInput$action": "

Specifies the requested action to be authorized. Is the specified principal authorized to perform this action on the specified resource.

" } @@ -53,7 +55,7 @@ } }, "AttributeValue": { - "base": "

The value of an attribute.

Contains information about the runtime context for a request for which an authorization decision is made.

This data type is used as a member of the ContextDefinition structure which is uses as a request parameter for the IsAuthorized and IsAuthorizedWithToken operations.

", + "base": "

The value of an attribute.

Contains information about the runtime context for a request for which an authorization decision is made.

This data type is used as a member of the ContextDefinition structure which is uses as a request parameter for the IsAuthorized, BatchIsAuthorized, and IsAuthorizedWithToken operations.

", "refs": { "ContextMap$value": null, "EntityAttributes$value": null, @@ -61,6 +63,41 @@ "SetAttribute$member": null } }, + "BatchIsAuthorizedInput": { + "base": null, + "refs": { + } + }, + "BatchIsAuthorizedInputItem": { + "base": "

An authorization request that you include in a BatchIsAuthorized API request.

", + "refs": { + "BatchIsAuthorizedInputList$member": null, + "BatchIsAuthorizedOutputItem$request": "

The authorization request that initiated the decision.

" + } + }, + "BatchIsAuthorizedInputList": { + "base": null, + "refs": { + "BatchIsAuthorizedInput$requests": "

An array of up to 30 requests that you want Verified Permissions to evaluate.

" + } + }, + "BatchIsAuthorizedOutput": { + "base": null, + "refs": { + } + }, + "BatchIsAuthorizedOutputItem": { + "base": "

The decision, based on policy evaluation, from an individual authorization request in a BatchIsAuthorized API request.

", + "refs": { + "BatchIsAuthorizedOutputList$member": null + } + }, + "BatchIsAuthorizedOutputList": { + "base": null, + "refs": { + "BatchIsAuthorizedOutput$results": "

A series of Allow or Deny decisions for each request, and the policies that produced them.

" + } + }, "Boolean": { "base": null, "refs": { @@ -106,8 +143,9 @@ } }, "ContextDefinition": { - "base": "

Contains additional details about the context of the request. Verified Permissions evaluates this information in an authorization request as part of the when and unless clauses in a policy.

This data type is used as a request parameter for the IsAuthorized and IsAuthorizedWithToken operations.

Example: \"context\":{\"Context\":{\"<KeyName1>\":{\"boolean\":true},\"<KeyName2>\":{\"long\":1234}}}

", + "base": "

Contains additional details about the context of the request. Verified Permissions evaluates this information in an authorization request as part of the when and unless clauses in a policy.

This data type is used as a request parameter for the IsAuthorized, BatchIsAuthorized, and IsAuthorizedWithToken operations.

Example: \"context\":{\"contextMap\":{\"<KeyName1>\":{\"boolean\":true},\"<KeyName2>\":{\"long\":1234}}}

", "refs": { + "BatchIsAuthorizedInputItem$context": "

Specifies additional context that can be used to make more granular authorization decisions.

", "IsAuthorizedInput$context": "

Specifies additional context that can be used to make more granular authorization decisions.

", "IsAuthorizedWithTokenInput$context": "

Specifies additional context that can be used to make more granular authorization decisions.

" } @@ -115,7 +153,7 @@ "ContextMap": { "base": null, "refs": { - "ContextDefinition$contextMap": "

An list of attributes that are needed to successfully evaluate an authorization request. Each attribute in this array must include a map of a data type and its value.

Example: \"Context\":{\"<KeyName1>\":{\"boolean\":true},\"<KeyName2>\":{\"long\":1234}}

" + "ContextDefinition$contextMap": "

An list of attributes that are needed to successfully evaluate an authorization request. Each attribute in this array must include a map of a data type and its value.

Example: \"contextMap\":{\"<KeyName1>\":{\"boolean\":true},\"<KeyName2>\":{\"long\":1234}}

" } }, "CreateIdentitySourceInput": { @@ -161,6 +199,7 @@ "Decision": { "base": null, "refs": { + "BatchIsAuthorizedOutputItem$decision": "

An authorization decision that indicates if the authorization request should be allowed or denied.

", "IsAuthorizedOutput$decision": "

An authorization decision that indicates if the authorization request should be allowed or denied.

", "IsAuthorizedWithTokenOutput$decision": "

An authorization decision that indicates if the authorization request should be allowed or denied.

" } @@ -206,7 +245,7 @@ } }, "DeterminingPolicyItem": { - "base": "

Contains information about one of the policies that determined an authorization decision.

This data type is used as an element in a response parameter for the IsAuthorized and IsAuthorizedWithToken operations.

Example: \"determiningPolicies\":[{\"policyId\":\"SPEXAMPLEabcdefg111111\"}]

", + "base": "

Contains information about one of the policies that determined an authorization decision.

This data type is used as an element in a response parameter for the IsAuthorized, BatchIsAuthorized, and IsAuthorizedWithToken operations.

Example: \"determiningPolicies\":[{\"policyId\":\"SPEXAMPLEabcdefg111111\"}]

", "refs": { "DeterminingPolicyList$member": null } @@ -214,6 +253,7 @@ "DeterminingPolicyList": { "base": null, "refs": { + "BatchIsAuthorizedOutputItem$determiningPolicies": "

The list of determining policies used to make the authorization decision. For example, if there are two matching policies, where one is a forbid and the other is a permit, then the forbid policy will be the determining policy. In the case of multiple matching permit policies then there would be multiple determining policies. In the case that no policies match, and hence the response is DENY, there would be no determining policies.

", "IsAuthorizedOutput$determiningPolicies": "

The list of determining policies used to make the authorization decision. For example, if there are two matching policies, where one is a forbid and the other is a permit, then the forbid policy will be the determining policy. In the case of multiple matching permit policies then there would be multiple determining policies. In the case that no policies match, and hence the response is DENY, there would be no determining policies.

", "IsAuthorizedWithTokenOutput$determiningPolicies": "

The list of determining policies used to make the authorization decision. For example, if there are multiple matching policies, where at least one is a forbid policy, then because forbid always overrides permit the forbid policies are the determining policies. If all matching policies are permit policies, then those policies are the determining policies. When no policies match and the response is the default DENY, there are no determining policies.

" } @@ -228,6 +268,7 @@ "EntitiesDefinition": { "base": "

Contains the list of entities to be considered during an authorization request. This includes all principals, resources, and actions required to successfully evaluate the request.

This data type is used as a field in the response parameter for the IsAuthorized and IsAuthorizedWithToken operations.

", "refs": { + "BatchIsAuthorizedInput$entities": "

Specifies the list of resources and principals and their associated attributes that Verified Permissions can examine when evaluating the policies.

You can include only principal and resource entities in this parameter; you can't include actions. You must specify actions in the schema.

", "IsAuthorizedInput$entities": "

Specifies the list of resources and principals and their associated attributes that Verified Permissions can examine when evaluating the policies.

You can include only principal and resource entities in this parameter; you can't include actions. You must specify actions in the schema.

", "IsAuthorizedWithTokenInput$entities": "

Specifies the list of resources and their associated attributes that Verified Permissions can examine when evaluating the policies.

You can include only resource and action entities in this parameter; you can't include principals.

  • The IsAuthorizedWithToken operation takes principal attributes from only the identityToken or accessToken passed to the operation.

  • For action entities, you can include only their Identifier and EntityType.

" } @@ -248,6 +289,8 @@ "base": "

Contains the identifier of an entity, including its ID and type.

This data type is used as a request parameter for IsAuthorized operation, and as a response parameter for the CreatePolicy, GetPolicy, and UpdatePolicy operations.

Example: {\"entityId\":\"string\",\"entityType\":\"string\"}

", "refs": { "AttributeValue$entityIdentifier": "

An attribute value of type EntityIdentifier.

Example: \"entityIdentifier\": { \"entityId\": \"<id>\", \"entityType\": \"<entity type>\"}

", + "BatchIsAuthorizedInputItem$principal": "

Specifies the principal for which the authorization decision is to be made.

", + "BatchIsAuthorizedInputItem$resource": "

Specifies the resource for which the authorization decision is to be made.

", "CreatePolicyOutput$principal": "

The principal specified in the new policy's scope. This response element isn't present when principal isn't specified in the policy content.

", "CreatePolicyOutput$resource": "

The resource specified in the new policy's scope. This response element isn't present when the resource isn't specified in the policy content.

", "EntityItem$identifier": "

The identifier of the entity.

", @@ -296,7 +339,7 @@ } }, "EvaluationErrorItem": { - "base": "

Contains a description of an evaluation error.

This data type is used as a request parameter in the IsAuthorized and IsAuthorizedWithToken operations.

", + "base": "

Contains a description of an evaluation error.

This data type is a response parameter of the IsAuthorized, BatchIsAuthorized, and IsAuthorizedWithToken operations.

", "refs": { "EvaluationErrorList$member": null } @@ -304,6 +347,7 @@ "EvaluationErrorList": { "base": null, "refs": { + "BatchIsAuthorizedOutputItem$errors": "

Errors that occurred while making an authorization decision, for example, a policy references an Entity or entity Attribute that does not exist in the slice.

", "IsAuthorizedOutput$errors": "

Errors that occurred while making an authorization decision, for example, a policy references an Entity or entity Attribute that does not exist in the slice.

", "IsAuthorizedWithTokenOutput$errors": "

Errors that occurred while making an authorization decision. For example, a policy references an entity or entity attribute that does not exist in the slice.

" } @@ -601,6 +645,7 @@ "PolicyStoreId": { "base": null, "refs": { + "BatchIsAuthorizedInput$policyStoreId": "

Specifies the ID of the policy store. Policies in this policy store will be used to make the authorization decisions for the input.

", "CreateIdentitySourceInput$policyStoreId": "

Specifies the ID of the policy store in which you want to store this identity source. Only policies and requests made using this policy store can reference identities from the identity provider configured in the new identity source.

", "CreateIdentitySourceOutput$policyStoreId": "

The ID of the policy store that contains the identity source.

", "CreatePolicyInput$policyStoreId": "

Specifies the PolicyStoreId of the policy store you want to store the policy in.

", diff --git a/models/apis/wisdom/2020-10-19/api-2.json b/models/apis/wisdom/2020-10-19/api-2.json index 4439be5418f..76ff1c517cb 100644 --- a/models/apis/wisdom/2020-10-19/api-2.json +++ b/models/apis/wisdom/2020-10-19/api-2.json @@ -82,6 +82,24 @@ ], "idempotent":true }, + "CreateQuickResponse":{ + "name":"CreateQuickResponse", + "http":{ + "method":"POST", + "requestUri":"/knowledgeBases/{knowledgeBaseId}/quickResponses", + "responseCode":200 + }, + "input":{"shape":"CreateQuickResponseRequest"}, + "output":{"shape":"CreateQuickResponseResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, "CreateSession":{ "name":"CreateSession", "http":{ @@ -146,6 +164,23 @@ ], "idempotent":true }, + "DeleteImportJob":{ + "name":"DeleteImportJob", + "http":{ + "method":"DELETE", + "requestUri":"/knowledgeBases/{knowledgeBaseId}/importJobs/{importJobId}", + "responseCode":204 + }, + "input":{"shape":"DeleteImportJobRequest"}, + "output":{"shape":"DeleteImportJobResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, "DeleteKnowledgeBase":{ "name":"DeleteKnowledgeBase", "http":{ @@ -163,6 +198,22 @@ ], "idempotent":true }, + "DeleteQuickResponse":{ + "name":"DeleteQuickResponse", + "http":{ + "method":"DELETE", + "requestUri":"/knowledgeBases/{knowledgeBaseId}/quickResponses/{quickResponseId}", + "responseCode":204 + }, + "input":{"shape":"DeleteQuickResponseRequest"}, + "output":{"shape":"DeleteQuickResponseResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, "GetAssistant":{ "name":"GetAssistant", "http":{ @@ -223,6 +274,21 @@ {"shape":"ResourceNotFoundException"} ] }, + "GetImportJob":{ + "name":"GetImportJob", + "http":{ + "method":"GET", + "requestUri":"/knowledgeBases/{knowledgeBaseId}/importJobs/{importJobId}", + "responseCode":200 + }, + "input":{"shape":"GetImportJobRequest"}, + "output":{"shape":"GetImportJobResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "GetKnowledgeBase":{ "name":"GetKnowledgeBase", "http":{ @@ -238,6 +304,21 @@ {"shape":"ResourceNotFoundException"} ] }, + "GetQuickResponse":{ + "name":"GetQuickResponse", + "http":{ + "method":"GET", + "requestUri":"/knowledgeBases/{knowledgeBaseId}/quickResponses/{quickResponseId}", + "responseCode":200 + }, + "input":{"shape":"GetQuickResponseRequest"}, + "output":{"shape":"GetQuickResponseResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "GetRecommendations":{ "name":"GetRecommendations", "http":{ @@ -312,6 +393,20 @@ {"shape":"ResourceNotFoundException"} ] }, + "ListImportJobs":{ + "name":"ListImportJobs", + "http":{ + "method":"GET", + "requestUri":"/knowledgeBases/{knowledgeBaseId}/importJobs", + "responseCode":200 + }, + "input":{"shape":"ListImportJobsRequest"}, + "output":{"shape":"ListImportJobsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ] + }, "ListKnowledgeBases":{ "name":"ListKnowledgeBases", "http":{ @@ -326,6 +421,21 @@ {"shape":"AccessDeniedException"} ] }, + "ListQuickResponses":{ + "name":"ListQuickResponses", + "http":{ + "method":"GET", + "requestUri":"/knowledgeBases/{knowledgeBaseId}/quickResponses", + "responseCode":200 + }, + "input":{"shape":"ListQuickResponsesRequest"}, + "output":{"shape":"ListQuickResponsesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ @@ -365,6 +475,7 @@ "input":{"shape":"QueryAssistantRequest"}, "output":{"shape":"QueryAssistantResponse"}, "errors":[ + {"shape":"RequestTimeoutException"}, {"shape":"ValidationException"}, {"shape":"AccessDeniedException"}, {"shape":"ResourceNotFoundException"} @@ -400,6 +511,22 @@ {"shape":"ResourceNotFoundException"} ] }, + "SearchQuickResponses":{ + "name":"SearchQuickResponses", + "http":{ + "method":"POST", + "requestUri":"/knowledgeBases/{knowledgeBaseId}/search/quickResponses", + "responseCode":200 + }, + "input":{"shape":"SearchQuickResponsesRequest"}, + "output":{"shape":"SearchQuickResponsesResponse"}, + "errors":[ + {"shape":"RequestTimeoutException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "SearchSessions":{ "name":"SearchSessions", "http":{ @@ -430,6 +557,24 @@ {"shape":"ResourceNotFoundException"} ] }, + "StartImportJob":{ + "name":"StartImportJob", + "http":{ + "method":"POST", + "requestUri":"/knowledgeBases/{knowledgeBaseId}/importJobs", + "responseCode":200 + }, + "input":{"shape":"StartImportJobRequest"}, + "output":{"shape":"StartImportJobResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, "TagResource":{ "name":"TagResource", "http":{ @@ -489,6 +634,23 @@ {"shape":"AccessDeniedException"}, {"shape":"ResourceNotFoundException"} ] + }, + "UpdateQuickResponse":{ + "name":"UpdateQuickResponse", + "http":{ + "method":"POST", + "requestUri":"/knowledgeBases/{knowledgeBaseId}/quickResponses/{quickResponseId}", + "responseCode":200 + }, + "input":{"shape":"UpdateQuickResponseRequest"}, + "output":{"shape":"UpdateQuickResponseResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"PreconditionFailedException"}, + {"shape":"ResourceNotFoundException"} + ] } }, "shapes":{ @@ -648,11 +810,28 @@ "type":"boolean", "box":true }, + "Channel":{ + "type":"string", + "max":10, + "min":1, + "sensitive":true + }, + "Channels":{ + "type":"list", + "member":{"shape":"Channel"} + }, "ClientToken":{ "type":"string", "max":4096, "min":1 }, + "Configuration":{ + "type":"structure", + "members":{ + "connectConfiguration":{"shape":"ConnectConfiguration"} + }, + "union":true + }, "ConflictException":{ "type":"structure", "members":{ @@ -664,6 +843,25 @@ }, "exception":true }, + "ConnectConfiguration":{ + "type":"structure", + "members":{ + "instanceId":{"shape":"NonEmptyString"} + } + }, + "ContactAttributeKey":{"type":"string"}, + "ContactAttributeKeys":{ + "type":"list", + "member":{"shape":"ContactAttributeKey"}, + "sensitive":true + }, + "ContactAttributeValue":{"type":"string"}, + "ContactAttributes":{ + "type":"map", + "key":{"shape":"ContactAttributeKey"}, + "value":{"shape":"ContactAttributeValue"}, + "sensitive":true + }, "ContentData":{ "type":"structure", "required":[ @@ -764,7 +962,7 @@ }, "ContentType":{ "type":"string", - "pattern":"^(text/(plain|html))|(application/(pdf|vnd\\.openxmlformats-officedocument\\.wordprocessingml\\.document))|(application/x\\.wisdom-json;source=(salesforce|servicenow|zendesk))$" + "pattern":"^(text/(plain|html|csv))|(application/(pdf|vnd\\.openxmlformats-officedocument\\.wordprocessingml\\.document))|(application/x\\.wisdom-json;source=(salesforce|servicenow|zendesk))$" }, "CreateAssistantAssociationRequest":{ "type":"structure", @@ -875,6 +1073,41 @@ "knowledgeBase":{"shape":"KnowledgeBaseData"} } }, + "CreateQuickResponseRequest":{ + "type":"structure", + "required":[ + "content", + "knowledgeBaseId", + "name" + ], + "members":{ + "channels":{"shape":"Channels"}, + "clientToken":{ + "shape":"NonEmptyString", + "idempotencyToken":true + }, + "content":{"shape":"QuickResponseDataProvider"}, + "contentType":{"shape":"QuickResponseType"}, + "description":{"shape":"QuickResponseDescription"}, + "groupingConfiguration":{"shape":"GroupingConfiguration"}, + "isActive":{"shape":"Boolean"}, + "knowledgeBaseId":{ + "shape":"UuidOrArn", + "location":"uri", + "locationName":"knowledgeBaseId" + }, + "language":{"shape":"LanguageCode"}, + "name":{"shape":"QuickResponseName"}, + "shortcutKey":{"shape":"ShortCutKey"}, + "tags":{"shape":"Tags"} + } + }, + "CreateQuickResponseResponse":{ + "type":"structure", + "members":{ + "quickResponse":{"shape":"QuickResponseData"} + } + }, "CreateSessionRequest":{ "type":"structure", "required":[ @@ -966,6 +1199,30 @@ "members":{ } }, + "DeleteImportJobRequest":{ + "type":"structure", + "required":[ + "importJobId", + "knowledgeBaseId" + ], + "members":{ + "importJobId":{ + "shape":"Uuid", + "location":"uri", + "locationName":"importJobId" + }, + "knowledgeBaseId":{ + "shape":"UuidOrArn", + "location":"uri", + "locationName":"knowledgeBaseId" + } + } + }, + "DeleteImportJobResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteKnowledgeBaseRequest":{ "type":"structure", "required":["knowledgeBaseId"], @@ -982,6 +1239,30 @@ "members":{ } }, + "DeleteQuickResponseRequest":{ + "type":"structure", + "required":[ + "knowledgeBaseId", + "quickResponseId" + ], + "members":{ + "knowledgeBaseId":{ + "shape":"UuidOrArn", + "location":"uri", + "locationName":"knowledgeBaseId" + }, + "quickResponseId":{ + "shape":"UuidOrArn", + "location":"uri", + "locationName":"quickResponseId" + } + } + }, + "DeleteQuickResponseResponse":{ + "type":"structure", + "members":{ + } + }, "Description":{ "type":"string", "max":255, @@ -1004,6 +1285,21 @@ "text":{"shape":"SensitiveString"} } }, + "ExternalSource":{ + "type":"string", + "enum":["AMAZON_CONNECT"] + }, + "ExternalSourceConfiguration":{ + "type":"structure", + "required":[ + "configuration", + "source" + ], + "members":{ + "configuration":{"shape":"Configuration"}, + "source":{"shape":"ExternalSource"} + } + }, "Filter":{ "type":"structure", "required":[ @@ -1127,6 +1423,31 @@ "contentSummary":{"shape":"ContentSummary"} } }, + "GetImportJobRequest":{ + "type":"structure", + "required":[ + "importJobId", + "knowledgeBaseId" + ], + "members":{ + "importJobId":{ + "shape":"Uuid", + "location":"uri", + "locationName":"importJobId" + }, + "knowledgeBaseId":{ + "shape":"UuidOrArn", + "location":"uri", + "locationName":"knowledgeBaseId" + } + } + }, + "GetImportJobResponse":{ + "type":"structure", + "members":{ + "importJob":{"shape":"ImportJobData"} + } + }, "GetKnowledgeBaseRequest":{ "type":"structure", "required":["knowledgeBaseId"], @@ -1144,6 +1465,31 @@ "knowledgeBase":{"shape":"KnowledgeBaseData"} } }, + "GetQuickResponseRequest":{ + "type":"structure", + "required":[ + "knowledgeBaseId", + "quickResponseId" + ], + "members":{ + "knowledgeBaseId":{ + "shape":"UuidOrArn", + "location":"uri", + "locationName":"knowledgeBaseId" + }, + "quickResponseId":{ + "shape":"UuidOrArn", + "location":"uri", + "locationName":"quickResponseId" + } + } + }, + "GetQuickResponseResponse":{ + "type":"structure", + "members":{ + "quickResponse":{"shape":"QuickResponseData"} + } + }, "GetRecommendationsRequest":{ "type":"structure", "required":[ @@ -1206,6 +1552,29 @@ "session":{"shape":"SessionData"} } }, + "GroupingConfiguration":{ + "type":"structure", + "members":{ + "criteria":{"shape":"GroupingCriteria"}, + "values":{"shape":"GroupingValues"} + } + }, + "GroupingCriteria":{ + "type":"string", + "max":100, + "min":1, + "sensitive":true + }, + "GroupingValue":{ + "type":"string", + "max":2048, + "min":1, + "sensitive":true + }, + "GroupingValues":{ + "type":"list", + "member":{"shape":"GroupingValue"} + }, "Headers":{ "type":"map", "key":{"shape":"NonEmptyString"}, @@ -1223,11 +1592,85 @@ "type":"list", "member":{"shape":"Highlight"} }, - "KnowledgeBaseAssociationData":{ + "ImportJobData":{ "type":"structure", - "members":{ - "knowledgeBaseArn":{"shape":"Arn"}, - "knowledgeBaseId":{"shape":"Uuid"} + "required":[ + "createdTime", + "importJobId", + "importJobType", + "knowledgeBaseArn", + "knowledgeBaseId", + "lastModifiedTime", + "status", + "uploadId", + "url", + "urlExpiry" + ], + "members":{ + "createdTime":{"shape":"SyntheticTimestamp_epoch_seconds"}, + "externalSourceConfiguration":{"shape":"ExternalSourceConfiguration"}, + "failedRecordReport":{"shape":"Url"}, + "importJobId":{"shape":"Uuid"}, + "importJobType":{"shape":"ImportJobType"}, + "knowledgeBaseArn":{"shape":"Arn"}, + "knowledgeBaseId":{"shape":"Uuid"}, + "lastModifiedTime":{"shape":"SyntheticTimestamp_epoch_seconds"}, + "metadata":{"shape":"ContentMetadata"}, + "status":{"shape":"ImportJobStatus"}, + "uploadId":{"shape":"UploadId"}, + "url":{"shape":"Url"}, + "urlExpiry":{"shape":"SyntheticTimestamp_epoch_seconds"} + } + }, + "ImportJobList":{ + "type":"list", + "member":{"shape":"ImportJobSummary"} + }, + "ImportJobStatus":{ + "type":"string", + "enum":[ + "START_IN_PROGRESS", + "FAILED", + "COMPLETE", + "DELETE_IN_PROGRESS", + "DELETE_FAILED", + "DELETED" + ] + }, + "ImportJobSummary":{ + "type":"structure", + "required":[ + "createdTime", + "importJobId", + "importJobType", + "knowledgeBaseArn", + "knowledgeBaseId", + "lastModifiedTime", + "status", + "uploadId" + ], + "members":{ + "createdTime":{"shape":"SyntheticTimestamp_epoch_seconds"}, + "externalSourceConfiguration":{"shape":"ExternalSourceConfiguration"}, + "importJobId":{"shape":"Uuid"}, + "importJobType":{"shape":"ImportJobType"}, + "knowledgeBaseArn":{"shape":"Arn"}, + "knowledgeBaseId":{"shape":"Uuid"}, + "lastModifiedTime":{"shape":"SyntheticTimestamp_epoch_seconds"}, + "metadata":{"shape":"ContentMetadata"}, + "status":{"shape":"ImportJobStatus"}, + "uploadId":{"shape":"UploadId"} + } + }, + "ImportJobType":{ + "type":"string", + "enum":["QUICK_RESPONSES"] + }, + "KnowledgeBaseAssociationData":{ + "type":"structure", + "members":{ + "knowledgeBaseArn":{"shape":"Arn"}, + "knowledgeBaseId":{"shape":"Uuid"} } }, "KnowledgeBaseData":{ @@ -1294,9 +1737,15 @@ "type":"string", "enum":[ "EXTERNAL", - "CUSTOM" + "CUSTOM", + "QUICK_RESPONSES" ] }, + "LanguageCode":{ + "type":"string", + "max":5, + "min":2 + }, "ListAssistantAssociationsRequest":{ "type":"structure", "required":["assistantId"], @@ -1378,6 +1827,35 @@ "nextToken":{"shape":"NextToken"} } }, + "ListImportJobsRequest":{ + "type":"structure", + "required":["knowledgeBaseId"], + "members":{ + "knowledgeBaseId":{ + "shape":"UuidOrArn", + "location":"uri", + "locationName":"knowledgeBaseId" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NonEmptyString", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListImportJobsResponse":{ + "type":"structure", + "required":["importJobSummaries"], + "members":{ + "importJobSummaries":{"shape":"ImportJobList"}, + "nextToken":{"shape":"NonEmptyString"} + } + }, "ListKnowledgeBasesRequest":{ "type":"structure", "members":{ @@ -1401,6 +1879,35 @@ "nextToken":{"shape":"NonEmptyString"} } }, + "ListQuickResponsesRequest":{ + "type":"structure", + "required":["knowledgeBaseId"], + "members":{ + "knowledgeBaseId":{ + "shape":"UuidOrArn", + "location":"uri", + "locationName":"knowledgeBaseId" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NonEmptyString", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListQuickResponsesResponse":{ + "type":"structure", + "required":["quickResponseSummaries"], + "members":{ + "nextToken":{"shape":"NonEmptyString"}, + "quickResponseSummaries":{"shape":"QuickResponseSummaryList"} + } + }, "ListTagsForResourceRequest":{ "type":"structure", "required":["resourceArn"], @@ -1486,6 +1993,13 @@ "max":100, "min":1 }, + "Order":{ + "type":"string", + "enum":[ + "ASC", + "DESC" + ] + }, "PreconditionFailedException":{ "type":"structure", "members":{ @@ -1497,6 +2011,14 @@ }, "exception":true }, + "Priority":{ + "type":"string", + "enum":[ + "HIGH", + "MEDIUM", + "LOW" + ] + }, "QueryAssistantRequest":{ "type":"structure", "required":[ @@ -1536,6 +2058,262 @@ "type":"string", "sensitive":true }, + "QuickResponseContent":{ + "type":"string", + "max":1024, + "min":1, + "sensitive":true + }, + "QuickResponseContentProvider":{ + "type":"structure", + "members":{ + "content":{"shape":"QuickResponseContent"} + }, + "union":true + }, + "QuickResponseContents":{ + "type":"structure", + "members":{ + "markdown":{"shape":"QuickResponseContentProvider"}, + "plainText":{"shape":"QuickResponseContentProvider"} + } + }, + "QuickResponseData":{ + "type":"structure", + "required":[ + "contentType", + "createdTime", + "knowledgeBaseArn", + "knowledgeBaseId", + "lastModifiedTime", + "name", + "quickResponseArn", + "quickResponseId", + "status" + ], + "members":{ + "channels":{"shape":"Channels"}, + "contentType":{"shape":"QuickResponseType"}, + "contents":{"shape":"QuickResponseContents"}, + "createdTime":{"shape":"SyntheticTimestamp_epoch_seconds"}, + "description":{"shape":"QuickResponseDescription"}, + "groupingConfiguration":{"shape":"GroupingConfiguration"}, + "isActive":{"shape":"Boolean"}, + "knowledgeBaseArn":{"shape":"Arn"}, + "knowledgeBaseId":{"shape":"Uuid"}, + "language":{"shape":"LanguageCode"}, + "lastModifiedBy":{"shape":"GenericArn"}, + "lastModifiedTime":{"shape":"SyntheticTimestamp_epoch_seconds"}, + "name":{"shape":"QuickResponseName"}, + "quickResponseArn":{"shape":"Arn"}, + "quickResponseId":{"shape":"Uuid"}, + "shortcutKey":{"shape":"ShortCutKey"}, + "status":{"shape":"QuickResponseStatus"}, + "tags":{"shape":"Tags"} + } + }, + "QuickResponseDataProvider":{ + "type":"structure", + "members":{ + "content":{"shape":"QuickResponseContent"} + }, + "union":true + }, + "QuickResponseDescription":{ + "type":"string", + "max":255, + "min":1 + }, + "QuickResponseFilterField":{ + "type":"structure", + "required":[ + "name", + "operator" + ], + "members":{ + "includeNoExistence":{"shape":"Boolean"}, + "name":{"shape":"NonEmptyString"}, + "operator":{"shape":"QuickResponseFilterOperator"}, + "values":{"shape":"QuickResponseFilterValueList"} + } + }, + "QuickResponseFilterFieldList":{ + "type":"list", + "member":{"shape":"QuickResponseFilterField"}, + "max":10, + "min":0 + }, + "QuickResponseFilterOperator":{ + "type":"string", + "enum":[ + "EQUALS", + "PREFIX" + ] + }, + "QuickResponseFilterValue":{ + "type":"string", + "max":2048, + "min":1 + }, + "QuickResponseFilterValueList":{ + "type":"list", + "member":{"shape":"QuickResponseFilterValue"}, + "max":5, + "min":1 + }, + "QuickResponseName":{ + "type":"string", + "max":40, + "min":1 + }, + "QuickResponseOrderField":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{"shape":"NonEmptyString"}, + "order":{"shape":"Order"} + } + }, + "QuickResponseQueryField":{ + "type":"structure", + "required":[ + "name", + "operator", + "values" + ], + "members":{ + "allowFuzziness":{"shape":"Boolean"}, + "name":{"shape":"NonEmptyString"}, + "operator":{"shape":"QuickResponseQueryOperator"}, + "priority":{"shape":"Priority"}, + "values":{"shape":"QuickResponseQueryValueList"} + } + }, + "QuickResponseQueryFieldList":{ + "type":"list", + "member":{"shape":"QuickResponseQueryField"}, + "max":4, + "min":0 + }, + "QuickResponseQueryOperator":{ + "type":"string", + "enum":[ + "CONTAINS", + "CONTAINS_AND_PREFIX" + ] + }, + "QuickResponseQueryValue":{ + "type":"string", + "max":1024, + "min":1 + }, + "QuickResponseQueryValueList":{ + "type":"list", + "member":{"shape":"QuickResponseQueryValue"}, + "max":5, + "min":1 + }, + "QuickResponseSearchExpression":{ + "type":"structure", + "members":{ + "filters":{"shape":"QuickResponseFilterFieldList"}, + "orderOnField":{"shape":"QuickResponseOrderField"}, + "queries":{"shape":"QuickResponseQueryFieldList"} + } + }, + "QuickResponseSearchResultData":{ + "type":"structure", + "required":[ + "contentType", + "contents", + "createdTime", + "isActive", + "knowledgeBaseArn", + "knowledgeBaseId", + "lastModifiedTime", + "name", + "quickResponseArn", + "quickResponseId", + "status" + ], + "members":{ + "attributesInterpolated":{"shape":"ContactAttributeKeys"}, + "attributesNotInterpolated":{"shape":"ContactAttributeKeys"}, + "channels":{"shape":"Channels"}, + "contentType":{"shape":"QuickResponseType"}, + "contents":{"shape":"QuickResponseContents"}, + "createdTime":{"shape":"SyntheticTimestamp_epoch_seconds"}, + "description":{"shape":"QuickResponseDescription"}, + "groupingConfiguration":{"shape":"GroupingConfiguration"}, + "isActive":{"shape":"Boolean"}, + "knowledgeBaseArn":{"shape":"Arn"}, + "knowledgeBaseId":{"shape":"Uuid"}, + "language":{"shape":"LanguageCode"}, + "lastModifiedBy":{"shape":"GenericArn"}, + "lastModifiedTime":{"shape":"SyntheticTimestamp_epoch_seconds"}, + "name":{"shape":"QuickResponseName"}, + "quickResponseArn":{"shape":"Arn"}, + "quickResponseId":{"shape":"Uuid"}, + "shortcutKey":{"shape":"ShortCutKey"}, + "status":{"shape":"QuickResponseStatus"}, + "tags":{"shape":"Tags"} + } + }, + "QuickResponseSearchResultsList":{ + "type":"list", + "member":{"shape":"QuickResponseSearchResultData"} + }, + "QuickResponseStatus":{ + "type":"string", + "enum":[ + "CREATE_IN_PROGRESS", + "CREATE_FAILED", + "CREATED", + "DELETE_IN_PROGRESS", + "DELETE_FAILED", + "DELETED", + "UPDATE_IN_PROGRESS", + "UPDATE_FAILED" + ] + }, + "QuickResponseSummary":{ + "type":"structure", + "required":[ + "contentType", + "createdTime", + "knowledgeBaseArn", + "knowledgeBaseId", + "lastModifiedTime", + "name", + "quickResponseArn", + "quickResponseId", + "status" + ], + "members":{ + "channels":{"shape":"Channels"}, + "contentType":{"shape":"QuickResponseType"}, + "createdTime":{"shape":"SyntheticTimestamp_epoch_seconds"}, + "description":{"shape":"QuickResponseDescription"}, + "isActive":{"shape":"Boolean"}, + "knowledgeBaseArn":{"shape":"Arn"}, + "knowledgeBaseId":{"shape":"Uuid"}, + "lastModifiedBy":{"shape":"GenericArn"}, + "lastModifiedTime":{"shape":"SyntheticTimestamp_epoch_seconds"}, + "name":{"shape":"QuickResponseName"}, + "quickResponseArn":{"shape":"Arn"}, + "quickResponseId":{"shape":"Uuid"}, + "status":{"shape":"QuickResponseStatus"}, + "tags":{"shape":"Tags"} + } + }, + "QuickResponseSummaryList":{ + "type":"list", + "member":{"shape":"QuickResponseSummary"} + }, + "QuickResponseType":{ + "type":"string", + "pattern":"^(application/x\\.quickresponse;format=(plain|markdown))$" + }, "RecommendationData":{ "type":"structure", "required":[ @@ -1638,6 +2416,18 @@ "templateUri":{"shape":"Uri"} } }, + "RequestTimeoutException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":408, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":false} + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -1702,6 +2492,40 @@ "filters":{"shape":"FilterList"} } }, + "SearchQuickResponsesRequest":{ + "type":"structure", + "required":[ + "knowledgeBaseId", + "searchExpression" + ], + "members":{ + "attributes":{"shape":"ContactAttributes"}, + "knowledgeBaseId":{ + "shape":"UuidOrArn", + "location":"uri", + "locationName":"knowledgeBaseId" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NonEmptyString", + "location":"querystring", + "locationName":"nextToken" + }, + "searchExpression":{"shape":"QuickResponseSearchExpression"} + } + }, + "SearchQuickResponsesResponse":{ + "type":"structure", + "required":["results"], + "members":{ + "nextToken":{"shape":"NonEmptyString"}, + "results":{"shape":"QuickResponseSearchResultsList"} + } + }, "SearchSessionsRequest":{ "type":"structure", "required":[ @@ -1797,6 +2621,11 @@ "sessionId":{"shape":"Uuid"} } }, + "ShortCutKey":{ + "type":"string", + "max":10, + "min":1 + }, "SourceConfiguration":{ "type":"structure", "members":{ @@ -1816,7 +2645,8 @@ "shape":"UuidOrArn", "location":"uri", "locationName":"knowledgeBaseId" - } + }, + "presignedUrlTimeToLive":{"shape":"TimeToLive"} } }, "StartContentUploadResponse":{ @@ -1834,6 +2664,35 @@ "urlExpiry":{"shape":"SyntheticTimestamp_epoch_seconds"} } }, + "StartImportJobRequest":{ + "type":"structure", + "required":[ + "importJobType", + "knowledgeBaseId", + "uploadId" + ], + "members":{ + "clientToken":{ + "shape":"NonEmptyString", + "idempotencyToken":true + }, + "externalSourceConfiguration":{"shape":"ExternalSourceConfiguration"}, + "importJobType":{"shape":"ImportJobType"}, + "knowledgeBaseId":{ + "shape":"UuidOrArn", + "location":"uri", + "locationName":"knowledgeBaseId" + }, + "metadata":{"shape":"ContentMetadata"}, + "uploadId":{"shape":"UploadId"} + } + }, + "StartImportJobResponse":{ + "type":"structure", + "members":{ + "importJob":{"shape":"ImportJobData"} + } + }, "String":{"type":"string"}, "SyntheticTimestamp_epoch_seconds":{ "type":"timestamp", @@ -1881,6 +2740,12 @@ "key":{"shape":"TagKey"}, "value":{"shape":"TagValue"} }, + "TimeToLive":{ + "type":"integer", + "box":true, + "max":60, + "min":1 + }, "TooManyTagsException":{ "type":"structure", "members":{ @@ -1969,6 +2834,43 @@ "knowledgeBase":{"shape":"KnowledgeBaseData"} } }, + "UpdateQuickResponseRequest":{ + "type":"structure", + "required":[ + "knowledgeBaseId", + "quickResponseId" + ], + "members":{ + "channels":{"shape":"Channels"}, + "content":{"shape":"QuickResponseDataProvider"}, + "contentType":{"shape":"QuickResponseType"}, + "description":{"shape":"QuickResponseDescription"}, + "groupingConfiguration":{"shape":"GroupingConfiguration"}, + "isActive":{"shape":"Boolean"}, + "knowledgeBaseId":{ + "shape":"UuidOrArn", + "location":"uri", + "locationName":"knowledgeBaseId" + }, + "language":{"shape":"LanguageCode"}, + "name":{"shape":"QuickResponseName"}, + "quickResponseId":{ + "shape":"UuidOrArn", + "location":"uri", + "locationName":"quickResponseId" + }, + "removeDescription":{"shape":"Boolean"}, + "removeGroupingConfiguration":{"shape":"Boolean"}, + "removeShortcutKey":{"shape":"Boolean"}, + "shortcutKey":{"shape":"ShortCutKey"} + } + }, + "UpdateQuickResponseResponse":{ + "type":"structure", + "members":{ + "quickResponse":{"shape":"QuickResponseData"} + } + }, "UploadId":{ "type":"string", "max":1200, diff --git a/models/apis/wisdom/2020-10-19/docs-2.json b/models/apis/wisdom/2020-10-19/docs-2.json index 2fafb456664..9567308167d 100644 --- a/models/apis/wisdom/2020-10-19/docs-2.json +++ b/models/apis/wisdom/2020-10-19/docs-2.json @@ -6,33 +6,43 @@ "CreateAssistantAssociation": "

Creates an association between an Amazon Connect Wisdom assistant and another resource. Currently, the only supported association is with a knowledge base. An assistant can have only a single association.

", "CreateContent": "

Creates Wisdom content. Before to calling this API, use StartContentUpload to upload an asset.

", "CreateKnowledgeBase": "

Creates a knowledge base.

When using this API, you cannot reuse Amazon AppIntegrations DataIntegrations with external knowledge bases such as Salesforce and ServiceNow. If you do, you'll get an InvalidRequestException error.

For example, you're programmatically managing your external knowledge base, and you want to add or remove one of the fields that is being ingested from Salesforce. Do the following:

  1. Call DeleteKnowledgeBase.

  2. Call DeleteDataIntegration.

  3. Call CreateDataIntegration to recreate the DataIntegration or a create different one.

  4. Call CreateKnowledgeBase.

", + "CreateQuickResponse": "

Creates a Wisdom quick response.

", "CreateSession": "

Creates a session. A session is a contextual container used for generating recommendations. Amazon Connect creates a new Wisdom session for each contact on which Wisdom is enabled.

", "DeleteAssistant": "

Deletes an assistant.

", "DeleteAssistantAssociation": "

Deletes an assistant association.

", "DeleteContent": "

Deletes the content.

", + "DeleteImportJob": "

Deletes the quick response import job.

", "DeleteKnowledgeBase": "

Deletes the knowledge base.

When you use this API to delete an external knowledge base such as Salesforce or ServiceNow, you must also delete the Amazon AppIntegrations DataIntegration. This is because you can't reuse the DataIntegration after it's been associated with an external knowledge base. However, you can delete and recreate it. See DeleteDataIntegration and CreateDataIntegration in the Amazon AppIntegrations API Reference.

", + "DeleteQuickResponse": "

Deletes a quick response.

", "GetAssistant": "

Retrieves information about an assistant.

", "GetAssistantAssociation": "

Retrieves information about an assistant association.

", "GetContent": "

Retrieves content, including a pre-signed URL to download the content.

", "GetContentSummary": "

Retrieves summary information about the content.

", + "GetImportJob": "

Retrieves the started import job.

", "GetKnowledgeBase": "

Retrieves information about the knowledge base.

", + "GetQuickResponse": "

Retrieves the quick response.

", "GetRecommendations": "

Retrieves recommendations for the specified session. To avoid retrieving the same recommendations in subsequent calls, use NotifyRecommendationsReceived. This API supports long-polling behavior with the waitTimeSeconds parameter. Short poll is the default behavior and only returns recommendations already available. To perform a manual query against an assistant, use QueryAssistant.

", "GetSession": "

Retrieves information for a specified session.

", "ListAssistantAssociations": "

Lists information about assistant associations.

", "ListAssistants": "

Lists information about assistants.

", "ListContents": "

Lists the content.

", + "ListImportJobs": "

Lists information about import jobs.

", "ListKnowledgeBases": "

Lists the knowledge bases.

", + "ListQuickResponses": "

Lists information about quick response.

", "ListTagsForResource": "

Lists the tags for the specified resource.

", "NotifyRecommendationsReceived": "

Removes the specified recommendations from the specified assistant's queue of newly available recommendations. You can use this API in conjunction with GetRecommendations and a waitTimeSeconds input for long-polling behavior and avoiding duplicate recommendations.

", "QueryAssistant": "

Performs a manual search against the specified assistant. To retrieve recommendations for an assistant, use GetRecommendations.

", "RemoveKnowledgeBaseTemplateUri": "

Removes a URI template from a knowledge base.

", "SearchContent": "

Searches for content in a specified knowledge base. Can be used to get a specific content resource by its name.

", + "SearchQuickResponses": "

Searches existing Wisdom quick responses in a Wisdom knowledge base.

", "SearchSessions": "

Searches for sessions.

", "StartContentUpload": "

Get a URL to upload content to a knowledge base. To upload content, first make a PUT request to the returned URL with your file, making sure to include the required headers. Then use CreateContent to finalize the content creation process or UpdateContent to modify an existing resource. You can only upload content to a knowledge base of type CUSTOM.

", + "StartImportJob": "

Start an asynchronous job to import Wisdom resources from an uploaded source file. Before calling this API, use StartContentUpload to upload an asset that contains the resource data.

  • For importing Wisdom quick responses, you need to upload a csv file including the quick responses. For information about how to format the csv file for importing quick responses, see Import quick responses.

", "TagResource": "

Adds the specified tags to the specified resource.

", "UntagResource": "

Removes the specified tags from the specified resource.

", "UpdateContent": "

Updates information about the content.

", - "UpdateKnowledgeBaseTemplateUri": "

Updates the template URI of a knowledge base. This is only supported for knowledge bases of type EXTERNAL. Include a single variable in ${variable} format; this interpolated by Wisdom using ingested content. For example, if you ingest a Salesforce article, it has an Id value, and you can set the template URI to https://myInstanceName.lightning.force.com/lightning/r/Knowledge__kav/*${Id}*/view.

" + "UpdateKnowledgeBaseTemplateUri": "

Updates the template URI of a knowledge base. This is only supported for knowledge bases of type EXTERNAL. Include a single variable in ${variable} format; this interpolated by Wisdom using ingested content. For example, if you ingest a Salesforce article, it has an Id value, and you can set the template URI to https://myInstanceName.lightning.force.com/lightning/r/Knowledge__kav/*${Id}*/view.

", + "UpdateQuickResponse": "

Updates an existing Wisdom quick response.

" }, "shapes": { "AccessDeniedException": { @@ -61,10 +71,18 @@ "ContentReference$knowledgeBaseArn": "

The Amazon Resource Name (ARN) of the knowledge base.

", "ContentSummary$contentArn": "

The Amazon Resource Name (ARN) of the content.

", "ContentSummary$knowledgeBaseArn": "

The Amazon Resource Name (ARN) of the knowledge base.

", + "ImportJobData$knowledgeBaseArn": "

The Amazon Resource Name (ARN) of the knowledge base.

", + "ImportJobSummary$knowledgeBaseArn": "

The Amazon Resource Name (ARN) of the knowledge base.

", "KnowledgeBaseAssociationData$knowledgeBaseArn": "

The Amazon Resource Name (ARN) of the knowledge base.

", "KnowledgeBaseData$knowledgeBaseArn": "

The Amazon Resource Name (ARN) of the knowledge base.

", "KnowledgeBaseSummary$knowledgeBaseArn": "

The Amazon Resource Name (ARN) of the knowledge base.

", "ListTagsForResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource.

", + "QuickResponseData$knowledgeBaseArn": "

The Amazon Resource Name (ARN) of the knowledge base.

", + "QuickResponseData$quickResponseArn": "

The Amazon Resource Name (ARN) of the quick response.

", + "QuickResponseSearchResultData$knowledgeBaseArn": "

The Amazon Resource Name (ARN) of the knowledge base.

", + "QuickResponseSearchResultData$quickResponseArn": "

The Amazon Resource Name (ARN) of the quick response.

", + "QuickResponseSummary$knowledgeBaseArn": "

The Amazon Resource Name (ARN) of the knowledge base.

", + "QuickResponseSummary$quickResponseArn": "

The Amazon Resource Name (ARN) of the quick response.

", "SessionData$sessionArn": "

The Amazon Resource Name (ARN) of the session.

", "SessionSummary$assistantArn": "

The Amazon Resource Name (ARN) of the Wisdom assistant.

", "SessionSummary$sessionArn": "

The Amazon Resource Name (ARN) of the session.

", @@ -156,7 +174,33 @@ "Boolean": { "base": null, "refs": { - "UpdateContentRequest$removeOverrideLinkOutUri": "

Unset the existing overrideLinkOutUri if it exists.

" + "CreateQuickResponseRequest$isActive": "

Whether the quick response is active.

", + "QuickResponseData$isActive": "

Whether the quick response is active.

", + "QuickResponseFilterField$includeNoExistence": "

Whether to treat null value as a match for the attribute field.

", + "QuickResponseQueryField$allowFuzziness": "

Whether the query expects only exact matches on the attribute field values. The results of the query will only include exact matches if this parameter is set to false.

", + "QuickResponseSearchResultData$isActive": "

Whether the quick response is active.

", + "QuickResponseSummary$isActive": "

Whether the quick response is active.

", + "UpdateContentRequest$removeOverrideLinkOutUri": "

Unset the existing overrideLinkOutUri if it exists.

", + "UpdateQuickResponseRequest$isActive": "

Whether the quick response is active.

", + "UpdateQuickResponseRequest$removeDescription": "

Whether to remove the description from the quick response.

", + "UpdateQuickResponseRequest$removeGroupingConfiguration": "

Whether to remove the grouping configuration of the quick response.

", + "UpdateQuickResponseRequest$removeShortcutKey": "

Whether to remove the shortcut key of the quick response.

" + } + }, + "Channel": { + "base": null, + "refs": { + "Channels$member": null + } + }, + "Channels": { + "base": null, + "refs": { + "CreateQuickResponseRequest$channels": "

The Amazon Connect channels this quick response applies to.

", + "QuickResponseData$channels": "

The Amazon Connect contact channels this quick response applies to. The supported contact channel types include Chat.

", + "QuickResponseSearchResultData$channels": "

The Amazon Connect contact channels this quick response applies to. The supported contact channel types include Chat.

", + "QuickResponseSummary$channels": "

The Amazon Connect contact channels this quick response applies to. The supported contact channel types include Chat.

", + "UpdateQuickResponseRequest$channels": "

The Amazon Connect contact channels this quick response applies to. The supported contact channel types include Chat.

" } }, "ClientToken": { @@ -167,11 +211,49 @@ "CreateSessionRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

" } }, + "Configuration": { + "base": "

The configuration information of the external data source.

", + "refs": { + "ExternalSourceConfiguration$configuration": "

The configuration information of the external data source.

" + } + }, "ConflictException": { "base": "

The request could not be processed because of conflict in the current state of the resource. For example, if you're using a Create API (such as CreateAssistant) that accepts name, a conflicting resource (usually with the same name) is being created or mutated.

", "refs": { } }, + "ConnectConfiguration": { + "base": "

The configuration information of the Amazon Connect data source.

", + "refs": { + "Configuration$connectConfiguration": "

The configuration information of the Amazon Connect data source.

" + } + }, + "ContactAttributeKey": { + "base": null, + "refs": { + "ContactAttributeKeys$member": null, + "ContactAttributes$key": null + } + }, + "ContactAttributeKeys": { + "base": null, + "refs": { + "QuickResponseSearchResultData$attributesInterpolated": "

The user defined contact attributes that are resolved when the search result is returned.

", + "QuickResponseSearchResultData$attributesNotInterpolated": "

The user defined contact attributes that are not resolved when the search result is returned.

" + } + }, + "ContactAttributeValue": { + "base": null, + "refs": { + "ContactAttributes$value": null + } + }, + "ContactAttributes": { + "base": null, + "refs": { + "SearchQuickResponsesRequest$attributes": "

The user-defined Amazon Connect contact attributes to be resolved when search results are returned.

" + } + }, "ContentData": { "base": "

Information about the content.

", "refs": { @@ -186,6 +268,9 @@ "ContentData$metadata": "

A key/value map to store attributes without affecting tagging or recommendations. For example, when synchronizing data between an external system and Wisdom, you can store an external version identifier as metadata to utilize for determining drift.

", "ContentSummary$metadata": "

A key/value map to store attributes without affecting tagging or recommendations. For example, when synchronizing data between an external system and Wisdom, you can store an external version identifier as metadata to utilize for determining drift.

", "CreateContentRequest$metadata": "

A key/value map to store attributes without affecting tagging or recommendations. For example, when synchronizing data between an external system and Wisdom, you can store an external version identifier as metadata to utilize for determining drift.

", + "ImportJobData$metadata": "

The metadata fields of the imported Wisdom resources.

", + "ImportJobSummary$metadata": "

The metadata fields of the imported Wisdom resources.

", + "StartImportJobRequest$metadata": "

The metadata fields of the imported Wisdom resources.

", "UpdateContentRequest$metadata": "

A key/value map to store attributes without affecting tagging or recommendations. For example, when synchronizing data between an external system and Wisdom, you can store an external version identifier as metadata to utilize for determining drift.

" } }, @@ -273,6 +358,16 @@ "refs": { } }, + "CreateQuickResponseRequest": { + "base": null, + "refs": { + } + }, + "CreateQuickResponseResponse": { + "base": null, + "refs": { + } + }, "CreateSessionRequest": { "base": null, "refs": { @@ -313,6 +408,16 @@ "refs": { } }, + "DeleteImportJobRequest": { + "base": null, + "refs": { + } + }, + "DeleteImportJobResponse": { + "base": null, + "refs": { + } + }, "DeleteKnowledgeBaseRequest": { "base": null, "refs": { @@ -323,6 +428,16 @@ "refs": { } }, + "DeleteQuickResponseRequest": { + "base": null, + "refs": { + } + }, + "DeleteQuickResponseResponse": { + "base": null, + "refs": { + } + }, "Description": { "base": null, "refs": { @@ -350,6 +465,20 @@ "Document$title": "

The title of the document.

" } }, + "ExternalSource": { + "base": null, + "refs": { + "ExternalSourceConfiguration$source": "

The type of the external data source.

" + } + }, + "ExternalSourceConfiguration": { + "base": "

The configuration information of the external data source.

", + "refs": { + "ImportJobData$externalSourceConfiguration": null, + "ImportJobSummary$externalSourceConfiguration": "

The configuration information of the external source that the resource data are imported from.

", + "StartImportJobRequest$externalSourceConfiguration": "

The configuration information of the external source that the resource data are imported from.

" + } + }, "Filter": { "base": "

A search filter.

", "refs": { @@ -379,6 +508,9 @@ "refs": { "AppIntegrationsConfiguration$appIntegrationArn": "

The Amazon Resource Name (ARN) of the AppIntegrations DataIntegration to use for ingesting content.

  • For Salesforce, your AppIntegrations DataIntegration must have an ObjectConfiguration if objectFields is not provided, including at least Id, ArticleNumber, VersionNumber, Title, PublishStatus, and IsDeleted as source fields.

  • For ServiceNow, your AppIntegrations DataIntegration must have an ObjectConfiguration if objectFields is not provided, including at least number, short_description, sys_mod_count, workflow_state, and active as source fields.

  • For Zendesk, your AppIntegrations DataIntegration must have an ObjectConfiguration if objectFields is not provided, including at least id, title, updated_at, and draft as source fields.

  • For SharePoint, your AppIntegrations DataIntegration must have a FileConfiguration, including only file extensions that are among docx, pdf, html, htm, and txt.

  • For Amazon S3, the ObjectConfiguration and FileConfiguration of your AppIntegrations DataIntegration must be null. The SourceURI of your DataIntegration must use the following format: s3://your_s3_bucket_name.

    The bucket policy of the corresponding S3 bucket must allow the Amazon Web Services principal app-integrations.amazonaws.com to perform s3:ListBucket, s3:GetObject, and s3:GetBucketLocation against the bucket.

", "AssistantIntegrationConfiguration$topicIntegrationArn": "

The Amazon Resource Name (ARN) of the integrated Amazon SNS topic used for streaming chat messages.

", + "QuickResponseData$lastModifiedBy": "

The Amazon Resource Name (ARN) of the user who last updated the quick response data.

", + "QuickResponseSearchResultData$lastModifiedBy": "

The Amazon Resource Name (ARN) of the user who last updated the quick response search result data.

", + "QuickResponseSummary$lastModifiedBy": "

The Amazon Resource Name (ARN) of the user who last updated the quick response data.

", "SessionIntegrationConfiguration$topicIntegrationArn": "

The Amazon Resource Name (ARN) of the integrated Amazon SNS topic used for streaming chat messages.

" } }, @@ -422,6 +554,16 @@ "refs": { } }, + "GetImportJobRequest": { + "base": null, + "refs": { + } + }, + "GetImportJobResponse": { + "base": null, + "refs": { + } + }, "GetKnowledgeBaseRequest": { "base": null, "refs": { @@ -432,6 +574,16 @@ "refs": { } }, + "GetQuickResponseRequest": { + "base": null, + "refs": { + } + }, + "GetQuickResponseResponse": { + "base": null, + "refs": { + } + }, "GetRecommendationsRequest": { "base": null, "refs": { @@ -452,6 +604,33 @@ "refs": { } }, + "GroupingConfiguration": { + "base": "

The configuration information of the grouping of Wisdom users.

", + "refs": { + "CreateQuickResponseRequest$groupingConfiguration": "

The configuration information of the user groups that the quick response is accessible to.

", + "QuickResponseData$groupingConfiguration": "

The configuration information of the user groups that the quick response is accessible to.

", + "QuickResponseSearchResultData$groupingConfiguration": "

The configuration information of the user groups that the quick response is accessible to.

", + "UpdateQuickResponseRequest$groupingConfiguration": "

The updated grouping configuration of the quick response.

" + } + }, + "GroupingCriteria": { + "base": null, + "refs": { + "GroupingConfiguration$criteria": "

The criteria used for grouping Wisdom users.

The following is the list of supported criteria values.

" + } + }, + "GroupingValue": { + "base": null, + "refs": { + "GroupingValues$member": null + } + }, + "GroupingValues": { + "base": null, + "refs": { + "GroupingConfiguration$values": "

The list of values that define different groups of Wisdom users.

" + } + }, "Headers": { "base": null, "refs": { @@ -477,6 +656,40 @@ "DocumentText$highlights": "

Highlights in the document text.

" } }, + "ImportJobData": { + "base": "

Summary information about the import job.

", + "refs": { + "GetImportJobResponse$importJob": "

The import job.

", + "StartImportJobResponse$importJob": "

The import job.

" + } + }, + "ImportJobList": { + "base": null, + "refs": { + "ListImportJobsResponse$importJobSummaries": "

Summary information about the import jobs.

" + } + }, + "ImportJobStatus": { + "base": null, + "refs": { + "ImportJobData$status": "

The status of the import job.

", + "ImportJobSummary$status": "

The status of the import job.

" + } + }, + "ImportJobSummary": { + "base": "

Summary information about the import job.

", + "refs": { + "ImportJobList$member": null + } + }, + "ImportJobType": { + "base": null, + "refs": { + "ImportJobData$importJobType": "

The type of the import job.

", + "ImportJobSummary$importJobType": "

The type of import job.

", + "StartImportJobRequest$importJobType": "

The type of the import job.

  • For importing quick response resource, set the value to QUICK_RESPONSES.

" + } + }, "KnowledgeBaseAssociationData": { "base": "

Association information about the knowledge base.

", "refs": { @@ -518,6 +731,15 @@ "KnowledgeBaseSummary$knowledgeBaseType": "

The type of knowledge base.

" } }, + "LanguageCode": { + "base": null, + "refs": { + "CreateQuickResponseRequest$language": "

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES, fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR, zh_CN, zh_TW

", + "QuickResponseData$language": "

The language code value for the language in which the quick response is written.

", + "QuickResponseSearchResultData$language": "

The language code value for the language in which the quick response is written.

", + "UpdateQuickResponseRequest$language": "

The language code value for the language in which the quick response is written. The supported language codes include de_DE, en_US, es_ES, fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR, zh_CN, zh_TW

" + } + }, "ListAssistantAssociationsRequest": { "base": null, "refs": { @@ -548,6 +770,16 @@ "refs": { } }, + "ListImportJobsRequest": { + "base": null, + "refs": { + } + }, + "ListImportJobsResponse": { + "base": null, + "refs": { + } + }, "ListKnowledgeBasesRequest": { "base": null, "refs": { @@ -558,6 +790,16 @@ "refs": { } }, + "ListQuickResponsesRequest": { + "base": null, + "refs": { + } + }, + "ListQuickResponsesResponse": { + "base": null, + "refs": { + } + }, "ListTagsForResourceRequest": { "base": null, "refs": { @@ -575,9 +817,12 @@ "ListAssistantAssociationsRequest$maxResults": "

The maximum number of results to return per page.

", "ListAssistantsRequest$maxResults": "

The maximum number of results to return per page.

", "ListContentsRequest$maxResults": "

The maximum number of results to return per page.

", + "ListImportJobsRequest$maxResults": "

The maximum number of results to return per page.

", "ListKnowledgeBasesRequest$maxResults": "

The maximum number of results to return per page.

", + "ListQuickResponsesRequest$maxResults": "

The maximum number of results to return per page.

", "QueryAssistantRequest$maxResults": "

The maximum number of results to return per page.

", "SearchContentRequest$maxResults": "

The maximum number of results to return per page.

", + "SearchQuickResponsesRequest$maxResults": "

The maximum number of results to return per page.

", "SearchSessionsRequest$maxResults": "

The maximum number of results to return per page.

" } }, @@ -617,19 +862,31 @@ "NonEmptyString": { "base": null, "refs": { + "ConnectConfiguration$instanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "ContentData$revisionId": "

The identifier of the content revision.

", "ContentMetadata$key": null, "ContentMetadata$value": null, "ContentSummary$revisionId": "

The identifier of the revision of the content.

", "CreateContentRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", "CreateKnowledgeBaseRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", + "CreateQuickResponseRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", "Filter$value": "

The desired field value on which to filter.

", "Headers$key": null, "Headers$value": null, + "ListImportJobsRequest$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", + "ListImportJobsResponse$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", "ListKnowledgeBasesRequest$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", "ListKnowledgeBasesResponse$nextToken": "

If there are additional results, this is the token for the next set of results.

", + "ListQuickResponsesRequest$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", + "ListQuickResponsesResponse$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", "ObjectFieldsList$member": null, + "QuickResponseFilterField$name": "

The name of the attribute field to filter the quick responses by.

", + "QuickResponseOrderField$name": "

The name of the attribute to order the quick response query results by.

", + "QuickResponseQueryField$name": "

The name of the attribute to query the quick responses by.

", + "SearchQuickResponsesRequest$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", + "SearchQuickResponsesResponse$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", "ServerSideEncryptionConfiguration$kmsKeyId": "

The customer managed key used for encryption. For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance. For information about valid ID values, see Key identifiers (KeyId).

", + "StartImportJobRequest$clientToken": "

The tags used to organize, track, or control access for this resource.

", "UpdateContentRequest$revisionId": "

The revisionId of the content resource to update, taken from an earlier call to GetContent, GetContentSummary, SearchContent, or ListContents. If included, this argument acts as an optimistic lock to ensure content was not modified since it was last read. If it has been modified, this API throws a PreconditionFailedException.

" } }, @@ -667,11 +924,23 @@ "AppIntegrationsConfiguration$objectFields": "

The fields from the source that are made available to your agents in Wisdom. Optional if ObjectConfiguration is included in the provided DataIntegration.

  • For Salesforce, you must include at least Id, ArticleNumber, VersionNumber, Title, PublishStatus, and IsDeleted.

  • For ServiceNow, you must include at least number, short_description, sys_mod_count, workflow_state, and active.

  • For Zendesk, you must include at least id, title, updated_at, and draft.

Make sure to include additional fields. These fields are indexed and used to source recommendations.

" } }, + "Order": { + "base": null, + "refs": { + "QuickResponseOrderField$order": "

The order at which the quick responses are sorted by.

" + } + }, "PreconditionFailedException": { "base": "

The provided revisionId does not match, indicating the content has been modified since it was last read.

", "refs": { } }, + "Priority": { + "base": null, + "refs": { + "QuickResponseQueryField$priority": "

The importance of the attribute field when calculating query result relevancy scores. The value set for this parameter affects the ordering of search results.

" + } + }, "QueryAssistantRequest": { "base": null, "refs": { @@ -701,6 +970,176 @@ "QueryRecommendationTriggerData$text": "

The text associated with the recommendation trigger.

" } }, + "QuickResponseContent": { + "base": null, + "refs": { + "QuickResponseContentProvider$content": "

The content of the quick response.

", + "QuickResponseDataProvider$content": "

The content of the quick response.

" + } + }, + "QuickResponseContentProvider": { + "base": "

The container quick response content.

", + "refs": { + "QuickResponseContents$markdown": null, + "QuickResponseContents$plainText": null + } + }, + "QuickResponseContents": { + "base": "

The content of the quick response stored in different media types.

", + "refs": { + "QuickResponseData$contents": "

The contents of the quick response.

", + "QuickResponseSearchResultData$contents": "

The contents of the quick response.

" + } + }, + "QuickResponseData": { + "base": "

Information about the quick response.

", + "refs": { + "CreateQuickResponseResponse$quickResponse": "

The quick response.

", + "GetQuickResponseResponse$quickResponse": "

The quick response.

", + "UpdateQuickResponseResponse$quickResponse": "

The quick response.

" + } + }, + "QuickResponseDataProvider": { + "base": "

The container of quick response data.

", + "refs": { + "CreateQuickResponseRequest$content": "

The content of the quick response.

", + "UpdateQuickResponseRequest$content": "

The updated content of the quick response.

" + } + }, + "QuickResponseDescription": { + "base": null, + "refs": { + "CreateQuickResponseRequest$description": "

The description of the quick response.

", + "QuickResponseData$description": "

The description of the quick response.

", + "QuickResponseSearchResultData$description": "

The description of the quick response.

", + "QuickResponseSummary$description": "

The description of the quick response.

", + "UpdateQuickResponseRequest$description": "

The updated description of the quick response.

" + } + }, + "QuickResponseFilterField": { + "base": "

The quick response fields to filter the quick response query results by.

The following is the list of supported field names.

  • name

  • description

  • shortcutKey

  • isActive

  • channels

  • language

  • contentType

  • createdTime

  • lastModifiedTime

  • lastModifiedBy

  • groupingConfiguration.criteria

  • groupingConfiguration.values

", + "refs": { + "QuickResponseFilterFieldList$member": null + } + }, + "QuickResponseFilterFieldList": { + "base": null, + "refs": { + "QuickResponseSearchExpression$filters": "

The configuration of filtering rules applied to quick response query results.

" + } + }, + "QuickResponseFilterOperator": { + "base": null, + "refs": { + "QuickResponseFilterField$operator": "

The operator to use for filtering.

" + } + }, + "QuickResponseFilterValue": { + "base": null, + "refs": { + "QuickResponseFilterValueList$member": null + } + }, + "QuickResponseFilterValueList": { + "base": null, + "refs": { + "QuickResponseFilterField$values": "

The values of attribute field to filter the quick response by.

" + } + }, + "QuickResponseName": { + "base": null, + "refs": { + "CreateQuickResponseRequest$name": "

The name of the quick response.

", + "QuickResponseData$name": "

The name of the quick response.

", + "QuickResponseSearchResultData$name": "

The name of the quick response.

", + "QuickResponseSummary$name": "

The name of the quick response.

", + "UpdateQuickResponseRequest$name": "

The name of the quick response.

" + } + }, + "QuickResponseOrderField": { + "base": "

The quick response fields to order the quick response query results by.

The following is the list of supported field names.

  • name

  • description

  • shortcutKey

  • isActive

  • channels

  • language

  • contentType

  • createdTime

  • lastModifiedTime

  • lastModifiedBy

  • groupingConfiguration.criteria

  • groupingConfiguration.values

", + "refs": { + "QuickResponseSearchExpression$orderOnField": "

The quick response attribute fields on which the query results are ordered.

" + } + }, + "QuickResponseQueryField": { + "base": "

The quick response fields to query quick responses by.

The following is the list of supported field names.

  • content

  • name

  • description

  • shortcutKey

", + "refs": { + "QuickResponseQueryFieldList$member": null + } + }, + "QuickResponseQueryFieldList": { + "base": null, + "refs": { + "QuickResponseSearchExpression$queries": "

The quick response query expressions.

" + } + }, + "QuickResponseQueryOperator": { + "base": null, + "refs": { + "QuickResponseQueryField$operator": "

The operator to use for matching attribute field values in the query.

" + } + }, + "QuickResponseQueryValue": { + "base": null, + "refs": { + "QuickResponseQueryValueList$member": null + } + }, + "QuickResponseQueryValueList": { + "base": null, + "refs": { + "QuickResponseQueryField$values": "

The values of the attribute to query the quick responses by.

" + } + }, + "QuickResponseSearchExpression": { + "base": "

Information about the import job.

", + "refs": { + "SearchQuickResponsesRequest$searchExpression": "

The search expression for querying the quick response.

" + } + }, + "QuickResponseSearchResultData": { + "base": "

The result of quick response search.

", + "refs": { + "QuickResponseSearchResultsList$member": null + } + }, + "QuickResponseSearchResultsList": { + "base": null, + "refs": { + "SearchQuickResponsesResponse$results": "

The results of the quick response search.

" + } + }, + "QuickResponseStatus": { + "base": null, + "refs": { + "QuickResponseData$status": "

The status of the quick response data.

", + "QuickResponseSearchResultData$status": "

The resource status of the quick response.

", + "QuickResponseSummary$status": "

The resource status of the quick response.

" + } + }, + "QuickResponseSummary": { + "base": "

The summary information about the quick response.

", + "refs": { + "QuickResponseSummaryList$member": null + } + }, + "QuickResponseSummaryList": { + "base": null, + "refs": { + "ListQuickResponsesResponse$quickResponseSummaries": "

Summary information about the quick responses.

" + } + }, + "QuickResponseType": { + "base": null, + "refs": { + "CreateQuickResponseRequest$contentType": "

The media type of the quick response content.

  • Use application/x.quickresponse;format=plain for a quick response written in plain text.

  • Use application/x.quickresponse;format=markdown for a quick response written in richtext.

", + "QuickResponseData$contentType": "

The media type of the quick response content.

  • Use application/x.quickresponse;format=plain for quick response written in plain text.

  • Use application/x.quickresponse;format=markdown for quick response written in richtext.

", + "QuickResponseSearchResultData$contentType": "

The media type of the quick response content.

  • Use application/x.quickresponse;format=plain for quick response written in plain text.

  • Use application/x.quickresponse;format=markdown for quick response written in richtext.

", + "QuickResponseSummary$contentType": "

The media type of the quick response content.

  • Use application/x.quickresponse;format=plain for quick response written in plain text.

  • Use application/x.quickresponse;format=markdown for quick response written in richtext.

", + "UpdateQuickResponseRequest$contentType": "

The media type of the quick response content.

  • Use application/x.quickresponse;format=plain for quick response written in plain text.

  • Use application/x.quickresponse;format=markdown for quick response written in richtext.

" + } + }, "RecommendationData": { "base": "

Information about the recommendation.

", "refs": { @@ -788,6 +1227,11 @@ "KnowledgeBaseSummary$renderingConfiguration": "

Information about how to render the content.

" } }, + "RequestTimeoutException": { + "base": "

The request reached the service more than 15 minutes after the date stamp on the request or more than 15 minutes after the request expiration date (such as for pre-signed URLs), or the date stamp on the request is more than 15 minutes in the future.

", + "refs": { + } + }, "ResourceNotFoundException": { "base": "

The specified resource does not exist.

", "refs": { @@ -816,6 +1260,16 @@ "SearchSessionsRequest$searchExpression": "

The search expression to filter results.

" } }, + "SearchQuickResponsesRequest": { + "base": null, + "refs": { + } + }, + "SearchQuickResponsesResponse": { + "base": null, + "refs": { + } + }, "SearchSessionsRequest": { "base": null, "refs": { @@ -835,12 +1289,12 @@ "ServerSideEncryptionConfiguration": { "base": "

The configuration information for the customer managed key used for encryption.

", "refs": { - "AssistantData$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey permissions to the IAM identity using the key to invoke Wisdom. To use Wisdom with chat, the key policy must also allow kms:Decrypt, kms:GenerateDataKey*, and kms:DescribeKey permissions to the connect.amazonaws.com service principal.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

", - "AssistantSummary$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey permissions to the IAM identity using the key to invoke Wisdom. To use Wisdom with chat, the key policy must also allow kms:Decrypt, kms:GenerateDataKey*, and kms:DescribeKey permissions to the connect.amazonaws.com service principal.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

", - "CreateAssistantRequest$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

The customer managed key must have a policy that allows kms:CreateGrant and kms:DescribeKey permissions to the IAM identity using the key to invoke Wisdom. To use Wisdom with chat, the key policy must also allow kms:Decrypt, kms:GenerateDataKey*, and kms:DescribeKey permissions to the connect.amazonaws.com service principal.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

", - "CreateKnowledgeBaseRequest$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey permissions to the IAM identity using the key to invoke Wisdom.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

", - "KnowledgeBaseData$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey permissions to the IAM identity using the key to invoke Wisdom.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

", - "KnowledgeBaseSummary$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey permissions to the IAM identity using the key to invoke Wisdom.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

" + "AssistantData$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

This KMS key must have a policy that allows kms:CreateGrant, kms:DescribeKey, and kms:Decrypt/kms:GenerateDataKey permissions to the IAM identity using the key to invoke Wisdom. To use Wisdom with chat, the key policy must also allow kms:Decrypt, kms:GenerateDataKey*, and kms:DescribeKey permissions to the connect.amazonaws.com service principal.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

", + "AssistantSummary$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

This KMS key must have a policy that allows kms:CreateGrant, kms:DescribeKey, and kms:Decrypt/kms:GenerateDataKey permissions to the IAM identity using the key to invoke Wisdom. To use Wisdom with chat, the key policy must also allow kms:Decrypt, kms:GenerateDataKey*, and kms:DescribeKey permissions to the connect.amazonaws.com service principal.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

", + "CreateAssistantRequest$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

The customer managed key must have a policy that allows kms:CreateGrant, kms:DescribeKey, and kms:Decrypt/kms:GenerateDataKey permissions to the IAM identity using the key to invoke Wisdom. To use Wisdom with chat, the key policy must also allow kms:Decrypt, kms:GenerateDataKey*, and kms:DescribeKey permissions to the connect.amazonaws.com service principal.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

", + "CreateKnowledgeBaseRequest$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

This KMS key must have a policy that allows kms:CreateGrant, kms:DescribeKey, and kms:Decrypt/kms:GenerateDataKey permissions to the IAM identity using the key to invoke Wisdom.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

", + "KnowledgeBaseData$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

This KMS key must have a policy that allows kms:CreateGrant, kms:DescribeKey, and kms:Decrypt/kms:GenerateDataKey permissions to the IAM identity using the key to invoke Wisdom.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

", + "KnowledgeBaseSummary$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

This KMS key must have a policy that allows kms:CreateGrant, kms:DescribeKey, kms:Decrypt/kms:GenerateDataKey permissions to the IAM identity using the key to invoke Wisdom.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

" } }, "ServiceQuotaExceededException": { @@ -873,6 +1327,15 @@ "SessionSummaries$member": null } }, + "ShortCutKey": { + "base": null, + "refs": { + "CreateQuickResponseRequest$shortcutKey": "

The shortcut key of the quick response. The value should be unique across the knowledge base.

", + "QuickResponseData$shortcutKey": "

The shortcut key of the quick response. The value should be unique across the knowledge base.

", + "QuickResponseSearchResultData$shortcutKey": "

The shortcut key of the quick response. The value should be unique across the knowledge base.

", + "UpdateQuickResponseRequest$shortcutKey": "

The shortcut key of the quick response. The value should be unique across the knowledge base.

" + } + }, "SourceConfiguration": { "base": "

Configuration information about the external data source.

", "refs": { @@ -891,6 +1354,16 @@ "refs": { } }, + "StartImportJobRequest": { + "base": null, + "refs": { + } + }, + "StartImportJobResponse": { + "base": null, + "refs": { + } + }, "String": { "base": null, "refs": { @@ -900,6 +1373,7 @@ "PreconditionFailedException$message": null, "RecommendationData$recommendationId": "

The identifier of the recommendation.

", "RecommendationIdList$member": null, + "RequestTimeoutException$message": null, "ResourceNotFoundException$message": null, "ResourceNotFoundException$resourceName": "

The specified resource name.

", "ServiceQuotaExceededException$message": null, @@ -912,7 +1386,18 @@ "base": null, "refs": { "ContentData$urlExpiry": "

The expiration time of the URL as an epoch timestamp.

", + "ImportJobData$createdTime": "

The timestamp when the import job was created.

", + "ImportJobData$lastModifiedTime": "

The timestamp when the import job data was last modified.

", + "ImportJobData$urlExpiry": "

The expiration time of the URL as an epoch timestamp.

", + "ImportJobSummary$createdTime": "

The timestamp when the import job was created.

", + "ImportJobSummary$lastModifiedTime": "

The timestamp when the import job was last modified.

", "KnowledgeBaseData$lastContentModificationTime": "

An epoch timestamp indicating the most recent content modification inside the knowledge base. If no content exists in a knowledge base, this value is unset.

", + "QuickResponseData$createdTime": "

The timestamp when the quick response was created.

", + "QuickResponseData$lastModifiedTime": "

The timestamp when the quick response data was last modified.

", + "QuickResponseSearchResultData$createdTime": "

The timestamp when the quick response was created.

", + "QuickResponseSearchResultData$lastModifiedTime": "

The timestamp when the quick response search result data was last modified.

", + "QuickResponseSummary$createdTime": "

The timestamp when the quick response was created.

", + "QuickResponseSummary$lastModifiedTime": "

The timestamp when the quick response summary was last modified.

", "StartContentUploadResponse$urlExpiry": "

The expiration time of the URL as an epoch timestamp.

" } }, @@ -958,14 +1443,24 @@ "CreateAssistantRequest$tags": "

The tags used to organize, track, or control access for this resource.

", "CreateContentRequest$tags": "

The tags used to organize, track, or control access for this resource.

", "CreateKnowledgeBaseRequest$tags": "

The tags used to organize, track, or control access for this resource.

", + "CreateQuickResponseRequest$tags": "

The tags used to organize, track, or control access for this resource.

", "CreateSessionRequest$tags": "

The tags used to organize, track, or control access for this resource.

", "KnowledgeBaseData$tags": "

The tags used to organize, track, or control access for this resource.

", "KnowledgeBaseSummary$tags": "

The tags used to organize, track, or control access for this resource.

", "ListTagsForResourceResponse$tags": "

The tags used to organize, track, or control access for this resource.

", + "QuickResponseData$tags": "

The tags used to organize, track, or control access for this resource.

", + "QuickResponseSearchResultData$tags": "

The tags used to organize, track, or control access for this resource.

", + "QuickResponseSummary$tags": "

The tags used to organize, track, or control access for this resource.

", "SessionData$tags": "

The tags used to organize, track, or control access for this resource.

", "TagResourceRequest$tags": "

The tags used to organize, track, or control access for this resource.

" } }, + "TimeToLive": { + "base": "

Expiration time in minutes

", + "refs": { + "StartContentUploadRequest$presignedUrlTimeToLive": "

The expected expiration time of the generated presigned URL, specified in minutes.

" + } + }, "TooManyTagsException": { "base": "

Amazon Connect Wisdom throws this exception if you have too many tags in your tag set.

", "refs": { @@ -1001,11 +1496,24 @@ "refs": { } }, + "UpdateQuickResponseRequest": { + "base": null, + "refs": { + } + }, + "UpdateQuickResponseResponse": { + "base": null, + "refs": { + } + }, "UploadId": { "base": null, "refs": { "CreateContentRequest$uploadId": "

A pointer to the uploaded asset. This value is returned by StartContentUpload.

", + "ImportJobData$uploadId": "

A pointer to the uploaded asset. This value is returned by StartContentUpload.

", + "ImportJobSummary$uploadId": "

A pointer to the uploaded asset. This value is returned by StartContentUpload.

", "StartContentUploadResponse$uploadId": "

The identifier of the upload.

", + "StartImportJobRequest$uploadId": "

A pointer to the uploaded asset. This value is returned by StartContentUpload.

", "UpdateContentRequest$uploadId": "

A pointer to the uploaded asset. This value is returned by StartContentUpload.

" } }, @@ -1023,6 +1531,8 @@ "base": null, "refs": { "ContentData$url": "

The URL of the content.

", + "ImportJobData$failedRecordReport": "

The link to donwload the information of resource data that failed to be imported.

", + "ImportJobData$url": "

The download link to the resource file that is uploaded to the import job.

", "StartContentUploadResponse$url": "

The URL of the upload.

" } }, @@ -1031,20 +1541,32 @@ "refs": { "AssistantAssociationData$assistantAssociationId": "

The identifier of the assistant association.

", "AssistantAssociationData$assistantId": "

The identifier of the Wisdom assistant.

", - "AssistantAssociationInputData$knowledgeBaseId": "

The identifier of the knowledge base.

", + "AssistantAssociationInputData$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it.

", "AssistantAssociationSummary$assistantAssociationId": "

The identifier of the assistant association.

", "AssistantAssociationSummary$assistantId": "

The identifier of the Wisdom assistant.

", "AssistantData$assistantId": "

The identifier of the Wisdom assistant.

", "AssistantSummary$assistantId": "

The identifier of the Wisdom assistant.

", "ContentData$contentId": "

The identifier of the content.

", - "ContentData$knowledgeBaseId": "

The identifier of the knowledge base.

", + "ContentData$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it.

", "ContentReference$contentId": "

The identifier of the content.

", - "ContentReference$knowledgeBaseId": "

The identifier of the knowledge base.

", + "ContentReference$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it.

", "ContentSummary$contentId": "

The identifier of the content.

", - "ContentSummary$knowledgeBaseId": "

The identifier of the knowledge base.

", - "KnowledgeBaseAssociationData$knowledgeBaseId": "

The identifier of the knowledge base.

", - "KnowledgeBaseData$knowledgeBaseId": "

The identifier of the knowledge base.

", - "KnowledgeBaseSummary$knowledgeBaseId": "

The identifier of the knowledge base.

", + "ContentSummary$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it.

", + "DeleteImportJobRequest$importJobId": "

The identifier of the import job to be deleted.

", + "GetImportJobRequest$importJobId": "

The identifier of the import job to retrieve.

", + "ImportJobData$importJobId": "

The identifier of the import job.

", + "ImportJobData$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it.

", + "ImportJobSummary$importJobId": "

The identifier of the import job.

", + "ImportJobSummary$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it.

", + "KnowledgeBaseAssociationData$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it.

", + "KnowledgeBaseData$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it.

", + "KnowledgeBaseSummary$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it.

", + "QuickResponseData$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "QuickResponseData$quickResponseId": "

The identifier of the quick response.

", + "QuickResponseSearchResultData$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "QuickResponseSearchResultData$quickResponseId": "

The identifier of the quick response.

", + "QuickResponseSummary$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it.

", + "QuickResponseSummary$quickResponseId": "

The identifier of the quick response.

", "RecommendationTrigger$id": "

The identifier of the recommendation trigger.

", "ResultData$resultId": "

The identifier of the result data.

", "SessionData$sessionId": "

The identifier of the session.

", @@ -1056,38 +1578,51 @@ "base": null, "refs": { "CreateAssistantAssociationRequest$assistantId": "

The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "CreateContentRequest$knowledgeBaseId": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "CreateContentRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "CreateQuickResponseRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "CreateSessionRequest$assistantId": "

The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "DeleteAssistantAssociationRequest$assistantAssociationId": "

The identifier of the assistant association. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "DeleteAssistantAssociationRequest$assistantId": "

The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "DeleteAssistantRequest$assistantId": "

The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "DeleteContentRequest$contentId": "

The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "DeleteContentRequest$knowledgeBaseId": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "DeleteContentRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "DeleteImportJobRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it.

", "DeleteKnowledgeBaseRequest$knowledgeBaseId": "

The knowledge base to delete content from. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "DeleteQuickResponseRequest$knowledgeBaseId": "

The knowledge base from which the quick response is deleted. The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it.

", + "DeleteQuickResponseRequest$quickResponseId": "

The identifier of the quick response to delete.

", "GetAssistantAssociationRequest$assistantAssociationId": "

The identifier of the assistant association. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "GetAssistantAssociationRequest$assistantId": "

The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "GetAssistantRequest$assistantId": "

The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "GetContentRequest$contentId": "

The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "GetContentRequest$knowledgeBaseId": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "GetContentRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "GetContentSummaryRequest$contentId": "

The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "GetContentSummaryRequest$knowledgeBaseId": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "GetKnowledgeBaseRequest$knowledgeBaseId": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "GetContentSummaryRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "GetImportJobRequest$knowledgeBaseId": "

The identifier of the knowledge base that the import job belongs to.

", + "GetKnowledgeBaseRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "GetQuickResponseRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should be a QUICK_RESPONSES type knowledge base.

", + "GetQuickResponseRequest$quickResponseId": "

The identifier of the quick response.

", "GetRecommendationsRequest$assistantId": "

The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "GetRecommendationsRequest$sessionId": "

The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "GetSessionRequest$assistantId": "

The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "GetSessionRequest$sessionId": "

The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "ListAssistantAssociationsRequest$assistantId": "

The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "ListContentsRequest$knowledgeBaseId": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "ListContentsRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "ListImportJobsRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "ListQuickResponsesRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "NotifyRecommendationsReceivedRequest$assistantId": "

The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "NotifyRecommendationsReceivedRequest$sessionId": "

The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "QueryAssistantRequest$assistantId": "

The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "RemoveKnowledgeBaseTemplateUriRequest$knowledgeBaseId": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "SearchContentRequest$knowledgeBaseId": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "RemoveKnowledgeBaseTemplateUriRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "SearchContentRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "SearchQuickResponsesRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should be a QUICK_RESPONSES type knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", "SearchSessionsRequest$assistantId": "

The identifier of the Wisdom assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "StartContentUploadRequest$knowledgeBaseId": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "StartContentUploadRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "StartImportJobRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.

  • For importing Wisdom quick responses, this should be a QUICK_RESPONSES type knowledge base.

", "UpdateContentRequest$contentId": "

The identifier of the content. Can be either the ID or the ARN. URLs cannot contain the ARN.

", - "UpdateContentRequest$knowledgeBaseId": "

The identifier of the knowledge base. Can be either the ID or the ARN

", - "UpdateKnowledgeBaseTemplateUriRequest$knowledgeBaseId": "

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

" + "UpdateContentRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN

", + "UpdateKnowledgeBaseTemplateUriRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "UpdateQuickResponseRequest$knowledgeBaseId": "

The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base if you're storing Wisdom Content resource to it. Can be either the ID or the ARN. URLs cannot contain the ARN.

", + "UpdateQuickResponseRequest$quickResponseId": "

The identifier of the quick response.

" } }, "ValidationException": { diff --git a/models/apis/wisdom/2020-10-19/paginators-1.json b/models/apis/wisdom/2020-10-19/paginators-1.json index 00d363ef8d2..2d69a269566 100644 --- a/models/apis/wisdom/2020-10-19/paginators-1.json +++ b/models/apis/wisdom/2020-10-19/paginators-1.json @@ -18,12 +18,24 @@ "limit_key": "maxResults", "result_key": "contentSummaries" }, + "ListImportJobs": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "importJobSummaries" + }, "ListKnowledgeBases": { "input_token": "nextToken", "output_token": "nextToken", "limit_key": "maxResults", "result_key": "knowledgeBaseSummaries" }, + "ListQuickResponses": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "quickResponseSummaries" + }, "QueryAssistant": { "input_token": "nextToken", "output_token": "nextToken", @@ -36,6 +48,12 @@ "limit_key": "maxResults", "result_key": "contentSummaries" }, + "SearchQuickResponses": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "results" + }, "SearchSessions": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 22fb61dd03e..a60d91e555f 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -15349,6 +15349,7 @@ "deprecated" : true, "hostname" : "servicecatalog-appregistry-fips.us-west-2.amazonaws.com" }, + "il-central-1" : { }, "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, diff --git a/service/appmesh/api.go b/service/appmesh/api.go index 8b6bc52f3c3..ea28c595228 100644 --- a/service/appmesh/api.go +++ b/service/appmesh/api.go @@ -8001,8 +8001,8 @@ type FileAccessLog struct { // as Amazon CloudWatch Logs. You can also specify a path in the Envoy container's // file system to write the files to disk. // - //

The Envoy process must have write permissions to the path that - // you specify here. Otherwise, Envoy fails to bootstrap properly.

+ // The Envoy process must have write permissions to the path that you specify + // here. Otherwise, Envoy fails to bootstrap properly. // // Path is a required field Path *string `locationName:"path" min:"1" type:"string" required:"true"` @@ -8806,7 +8806,7 @@ type GrpcGatewayRouteMatch struct { // The gateway route metadata to be matched on. Metadata []*GrpcGatewayRouteMetadata `locationName:"metadata" min:"1" type:"list"` - // The port number to match from the request. + // The gateway route port to be matched on. Port *int64 `locationName:"port" min:"1" type:"integer"` // The fully qualified domain name for the service to match from the request. diff --git a/service/athena/api.go b/service/athena/api.go index 6bdf06f9702..f535bdabfc4 100644 --- a/service/athena/api.go +++ b/service/athena/api.go @@ -589,10 +589,6 @@ func (c *Athena) CreateNamedQueryRequest(input *CreateNamedQueryInput) (req *req // Creates a named query in the specified workgroup. Requires that you have // access to the workgroup. // -// For code samples using the Amazon Web Services SDK for Java, see Examples -// and Code Samples (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) -// in the Amazon Athena User Guide. -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1202,10 +1198,6 @@ func (c *Athena) DeleteNamedQueryRequest(input *DeleteNamedQueryInput) (req *req // Deletes the named query if you have access to the workgroup in which the // query was saved. // -// For code samples using the Amazon Web Services SDK for Java, see Examples -// and Code Samples (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) -// in the Amazon Athena User Guide. -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -4297,10 +4289,6 @@ func (c *Athena) ListNamedQueriesRequest(input *ListNamedQueriesInput) (req *req // workgroup. Requires that you have access to the specified workgroup. If a // workgroup is not specified, lists the saved queries for the primary workgroup. // -// For code samples using the Amazon Web Services SDK for Java, see Examples -// and Code Samples (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) -// in the Amazon Athena User Guide. -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -4758,13 +4746,9 @@ func (c *Athena) ListQueryExecutionsRequest(input *ListQueryExecutionsInput) (re // ListQueryExecutions API operation for Amazon Athena. // // Provides a list of available query execution IDs for the queries in the specified -// workgroup. If a workgroup is not specified, returns a list of query execution -// IDs for the primary workgroup. Requires you to have access to the workgroup -// in which the queries ran. -// -// For code samples using the Amazon Web Services SDK for Java, see Examples -// and Code Samples (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) -// in the Amazon Athena User Guide. +// workgroup. Athena keeps a query history for 45 days. If a workgroup is not +// specified, returns a list of query execution IDs for the primary workgroup. +// Requires you to have access to the workgroup in which the queries ran. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5568,6 +5552,11 @@ func (c *Athena) StartCalculationExecutionRequest(input *StartCalculationExecuti // Submits calculations for execution within a session. You can supply the code // to run as an inline code block within the request. // +// The request syntax requires the StartCalculationExecutionRequest$CodeBlock +// parameter or the CalculationConfiguration$CodeBlock parameter, but not both. +// Because CalculationConfiguration$CodeBlock is deprecated, use the StartCalculationExecutionRequest$CodeBlock +// parameter instead. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -5937,10 +5926,6 @@ func (c *Athena) StopQueryExecutionRequest(input *StopQueryExecutionInput) (req // Stops a query execution. Requires you to have access to the workgroup in // which the query ran. // -// For code samples using the Amazon Web Services SDK for Java, see Examples -// and Code Samples (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) -// in the Amazon Athena User Guide. -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -8197,11 +8182,7 @@ type CreateDataCatalogInput struct { // is the account ID of the Amazon Web Services account to which the Glue // Data Catalog belongs. catalog-id=catalog_id The GLUE data catalog type // also applies to the default AwsDataCatalog that already exists in your - // account, of which you can have only one and cannot modify. Queries that - // specify a Glue Data Catalog other than the default AwsDataCatalog must - // be run on Athena engine version 2. In Regions where Athena engine version - // 2 is not available, creating new Glue data catalogs results in an INVALID_INPUT - // error. + // account, of which you can have only one and cannot modify. Parameters map[string]*string `type:"map"` // A list of comma separated tags to add to the data catalog that is created. @@ -8920,12 +8901,14 @@ func (s CreateWorkGroupOutput) GoString() string { return s.String() } -// Specifies the KMS key that is used to encrypt the user's data stores in Athena. -// This setting does not apply to Athena SQL workgroups. +// Specifies the customer managed KMS key that is used to encrypt the user's +// data stores in Athena. When an Amazon Web Services managed key is used, this +// value is null. This setting does not apply to Athena SQL workgroups. type CustomerContentEncryptionConfiguration struct { _ struct{} `type:"structure"` - // The KMS key that is used to encrypt the user's data stores in Athena. + // The customer managed KMS key that is used to encrypt the user's data stores + // in Athena. // // KmsKey is a required field KmsKey *string `min:"1" type:"string" required:"true"` @@ -9007,9 +8990,7 @@ type DataCatalog struct { // is the account ID of the Amazon Web Services account to which the Glue // catalog belongs. catalog-id=catalog_id The GLUE data catalog type also // applies to the default AwsDataCatalog that already exists in your account, - // of which you can have only one and cannot modify. Queries that specify - // a Glue Data Catalog other than the default AwsDataCatalog must be run - // on Athena engine version 2. + // of which you can have only one and cannot modify. Parameters map[string]*string `type:"map"` // The type of data catalog to create: LAMBDA for a federated catalog, HIVE @@ -14594,6 +14575,10 @@ type QueryExecutionStatistics struct { // the query. ResultReuseInformation *ResultReuseInformation `type:"structure"` + // The number of milliseconds that Athena took to preprocess the query before + // submitting the query to the query engine. + ServicePreProcessingTimeInMillis *int64 `type:"long"` + // The number of milliseconds that Athena took to finalize and publish the query // results after the query engine finished running the query. ServiceProcessingTimeInMillis *int64 `type:"long"` @@ -14656,6 +14641,12 @@ func (s *QueryExecutionStatistics) SetResultReuseInformation(v *ResultReuseInfor return s } +// SetServicePreProcessingTimeInMillis sets the ServicePreProcessingTimeInMillis field's value. +func (s *QueryExecutionStatistics) SetServicePreProcessingTimeInMillis(v int64) *QueryExecutionStatistics { + s.ServicePreProcessingTimeInMillis = &v + return s +} + // SetServiceProcessingTimeInMillis sets the ServiceProcessingTimeInMillis field's value. func (s *QueryExecutionStatistics) SetServiceProcessingTimeInMillis(v int64) *QueryExecutionStatistics { s.ServiceProcessingTimeInMillis = &v @@ -14880,6 +14871,10 @@ type QueryRuntimeStatisticsTimeline struct { // add the query back to the queue. QueryQueueTimeInMillis *int64 `type:"long"` + // The number of milliseconds that Athena spends on preprocessing before it + // submits the query to the engine. + ServicePreProcessingTimeInMillis *int64 `type:"long"` + // The number of milliseconds that Athena took to finalize and publish the query // results after the query engine finished running the query. ServiceProcessingTimeInMillis *int64 `type:"long"` @@ -14924,6 +14919,12 @@ func (s *QueryRuntimeStatisticsTimeline) SetQueryQueueTimeInMillis(v int64) *Que return s } +// SetServicePreProcessingTimeInMillis sets the ServicePreProcessingTimeInMillis field's value. +func (s *QueryRuntimeStatisticsTimeline) SetServicePreProcessingTimeInMillis(v int64) *QueryRuntimeStatisticsTimeline { + s.ServicePreProcessingTimeInMillis = &v + return s +} + // SetServiceProcessingTimeInMillis sets the ServiceProcessingTimeInMillis field's value. func (s *QueryRuntimeStatisticsTimeline) SetServiceProcessingTimeInMillis(v int64) *QueryRuntimeStatisticsTimeline { s.ServiceProcessingTimeInMillis = &v @@ -15767,7 +15768,8 @@ type SessionConfiguration struct { // encryption option used (for example, SSE_KMS or CSE_KMS) and key information. EncryptionConfiguration *EncryptionConfiguration `type:"structure"` - // The ARN of the execution role used for the session. + // The ARN of the execution role used in a Spark session to access user resources. + // This property applies only to Spark-enabled workgroups. ExecutionRole *string `min:"20" type:"string"` // The idle timeout in seconds for the session. @@ -16034,7 +16036,8 @@ type StartCalculationExecutionInput struct { // Services CLI, you must provide this token or the action will fail. ClientRequestToken *string `min:"32" type:"string"` - // A string that contains the code of the calculation. + // A string that contains the code of the calculation. Use this parameter instead + // of CalculationConfiguration$CodeBlock, which is deprecated. CodeBlock *string `type:"string"` // A description of the calculation. @@ -18253,7 +18256,8 @@ type WorkGroupConfiguration struct { // regardless of this setting. EngineVersion *EngineVersion `type:"structure"` - // Role used in a session for accessing the user's resources. + // Role used in a Spark session for accessing the user's resources. This property + // applies only to Spark-enabled workgroups. ExecutionRole *string `min:"20" type:"string"` // Indicates that the Amazon CloudWatch metrics are enabled for the workgroup. @@ -18407,8 +18411,9 @@ type WorkGroupConfigurationUpdates struct { // is allowed to scan. BytesScannedCutoffPerQuery *int64 `min:"1e+07" type:"long"` - // Specifies the KMS key that is used to encrypt the user's data stores in Athena. - // This setting does not apply to Athena SQL workgroups. + // Specifies the customer managed KMS key that is used to encrypt the user's + // data stores in Athena. When an Amazon Web Services managed key is used, this + // value is null. This setting does not apply to Athena SQL workgroups. CustomerContentEncryptionConfiguration *CustomerContentEncryptionConfiguration `type:"structure"` // Enforces a minimal level of encryption for the workgroup for query and calculation @@ -18432,7 +18437,8 @@ type WorkGroupConfigurationUpdates struct { // workgroup run on the preview engine regardless of this setting. EngineVersion *EngineVersion `type:"structure"` - // Contains the ARN of the execution role for the workgroup + // The ARN of the execution role used to access user resources. This property + // applies only to Spark-enabled workgroups. ExecutionRole *string `min:"20" type:"string"` // Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch. diff --git a/service/athena/doc.go b/service/athena/doc.go index 9240b5bf8fb..eda201e0668 100644 --- a/service/athena/doc.go +++ b/service/athena/doc.go @@ -17,10 +17,6 @@ // support the API. For more information and to download the driver, see Accessing // Amazon Athena with JDBC (https://docs.aws.amazon.com/athena/latest/ug/connect-with-jdbc.html). // -// For code samples using the Amazon Web Services SDK for Java, see Examples -// and Code Samples (https://docs.aws.amazon.com/athena/latest/ug/code-samples.html) -// in the Amazon Athena User Guide. -// // See https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18 for more information on this service. // // See athena package documentation for more information. diff --git a/service/cloud9/api.go b/service/cloud9/api.go index 0789704b08a..028f6a948ba 100644 --- a/service/cloud9/api.go +++ b/service/cloud9/api.go @@ -1601,7 +1601,7 @@ type CreateEnvironmentEC2Input struct { // EC2 instance. To choose an AMI for the instance, you must specify a valid // AMI alias or a valid Amazon EC2 Systems Manager (SSM) path. // - // From November 20, 2023, you will be required to include the imageId parameter + // From December 04, 2023, you will be required to include the imageId parameter // for the CreateEnvironmentEC2 action. This change will be reflected across // all direct methods of communicating with the API, such as Amazon Web Services // SDK, Amazon Web Services CLI and Amazon Web Services CloudFormation. This diff --git a/service/cloud9/examples_test.go b/service/cloud9/examples_test.go index 9b796582284..e443bc700bc 100644 --- a/service/cloud9/examples_test.go +++ b/service/cloud9/examples_test.go @@ -33,6 +33,7 @@ func ExampleCloud9_CreateEnvironmentEC2_shared00() { input := &cloud9.CreateEnvironmentEC2Input{ AutomaticStopTimeMinutes: aws.Int64(60), Description: aws.String("This is my demonstration environment."), + ImageId: aws.String("amazonlinux-2-x86_64"), InstanceType: aws.String("t2.micro"), Name: aws.String("my-demo-environment"), OwnerArn: aws.String("arn:aws:iam::123456789012:user/MyDemoUser"), diff --git a/service/cloudformation/api.go b/service/cloudformation/api.go index c66348002ae..772312d37f3 100644 --- a/service/cloudformation/api.go +++ b/service/cloudformation/api.go @@ -7985,6 +7985,9 @@ type ChangeSetSummary struct { // creating it or in an OBSOLETE state because the stack was already updated. ExecutionStatus *string `type:"string" enum:"ExecutionStatus"` + // Indicates if the stack set imports resources that already exist. + ImportExistingResources *bool `type:"boolean"` + // Specifies the current setting of IncludeNestedStacks for the change set. IncludeNestedStacks *bool `type:"boolean"` @@ -8057,6 +8060,12 @@ func (s *ChangeSetSummary) SetExecutionStatus(v string) *ChangeSetSummary { return s } +// SetImportExistingResources sets the ImportExistingResources field's value. +func (s *ChangeSetSummary) SetImportExistingResources(v bool) *ChangeSetSummary { + s.ImportExistingResources = &v + return s +} + // SetIncludeNestedStacks sets the IncludeNestedStacks field's value. func (s *ChangeSetSummary) SetIncludeNestedStacks(v bool) *ChangeSetSummary { s.IncludeNestedStacks = &v @@ -8339,6 +8348,17 @@ type CreateChangeSetInput struct { // A description to help you identify this change set. Description *string `min:"1" type:"string"` + // Indicates if the stack set imports resources that already exist. + // + // This parameter can only import resources that have custom names in templates. + // For more information, see name type (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) + // in the CloudFormation User Guide. To import resources that do not accept + // custom names, such as EC2 instances, use the resource import feature instead. + // For more information, see Bringing existing resources into CloudFormation + // management (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import.html) + // in the CloudFormation User Guide. + ImportExistingResources *bool `type:"boolean"` + // Creates a change set for the all nested stacks specified in the template. // The default behavior of this action is set to False. To include nested sets // in a change set, specify True. @@ -8552,6 +8572,12 @@ func (s *CreateChangeSetInput) SetDescription(v string) *CreateChangeSetInput { return s } +// SetImportExistingResources sets the ImportExistingResources field's value. +func (s *CreateChangeSetInput) SetImportExistingResources(v bool) *CreateChangeSetInput { + s.ImportExistingResources = &v + return s +} + // SetIncludeNestedStacks sets the IncludeNestedStacks field's value. func (s *CreateChangeSetInput) SetIncludeNestedStacks(v bool) *CreateChangeSetInput { s.IncludeNestedStacks = &v @@ -10833,6 +10859,14 @@ type DescribeChangeSetOutput struct { // creating it or in an OBSOLETE state because the stack was already updated. ExecutionStatus *string `type:"string" enum:"ExecutionStatus"` + // Indicates if the stack set imports resources that already exist. + // + // This parameter can only import resources that have custom names (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) + // in templates. To import resources that do not accept custom names, such as + // EC2 instances, use the resource import (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import.html) + // feature instead. + ImportExistingResources *bool `type:"boolean"` + // Verifies if IncludeNestedStacks is set to True. IncludeNestedStacks *bool `type:"boolean"` @@ -10961,6 +10995,12 @@ func (s *DescribeChangeSetOutput) SetExecutionStatus(v string) *DescribeChangeSe return s } +// SetImportExistingResources sets the ImportExistingResources field's value. +func (s *DescribeChangeSetOutput) SetImportExistingResources(v bool) *DescribeChangeSetOutput { + s.ImportExistingResources = &v + return s +} + // SetIncludeNestedStacks sets the IncludeNestedStacks field's value. func (s *DescribeChangeSetOutput) SetIncludeNestedStacks(v bool) *DescribeChangeSetOutput { s.IncludeNestedStacks = &v @@ -20919,16 +20959,19 @@ type StackSetOperationPreferences struct { // Specifies how the concurrency level behaves during the operation execution. // - // * STRICT_FAILURE_TOLERANCE: Dynamically lowers the concurrency level to - // ensure the number of failed accounts never exceeds the FailureToleranceCount - // +1. StackSets will set the actual concurrency of your deployment as the - // minimum value between the MaxConcurrentCount and the FailureToleranceCount - // +1. This is the default behavior. If failure tolerance or Maximum concurrent - // accounts are set to percentages, the behavior is similar. - // - // * SOFT_FAILURE_TOLERANCE: Always run at the concurrency level set by the - // user in the MaxConcurrentCount or MaxConcurrentPercentage, regardless - // of the number of failures. + // * STRICT_FAILURE_TOLERANCE: This option dynamically lowers the concurrency + // level to ensure the number of failed accounts never exceeds the value + // of FailureToleranceCount +1. The initial actual concurrency is set to + // the lower of either the value of the MaxConcurrentCount, or the value + // of MaxConcurrentCount +1. The actual concurrency is then reduced proportionally + // by the number of failures. This is the default behavior. If failure tolerance + // or Maximum concurrent accounts are set to percentages, the behavior is + // similar. + // + // * SOFT_FAILURE_TOLERANCE: This option decouples FailureToleranceCount + // from the actual concurrency. This allows stack set operations to run at + // the concurrency level set by the MaxConcurrentCount value, or MaxConcurrentPercentage, + // regardless of the number of failures. ConcurrencyMode *string `type:"string" enum:"ConcurrencyMode"` // The number of accounts, per Region, for which this operation can fail before diff --git a/service/codepipeline/api.go b/service/codepipeline/api.go index d369bef5894..5533a7305d9 100644 --- a/service/codepipeline/api.go +++ b/service/codepipeline/api.go @@ -9023,6 +9023,11 @@ func (s *GetThirdPartyJobDetailsOutput) SetJobDetails(v *ThirdPartyJobDetails) * // You can specify the Git configuration trigger type for all third-party Git-based // source actions that are supported by the CodeStarSourceConnection action // type. +// +// V2 type pipelines, along with triggers on Git tags and pipeline-level variables, +// are not currently supported for CloudFormation and CDK resources in CodePipeline. +// For more information about V2 type pipelines, see Pipeline types (https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types.html) +// in the CodePipeline User Guide. type GitConfiguration struct { _ struct{} `type:"structure"` @@ -11711,6 +11716,11 @@ type PipelineDeclaration struct { // // For information about which type of pipeline to choose, see What type of // pipeline is right for me? (https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html). + // + // V2 type pipelines, along with triggers on Git tags and pipeline-level variables, + // are not currently supported for CloudFormation and CDK resources in CodePipeline. + // For more information about V2 type pipelines, see Pipeline types (https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types.html) + // in the CodePipeline User Guide. PipelineType *string `locationName:"pipelineType" type:"string" enum:"PipelineType"` // The Amazon Resource Name (ARN) for CodePipeline to use to either perform @@ -12459,6 +12469,11 @@ type PipelineSummary struct { // // For information about which type of pipeline to choose, see What type of // pipeline is right for me? (https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html). + // + // V2 type pipelines, along with triggers on Git tags and pipeline-level variables, + // are not currently supported for CloudFormation and CDK resources in CodePipeline. + // For more information about V2 type pipelines, see Pipeline types (https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types.html) + // in the CodePipeline User Guide. PipelineType *string `locationName:"pipelineType" type:"string" enum:"PipelineType"` // The date and time of the last update to the pipeline, in timestamp format. @@ -12524,6 +12539,11 @@ func (s *PipelineSummary) SetVersion(v int64) *PipelineSummary { // // When a trigger configuration is specified, default change detection for repository // and branch commits is disabled. +// +// V2 type pipelines, along with triggers on Git tags and pipeline-level variables, +// are not currently supported for CloudFormation and CDK resources in CodePipeline. +// For more information about V2 type pipelines, see Pipeline types (https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types.html) +// in the CodePipeline User Guide. type PipelineTriggerDeclaration struct { _ struct{} `type:"structure"` @@ -12592,6 +12612,11 @@ func (s *PipelineTriggerDeclaration) SetProviderType(v string) *PipelineTriggerD } // A pipeline-level variable used for a pipeline execution. +// +// V2 type pipelines, along with triggers on Git tags and pipeline-level variables, +// are not currently supported for CloudFormation and CDK resources in CodePipeline. +// For more information about V2 type pipelines, see Pipeline types (https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types.html) +// in the CodePipeline User Guide. type PipelineVariable struct { _ struct{} `type:"structure"` @@ -12659,6 +12684,11 @@ func (s *PipelineVariable) SetValue(v string) *PipelineVariable { } // A variable declared at the pipeline level. +// +// V2 type pipelines, along with triggers on Git tags and pipeline-level variables, +// are not currently supported for CloudFormation and CDK resources in CodePipeline. +// For more information about V2 type pipelines, see Pipeline types (https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types.html) +// in the CodePipeline User Guide. type PipelineVariableDeclaration struct { _ struct{} `type:"structure"` @@ -14381,6 +14411,92 @@ func (s *SourceRevision) SetRevisionUrl(v string) *SourceRevision { return s } +// A list that allows you to specify, or override, the source revision for a +// pipeline execution that's being started. A source revision is the version +// with all the changes to your application code, or source artifact, for the +// pipeline execution. +type SourceRevisionOverride struct { + _ struct{} `type:"structure"` + + // The name of the action where the override will be applied. + // + // ActionName is a required field + ActionName *string `locationName:"actionName" min:"1" type:"string" required:"true"` + + // The type of source revision, based on the source provider. For example, the + // revision type for the CodeCommit action provider is the commit ID. + // + // RevisionType is a required field + RevisionType *string `locationName:"revisionType" type:"string" required:"true" enum:"SourceRevisionType"` + + // The source revision, or version of your source artifact, with the changes + // that you want to run in the pipeline execution. + // + // RevisionValue is a required field + RevisionValue *string `locationName:"revisionValue" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SourceRevisionOverride) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SourceRevisionOverride) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SourceRevisionOverride) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SourceRevisionOverride"} + if s.ActionName == nil { + invalidParams.Add(request.NewErrParamRequired("ActionName")) + } + if s.ActionName != nil && len(*s.ActionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ActionName", 1)) + } + if s.RevisionType == nil { + invalidParams.Add(request.NewErrParamRequired("RevisionType")) + } + if s.RevisionValue == nil { + invalidParams.Add(request.NewErrParamRequired("RevisionValue")) + } + if s.RevisionValue != nil && len(*s.RevisionValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RevisionValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActionName sets the ActionName field's value. +func (s *SourceRevisionOverride) SetActionName(v string) *SourceRevisionOverride { + s.ActionName = &v + return s +} + +// SetRevisionType sets the RevisionType field's value. +func (s *SourceRevisionOverride) SetRevisionType(v string) *SourceRevisionOverride { + s.RevisionType = &v + return s +} + +// SetRevisionValue sets the RevisionValue field's value. +func (s *SourceRevisionOverride) SetRevisionValue(v string) *SourceRevisionOverride { + s.RevisionValue = &v + return s +} + // Represents information about a stage to a job worker. type StageContext struct { _ struct{} `type:"structure"` @@ -14765,6 +14881,12 @@ type StartPipelineExecutionInput struct { // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // A list that allows you to specify, or override, the source revision for a + // pipeline execution that's being started. A source revision is the version + // with all the changes to your application code, or source artifact, for the + // pipeline execution. + SourceRevisions []*SourceRevisionOverride `locationName:"sourceRevisions" type:"list"` + // A list that overrides pipeline variables for a pipeline execution that's // being started. Variable names must match [A-Za-z0-9@\-_]+, and the values // can be anything except an empty string. @@ -14804,6 +14926,16 @@ func (s *StartPipelineExecutionInput) Validate() error { if s.Variables != nil && len(s.Variables) < 1 { invalidParams.Add(request.NewErrParamMinLen("Variables", 1)) } + if s.SourceRevisions != nil { + for i, v := range s.SourceRevisions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SourceRevisions", i), err.(request.ErrInvalidParams)) + } + } + } if s.Variables != nil { for i, v := range s.Variables { if v == nil { @@ -14833,6 +14965,12 @@ func (s *StartPipelineExecutionInput) SetName(v string) *StartPipelineExecutionI return s } +// SetSourceRevisions sets the SourceRevisions field's value. +func (s *StartPipelineExecutionInput) SetSourceRevisions(v []*SourceRevisionOverride) *StartPipelineExecutionInput { + s.SourceRevisions = v + return s +} + // SetVariables sets the Variables field's value. func (s *StartPipelineExecutionInput) SetVariables(v []*PipelineVariable) *StartPipelineExecutionInput { s.Variables = v @@ -16475,6 +16613,26 @@ func PipelineType_Values() []string { } } +const ( + // SourceRevisionTypeCommitId is a SourceRevisionType enum value + SourceRevisionTypeCommitId = "COMMIT_ID" + + // SourceRevisionTypeImageDigest is a SourceRevisionType enum value + SourceRevisionTypeImageDigest = "IMAGE_DIGEST" + + // SourceRevisionTypeS3ObjectVersionId is a SourceRevisionType enum value + SourceRevisionTypeS3ObjectVersionId = "S3_OBJECT_VERSION_ID" +) + +// SourceRevisionType_Values returns all elements of the SourceRevisionType enum +func SourceRevisionType_Values() []string { + return []string{ + SourceRevisionTypeCommitId, + SourceRevisionTypeImageDigest, + SourceRevisionTypeS3ObjectVersionId, + } +} + const ( // StageExecutionStatusCancelled is a StageExecutionStatus enum value StageExecutionStatusCancelled = "Cancelled" diff --git a/service/codestarconnections/api.go b/service/codestarconnections/api.go index fc50ce46ea6..c26f48c13b1 100644 --- a/service/codestarconnections/api.go +++ b/service/codestarconnections/api.go @@ -4,6 +4,7 @@ package codestarconnections import ( "fmt" + "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" @@ -184,6 +185,207 @@ func (c *CodeStarConnections) CreateHostWithContext(ctx aws.Context, input *Crea return out, req.Send() } +const opCreateRepositoryLink = "CreateRepositoryLink" + +// CreateRepositoryLinkRequest generates a "aws/request.Request" representing the +// client's request for the CreateRepositoryLink operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateRepositoryLink for more information on using the CreateRepositoryLink +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateRepositoryLinkRequest method. +// req, resp := client.CreateRepositoryLinkRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/CreateRepositoryLink +func (c *CodeStarConnections) CreateRepositoryLinkRequest(input *CreateRepositoryLinkInput) (req *request.Request, output *CreateRepositoryLinkOutput) { + op := &request.Operation{ + Name: opCreateRepositoryLink, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateRepositoryLinkInput{} + } + + output = &CreateRepositoryLinkOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateRepositoryLink API operation for AWS CodeStar connections. +// +// Creates a link to a specified external Git repository. A repository link +// allows Git sync to monitor and sync changes to files in a specified Git repository. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeStar connections's +// API operation CreateRepositoryLink for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ConcurrentModificationException +// Exception thrown as a result of concurrent modification to an application. +// For example, two individuals attempting to edit the same application at the +// same time. +// +// - InternalServerException +// Received an internal server exception. Try again later. +// +// - InvalidInputException +// The input is not valid. Verify that the action is typed correctly. +// +// - LimitExceededException +// Exceeded the maximum limit for connections. +// +// - ResourceAlreadyExistsException +// Unable to create resource. Resource already exists. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/CreateRepositoryLink +func (c *CodeStarConnections) CreateRepositoryLink(input *CreateRepositoryLinkInput) (*CreateRepositoryLinkOutput, error) { + req, out := c.CreateRepositoryLinkRequest(input) + return out, req.Send() +} + +// CreateRepositoryLinkWithContext is the same as CreateRepositoryLink with the addition of +// the ability to pass a context and additional request options. +// +// See CreateRepositoryLink for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeStarConnections) CreateRepositoryLinkWithContext(ctx aws.Context, input *CreateRepositoryLinkInput, opts ...request.Option) (*CreateRepositoryLinkOutput, error) { + req, out := c.CreateRepositoryLinkRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateSyncConfiguration = "CreateSyncConfiguration" + +// CreateSyncConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateSyncConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateSyncConfiguration for more information on using the CreateSyncConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateSyncConfigurationRequest method. +// req, resp := client.CreateSyncConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/CreateSyncConfiguration +func (c *CodeStarConnections) CreateSyncConfigurationRequest(input *CreateSyncConfigurationInput) (req *request.Request, output *CreateSyncConfigurationOutput) { + op := &request.Operation{ + Name: opCreateSyncConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateSyncConfigurationInput{} + } + + output = &CreateSyncConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateSyncConfiguration API operation for AWS CodeStar connections. +// +// Creates a sync configuration which allows Amazon Web Services to sync content +// from a Git repository to update a specified Amazon Web Services resource. +// Parameters for the sync configuration are determined by the sync type. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeStar connections's +// API operation CreateSyncConfiguration for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ConcurrentModificationException +// Exception thrown as a result of concurrent modification to an application. +// For example, two individuals attempting to edit the same application at the +// same time. +// +// - InternalServerException +// Received an internal server exception. Try again later. +// +// - InvalidInputException +// The input is not valid. Verify that the action is typed correctly. +// +// - LimitExceededException +// Exceeded the maximum limit for connections. +// +// - ResourceAlreadyExistsException +// Unable to create resource. Resource already exists. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/CreateSyncConfiguration +func (c *CodeStarConnections) CreateSyncConfiguration(input *CreateSyncConfigurationInput) (*CreateSyncConfigurationOutput, error) { + req, out := c.CreateSyncConfigurationRequest(input) + return out, req.Send() +} + +// CreateSyncConfigurationWithContext is the same as CreateSyncConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateSyncConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeStarConnections) CreateSyncConfigurationWithContext(ctx aws.Context, input *CreateSyncConfigurationInput, opts ...request.Option) (*CreateSyncConfigurationOutput, error) { + req, out := c.CreateSyncConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteConnection = "DeleteConnection" // DeleteConnectionRequest generates a "aws/request.Request" representing the @@ -350,773 +552,4780 @@ func (c *CodeStarConnections) DeleteHostWithContext(ctx aws.Context, input *Dele return out, req.Send() } -const opGetConnection = "GetConnection" +const opDeleteRepositoryLink = "DeleteRepositoryLink" -// GetConnectionRequest generates a "aws/request.Request" representing the -// client's request for the GetConnection operation. The "output" return +// DeleteRepositoryLinkRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRepositoryLink operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetConnection for more information on using the GetConnection +// See DeleteRepositoryLink for more information on using the DeleteRepositoryLink // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetConnectionRequest method. -// req, resp := client.GetConnectionRequest(params) +// // Example sending a request using the DeleteRepositoryLinkRequest method. +// req, resp := client.DeleteRepositoryLinkRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetConnection -func (c *CodeStarConnections) GetConnectionRequest(input *GetConnectionInput) (req *request.Request, output *GetConnectionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/DeleteRepositoryLink +func (c *CodeStarConnections) DeleteRepositoryLinkRequest(input *DeleteRepositoryLinkInput) (req *request.Request, output *DeleteRepositoryLinkOutput) { op := &request.Operation{ - Name: opGetConnection, + Name: opDeleteRepositoryLink, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetConnectionInput{} + input = &DeleteRepositoryLinkInput{} } - output = &GetConnectionOutput{} + output = &DeleteRepositoryLinkOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// GetConnection API operation for AWS CodeStar connections. +// DeleteRepositoryLink API operation for AWS CodeStar connections. // -// Returns the connection ARN and details such as status, owner, and provider -// type. +// Deletes the association between your connection and a specified external +// Git repository. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeStar connections's -// API operation GetConnection for usage and error information. +// API operation DeleteRepositoryLink for usage and error information. // // Returned Error Types: // +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ConcurrentModificationException +// Exception thrown as a result of concurrent modification to an application. +// For example, two individuals attempting to edit the same application at the +// same time. +// +// - InternalServerException +// Received an internal server exception. Try again later. +// +// - InvalidInputException +// The input is not valid. Verify that the action is typed correctly. +// +// - SyncConfigurationStillExistsException +// Unable to continue. The sync blocker still exists. +// // - ResourceNotFoundException // Resource not found. Verify the connection resource ARN and try again. // -// - ResourceUnavailableException -// Resource not found. Verify the ARN for the host resource and try again. +// - ThrottlingException +// The request was denied due to request throttling. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetConnection -func (c *CodeStarConnections) GetConnection(input *GetConnectionInput) (*GetConnectionOutput, error) { - req, out := c.GetConnectionRequest(input) +// - UnsupportedProviderTypeException +// The specified provider type is not supported for connections. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/DeleteRepositoryLink +func (c *CodeStarConnections) DeleteRepositoryLink(input *DeleteRepositoryLinkInput) (*DeleteRepositoryLinkOutput, error) { + req, out := c.DeleteRepositoryLinkRequest(input) return out, req.Send() } -// GetConnectionWithContext is the same as GetConnection with the addition of +// DeleteRepositoryLinkWithContext is the same as DeleteRepositoryLink with the addition of // the ability to pass a context and additional request options. // -// See GetConnection for details on how to use this API operation. +// See DeleteRepositoryLink for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeStarConnections) GetConnectionWithContext(ctx aws.Context, input *GetConnectionInput, opts ...request.Option) (*GetConnectionOutput, error) { - req, out := c.GetConnectionRequest(input) +func (c *CodeStarConnections) DeleteRepositoryLinkWithContext(ctx aws.Context, input *DeleteRepositoryLinkInput, opts ...request.Option) (*DeleteRepositoryLinkOutput, error) { + req, out := c.DeleteRepositoryLinkRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetHost = "GetHost" +const opDeleteSyncConfiguration = "DeleteSyncConfiguration" -// GetHostRequest generates a "aws/request.Request" representing the -// client's request for the GetHost operation. The "output" return +// DeleteSyncConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSyncConfiguration operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetHost for more information on using the GetHost +// See DeleteSyncConfiguration for more information on using the DeleteSyncConfiguration // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetHostRequest method. -// req, resp := client.GetHostRequest(params) +// // Example sending a request using the DeleteSyncConfigurationRequest method. +// req, resp := client.DeleteSyncConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetHost -func (c *CodeStarConnections) GetHostRequest(input *GetHostInput) (req *request.Request, output *GetHostOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/DeleteSyncConfiguration +func (c *CodeStarConnections) DeleteSyncConfigurationRequest(input *DeleteSyncConfigurationInput) (req *request.Request, output *DeleteSyncConfigurationOutput) { op := &request.Operation{ - Name: opGetHost, + Name: opDeleteSyncConfiguration, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetHostInput{} + input = &DeleteSyncConfigurationInput{} } - output = &GetHostOutput{} + output = &DeleteSyncConfigurationOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// GetHost API operation for AWS CodeStar connections. +// DeleteSyncConfiguration API operation for AWS CodeStar connections. // -// Returns the host ARN and details such as status, provider type, endpoint, -// and, if applicable, the VPC configuration. +// Deletes the sync configuration for a specified repository and connection. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeStar connections's -// API operation GetHost for usage and error information. +// API operation DeleteSyncConfiguration for usage and error information. // // Returned Error Types: // -// - ResourceNotFoundException -// Resource not found. Verify the connection resource ARN and try again. +// - AccessDeniedException +// You do not have sufficient access to perform this action. // -// - ResourceUnavailableException -// Resource not found. Verify the ARN for the host resource and try again. +// - ConcurrentModificationException +// Exception thrown as a result of concurrent modification to an application. +// For example, two individuals attempting to edit the same application at the +// same time. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetHost -func (c *CodeStarConnections) GetHost(input *GetHostInput) (*GetHostOutput, error) { - req, out := c.GetHostRequest(input) +// - InternalServerException +// Received an internal server exception. Try again later. +// +// - InvalidInputException +// The input is not valid. Verify that the action is typed correctly. +// +// - LimitExceededException +// Exceeded the maximum limit for connections. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/DeleteSyncConfiguration +func (c *CodeStarConnections) DeleteSyncConfiguration(input *DeleteSyncConfigurationInput) (*DeleteSyncConfigurationOutput, error) { + req, out := c.DeleteSyncConfigurationRequest(input) return out, req.Send() } -// GetHostWithContext is the same as GetHost with the addition of +// DeleteSyncConfigurationWithContext is the same as DeleteSyncConfiguration with the addition of // the ability to pass a context and additional request options. // -// See GetHost for details on how to use this API operation. +// See DeleteSyncConfiguration for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeStarConnections) GetHostWithContext(ctx aws.Context, input *GetHostInput, opts ...request.Option) (*GetHostOutput, error) { - req, out := c.GetHostRequest(input) +func (c *CodeStarConnections) DeleteSyncConfigurationWithContext(ctx aws.Context, input *DeleteSyncConfigurationInput, opts ...request.Option) (*DeleteSyncConfigurationOutput, error) { + req, out := c.DeleteSyncConfigurationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListConnections = "ListConnections" +const opGetConnection = "GetConnection" -// ListConnectionsRequest generates a "aws/request.Request" representing the -// client's request for the ListConnections operation. The "output" return +// GetConnectionRequest generates a "aws/request.Request" representing the +// client's request for the GetConnection operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListConnections for more information on using the ListConnections +// See GetConnection for more information on using the GetConnection // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListConnectionsRequest method. -// req, resp := client.ListConnectionsRequest(params) +// // Example sending a request using the GetConnectionRequest method. +// req, resp := client.GetConnectionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListConnections -func (c *CodeStarConnections) ListConnectionsRequest(input *ListConnectionsInput) (req *request.Request, output *ListConnectionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetConnection +func (c *CodeStarConnections) GetConnectionRequest(input *GetConnectionInput) (req *request.Request, output *GetConnectionOutput) { op := &request.Operation{ - Name: opListConnections, + Name: opGetConnection, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListConnectionsInput{} + input = &GetConnectionInput{} } - output = &ListConnectionsOutput{} + output = &GetConnectionOutput{} req = c.newRequest(op, input, output) return } -// ListConnections API operation for AWS CodeStar connections. +// GetConnection API operation for AWS CodeStar connections. // -// Lists the connections associated with your account. +// Returns the connection ARN and details such as status, owner, and provider +// type. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeStar connections's -// API operation ListConnections for usage and error information. +// API operation GetConnection for usage and error information. // // Returned Error Types: +// // - ResourceNotFoundException // Resource not found. Verify the connection resource ARN and try again. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListConnections -func (c *CodeStarConnections) ListConnections(input *ListConnectionsInput) (*ListConnectionsOutput, error) { - req, out := c.ListConnectionsRequest(input) +// - ResourceUnavailableException +// Resource not found. Verify the ARN for the host resource and try again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetConnection +func (c *CodeStarConnections) GetConnection(input *GetConnectionInput) (*GetConnectionOutput, error) { + req, out := c.GetConnectionRequest(input) return out, req.Send() } -// ListConnectionsWithContext is the same as ListConnections with the addition of +// GetConnectionWithContext is the same as GetConnection with the addition of // the ability to pass a context and additional request options. // -// See ListConnections for details on how to use this API operation. +// See GetConnection for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeStarConnections) ListConnectionsWithContext(ctx aws.Context, input *ListConnectionsInput, opts ...request.Option) (*ListConnectionsOutput, error) { - req, out := c.ListConnectionsRequest(input) +func (c *CodeStarConnections) GetConnectionWithContext(ctx aws.Context, input *GetConnectionInput, opts ...request.Option) (*GetConnectionOutput, error) { + req, out := c.GetConnectionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListConnectionsPages iterates over the pages of a ListConnections operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListConnections 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 ListConnections operation. -// pageNum := 0 -// err := client.ListConnectionsPages(params, -// func(page *codestarconnections.ListConnectionsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -func (c *CodeStarConnections) ListConnectionsPages(input *ListConnectionsInput, fn func(*ListConnectionsOutput, bool) bool) error { - return c.ListConnectionsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListConnectionsPagesWithContext same as ListConnectionsPages 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 *CodeStarConnections) ListConnectionsPagesWithContext(ctx aws.Context, input *ListConnectionsInput, fn func(*ListConnectionsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListConnectionsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListConnectionsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListConnectionsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListHosts = "ListHosts" - -// ListHostsRequest generates a "aws/request.Request" representing the -// client's request for the ListHosts operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. +const opGetHost = "GetHost" + +// GetHostRequest generates a "aws/request.Request" representing the +// client's request for the GetHost operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListHosts for more information on using the ListHosts +// See GetHost for more information on using the GetHost // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListHostsRequest method. -// req, resp := client.ListHostsRequest(params) +// // Example sending a request using the GetHostRequest method. +// req, resp := client.GetHostRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListHosts -func (c *CodeStarConnections) ListHostsRequest(input *ListHostsInput) (req *request.Request, output *ListHostsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetHost +func (c *CodeStarConnections) GetHostRequest(input *GetHostInput) (req *request.Request, output *GetHostOutput) { op := &request.Operation{ - Name: opListHosts, + Name: opGetHost, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListHostsInput{} + input = &GetHostInput{} } - output = &ListHostsOutput{} + output = &GetHostOutput{} req = c.newRequest(op, input, output) return } -// ListHosts API operation for AWS CodeStar connections. +// GetHost API operation for AWS CodeStar connections. // -// Lists the hosts associated with your account. +// Returns the host ARN and details such as status, provider type, endpoint, +// and, if applicable, the VPC 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 AWS CodeStar connections's -// API operation ListHosts for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListHosts -func (c *CodeStarConnections) ListHosts(input *ListHostsInput) (*ListHostsOutput, error) { - req, out := c.ListHostsRequest(input) +// API operation GetHost for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// Resource not found. Verify the connection resource ARN and try again. +// +// - ResourceUnavailableException +// Resource not found. Verify the ARN for the host resource and try again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetHost +func (c *CodeStarConnections) GetHost(input *GetHostInput) (*GetHostOutput, error) { + req, out := c.GetHostRequest(input) return out, req.Send() } -// ListHostsWithContext is the same as ListHosts with the addition of +// GetHostWithContext is the same as GetHost with the addition of // the ability to pass a context and additional request options. // -// See ListHosts for details on how to use this API operation. +// See GetHost for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeStarConnections) ListHostsWithContext(ctx aws.Context, input *ListHostsInput, opts ...request.Option) (*ListHostsOutput, error) { - req, out := c.ListHostsRequest(input) +func (c *CodeStarConnections) GetHostWithContext(ctx aws.Context, input *GetHostInput, opts ...request.Option) (*GetHostOutput, error) { + req, out := c.GetHostRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListHostsPages iterates over the pages of a ListHosts operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListHosts 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 ListHosts operation. -// pageNum := 0 -// err := client.ListHostsPages(params, -// func(page *codestarconnections.ListHostsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -func (c *CodeStarConnections) ListHostsPages(input *ListHostsInput, fn func(*ListHostsOutput, bool) bool) error { - return c.ListHostsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListHostsPagesWithContext same as ListHostsPages 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 *CodeStarConnections) ListHostsPagesWithContext(ctx aws.Context, input *ListHostsInput, fn func(*ListHostsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListHostsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListHostsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListHostsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListTagsForResource = "ListTagsForResource" +const opGetRepositoryLink = "GetRepositoryLink" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// GetRepositoryLinkRequest generates a "aws/request.Request" representing the +// client's request for the GetRepositoryLink operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 GetRepositoryLink for more information on using the GetRepositoryLink // API call, and error handling. // // This method is useful when you want to 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 GetRepositoryLinkRequest method. +// req, resp := client.GetRepositoryLinkRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListTagsForResource -func (c *CodeStarConnections) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetRepositoryLink +func (c *CodeStarConnections) GetRepositoryLinkRequest(input *GetRepositoryLinkInput) (req *request.Request, output *GetRepositoryLinkOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opGetRepositoryLink, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ListTagsForResourceInput{} + input = &GetRepositoryLinkInput{} } - output = &ListTagsForResourceOutput{} + output = &GetRepositoryLinkOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for AWS CodeStar connections. +// GetRepositoryLink API operation for AWS CodeStar connections. // -// Gets the set of key-value pairs (metadata) that are used to manage the resource. +// Returns details about a repository link. A repository link allows Git sync +// to monitor and sync changes from files in a specified Git repository. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeStar connections's -// API operation ListTagsForResource for usage and error information. +// API operation GetRepositoryLink for usage and error information. // // Returned Error Types: +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ConcurrentModificationException +// Exception thrown as a result of concurrent modification to an application. +// For example, two individuals attempting to edit the same application at the +// same time. +// +// - InternalServerException +// Received an internal server exception. Try again later. +// +// - InvalidInputException +// The input is not valid. Verify that the action is typed correctly. +// // - ResourceNotFoundException // Resource not found. Verify the connection resource ARN and try again. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListTagsForResource -func (c *CodeStarConnections) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// - ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetRepositoryLink +func (c *CodeStarConnections) GetRepositoryLink(input *GetRepositoryLinkInput) (*GetRepositoryLinkOutput, error) { + req, out := c.GetRepositoryLinkRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// GetRepositoryLinkWithContext is the same as GetRepositoryLink 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 GetRepositoryLink for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeStarConnections) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *CodeStarConnections) GetRepositoryLinkWithContext(ctx aws.Context, input *GetRepositoryLinkInput, opts ...request.Option) (*GetRepositoryLinkOutput, error) { + req, out := c.GetRepositoryLinkRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTagResource = "TagResource" +const opGetRepositorySyncStatus = "GetRepositorySyncStatus" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// GetRepositorySyncStatusRequest generates a "aws/request.Request" representing the +// client's request for the GetRepositorySyncStatus operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 GetRepositorySyncStatus for more information on using the GetRepositorySyncStatus // API call, and error handling. // // This method is useful when you want to 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 GetRepositorySyncStatusRequest method. +// req, resp := client.GetRepositorySyncStatusRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/TagResource -func (c *CodeStarConnections) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetRepositorySyncStatus +func (c *CodeStarConnections) GetRepositorySyncStatusRequest(input *GetRepositorySyncStatusInput) (req *request.Request, output *GetRepositorySyncStatusOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opGetRepositorySyncStatus, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &TagResourceInput{} + input = &GetRepositorySyncStatusInput{} } - output = &TagResourceOutput{} + output = &GetRepositorySyncStatusOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for AWS CodeStar connections. +// GetRepositorySyncStatus API operation for AWS CodeStar connections. // -// Adds to or modifies the tags of the given resource. Tags are metadata that -// can be used to manage a resource. +// Returns details about the sync status for a repository. A repository sync +// uses Git sync to push and pull changes from your remote repository. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeStar connections's -// API operation TagResource for usage and error information. +// API operation GetRepositorySyncStatus for usage and error information. // // Returned Error Types: // +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// Received an internal server exception. Try again later. +// +// - InvalidInputException +// The input is not valid. Verify that the action is typed correctly. +// // - ResourceNotFoundException // Resource not found. Verify the connection resource ARN and try again. // -// - LimitExceededException -// Exceeded the maximum limit for connections. +// - ThrottlingException +// The request was denied due to request throttling. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/TagResource -func (c *CodeStarConnections) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetRepositorySyncStatus +func (c *CodeStarConnections) GetRepositorySyncStatus(input *GetRepositorySyncStatusInput) (*GetRepositorySyncStatusOutput, error) { + req, out := c.GetRepositorySyncStatusRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// GetRepositorySyncStatusWithContext is the same as GetRepositorySyncStatus 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 GetRepositorySyncStatus for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeStarConnections) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *CodeStarConnections) GetRepositorySyncStatusWithContext(ctx aws.Context, input *GetRepositorySyncStatusInput, opts ...request.Option) (*GetRepositorySyncStatusOutput, error) { + req, out := c.GetRepositorySyncStatusRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +const opGetResourceSyncStatus = "GetResourceSyncStatus" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// GetResourceSyncStatusRequest generates a "aws/request.Request" representing the +// client's request for the GetResourceSyncStatus operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 GetResourceSyncStatus for more information on using the GetResourceSyncStatus // API call, and error handling. // // This method is useful when you want to 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 GetResourceSyncStatusRequest method. +// req, resp := client.GetResourceSyncStatusRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/UntagResource -func (c *CodeStarConnections) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetResourceSyncStatus +func (c *CodeStarConnections) GetResourceSyncStatusRequest(input *GetResourceSyncStatusInput) (req *request.Request, output *GetResourceSyncStatusOutput) { op := &request.Operation{ - Name: opUntagResource, + Name: opGetResourceSyncStatus, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UntagResourceInput{} + input = &GetResourceSyncStatusInput{} } - output = &UntagResourceOutput{} + output = &GetResourceSyncStatusOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UntagResource API operation for AWS CodeStar connections. +// GetResourceSyncStatus API operation for AWS CodeStar connections. // -// Removes tags from an Amazon Web Services resource. +// Returns the status of the sync with the Git repository for a specific Amazon +// Web Services resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeStar connections's -// API operation UntagResource for usage and error information. +// API operation GetResourceSyncStatus for usage and error information. // // Returned Error Types: +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// Received an internal server exception. Try again later. +// +// - InvalidInputException +// The input is not valid. Verify that the action is typed correctly. +// // - ResourceNotFoundException // Resource not found. Verify the connection resource ARN and try again. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/UntagResource -func (c *CodeStarConnections) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// - ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetResourceSyncStatus +func (c *CodeStarConnections) GetResourceSyncStatus(input *GetResourceSyncStatusInput) (*GetResourceSyncStatusOutput, error) { + req, out := c.GetResourceSyncStatusRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// GetResourceSyncStatusWithContext is the same as GetResourceSyncStatus 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 GetResourceSyncStatus for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeStarConnections) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *CodeStarConnections) GetResourceSyncStatusWithContext(ctx aws.Context, input *GetResourceSyncStatusInput, opts ...request.Option) (*GetResourceSyncStatusOutput, error) { + req, out := c.GetResourceSyncStatusRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateHost = "UpdateHost" +const opGetSyncBlockerSummary = "GetSyncBlockerSummary" -// UpdateHostRequest generates a "aws/request.Request" representing the -// client's request for the UpdateHost operation. The "output" return +// GetSyncBlockerSummaryRequest generates a "aws/request.Request" representing the +// client's request for the GetSyncBlockerSummary operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateHost for more information on using the UpdateHost +// See GetSyncBlockerSummary for more information on using the GetSyncBlockerSummary // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateHostRequest method. -// req, resp := client.UpdateHostRequest(params) +// // Example sending a request using the GetSyncBlockerSummaryRequest method. +// req, resp := client.GetSyncBlockerSummaryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/UpdateHost -func (c *CodeStarConnections) UpdateHostRequest(input *UpdateHostInput) (req *request.Request, output *UpdateHostOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetSyncBlockerSummary +func (c *CodeStarConnections) GetSyncBlockerSummaryRequest(input *GetSyncBlockerSummaryInput) (req *request.Request, output *GetSyncBlockerSummaryOutput) { op := &request.Operation{ - Name: opUpdateHost, + Name: opGetSyncBlockerSummary, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateHostInput{} + input = &GetSyncBlockerSummaryInput{} } - output = &UpdateHostOutput{} + output = &GetSyncBlockerSummaryOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateHost API operation for AWS CodeStar connections. +// GetSyncBlockerSummary API operation for AWS CodeStar connections. // -// Updates a specified host with the provided configurations. +// Returns a list of the most recent sync blockers. // // Returns awserr.Error for service API and SDK errors. Use runtime 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 CodeStar connections's -// API operation UpdateHost for usage and error information. +// API operation GetSyncBlockerSummary for usage and error information. // // Returned Error Types: // -// - ConflictException -// Two conflicting operations have been made on the same resource. +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// Received an internal server exception. Try again later. +// +// - InvalidInputException +// The input is not valid. Verify that the action is typed correctly. // // - ResourceNotFoundException // Resource not found. Verify the connection resource ARN and try again. // -// - ResourceUnavailableException -// Resource not found. Verify the ARN for the host resource and try again. +// - ThrottlingException +// The request was denied due to request throttling. // -// - UnsupportedOperationException -// The operation is not supported. Check the connection status and try again. +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetSyncBlockerSummary +func (c *CodeStarConnections) GetSyncBlockerSummary(input *GetSyncBlockerSummaryInput) (*GetSyncBlockerSummaryOutput, error) { + req, out := c.GetSyncBlockerSummaryRequest(input) + return out, req.Send() +} + +// GetSyncBlockerSummaryWithContext is the same as GetSyncBlockerSummary with the addition of +// the ability to pass a context and additional request options. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/UpdateHost -func (c *CodeStarConnections) UpdateHost(input *UpdateHostInput) (*UpdateHostOutput, error) { - req, out := c.UpdateHostRequest(input) +// See GetSyncBlockerSummary for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeStarConnections) GetSyncBlockerSummaryWithContext(ctx aws.Context, input *GetSyncBlockerSummaryInput, opts ...request.Option) (*GetSyncBlockerSummaryOutput, error) { + req, out := c.GetSyncBlockerSummaryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) return out, req.Send() } -// UpdateHostWithContext is the same as UpdateHost with the addition of +const opGetSyncConfiguration = "GetSyncConfiguration" + +// GetSyncConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetSyncConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetSyncConfiguration for more information on using the GetSyncConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetSyncConfigurationRequest method. +// req, resp := client.GetSyncConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetSyncConfiguration +func (c *CodeStarConnections) GetSyncConfigurationRequest(input *GetSyncConfigurationInput) (req *request.Request, output *GetSyncConfigurationOutput) { + op := &request.Operation{ + Name: opGetSyncConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetSyncConfigurationInput{} + } + + output = &GetSyncConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSyncConfiguration API operation for AWS CodeStar connections. +// +// Returns details about a sync configuration, including the sync type and resource +// name. A sync configuration allows the configuration to sync (push and pull) +// changes from the remote repository for a specified branch in a Git repository. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeStar connections's +// API operation GetSyncConfiguration for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// Received an internal server exception. Try again later. +// +// - InvalidInputException +// The input is not valid. Verify that the action is typed correctly. +// +// - ResourceNotFoundException +// Resource not found. Verify the connection resource ARN and try again. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/GetSyncConfiguration +func (c *CodeStarConnections) GetSyncConfiguration(input *GetSyncConfigurationInput) (*GetSyncConfigurationOutput, error) { + req, out := c.GetSyncConfigurationRequest(input) + return out, req.Send() +} + +// GetSyncConfigurationWithContext is the same as GetSyncConfiguration with the addition of // the ability to pass a context and additional request options. // -// See UpdateHost for details on how to use this API operation. +// See GetSyncConfiguration for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeStarConnections) UpdateHostWithContext(ctx aws.Context, input *UpdateHostInput, opts ...request.Option) (*UpdateHostOutput, error) { - req, out := c.UpdateHostRequest(input) +func (c *CodeStarConnections) GetSyncConfigurationWithContext(ctx aws.Context, input *GetSyncConfigurationInput, opts ...request.Option) (*GetSyncConfigurationOutput, error) { + req, out := c.GetSyncConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListConnections = "ListConnections" + +// ListConnectionsRequest generates a "aws/request.Request" representing the +// client's request for the ListConnections operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListConnections for more information on using the ListConnections +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListConnectionsRequest method. +// req, resp := client.ListConnectionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListConnections +func (c *CodeStarConnections) ListConnectionsRequest(input *ListConnectionsInput) (req *request.Request, output *ListConnectionsOutput) { + op := &request.Operation{ + Name: opListConnections, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListConnectionsInput{} + } + + output = &ListConnectionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListConnections API operation for AWS CodeStar connections. +// +// Lists the connections associated with 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 AWS CodeStar connections's +// API operation ListConnections for usage and error information. +// +// Returned Error Types: +// - ResourceNotFoundException +// Resource not found. Verify the connection resource ARN and try again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListConnections +func (c *CodeStarConnections) ListConnections(input *ListConnectionsInput) (*ListConnectionsOutput, error) { + req, out := c.ListConnectionsRequest(input) + return out, req.Send() +} + +// ListConnectionsWithContext is the same as ListConnections with the addition of +// the ability to pass a context and additional request options. +// +// See ListConnections for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeStarConnections) ListConnectionsWithContext(ctx aws.Context, input *ListConnectionsInput, opts ...request.Option) (*ListConnectionsOutput, error) { + req, out := c.ListConnectionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// Two conflicting operations have been made on the same resource. -type ConflictException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// ListConnectionsPages iterates over the pages of a ListConnections operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListConnections 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 ListConnections operation. +// pageNum := 0 +// err := client.ListConnectionsPages(params, +// func(page *codestarconnections.ListConnectionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CodeStarConnections) ListConnectionsPages(input *ListConnectionsInput, fn func(*ListConnectionsOutput, bool) bool) error { + return c.ListConnectionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListConnectionsPagesWithContext same as ListConnectionsPages 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 *CodeStarConnections) ListConnectionsPagesWithContext(ctx aws.Context, input *ListConnectionsInput, fn func(*ListConnectionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListConnectionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListConnectionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListConnectionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListHosts = "ListHosts" + +// ListHostsRequest generates a "aws/request.Request" representing the +// client's request for the ListHosts operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListHosts for more information on using the ListHosts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListHostsRequest method. +// req, resp := client.ListHostsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListHosts +func (c *CodeStarConnections) ListHostsRequest(input *ListHostsInput) (req *request.Request, output *ListHostsOutput) { + op := &request.Operation{ + Name: opListHosts, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListHostsInput{} + } + + output = &ListHostsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListHosts API operation for AWS CodeStar connections. +// +// Lists the hosts associated with 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 AWS CodeStar connections's +// API operation ListHosts for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListHosts +func (c *CodeStarConnections) ListHosts(input *ListHostsInput) (*ListHostsOutput, error) { + req, out := c.ListHostsRequest(input) + return out, req.Send() +} + +// ListHostsWithContext is the same as ListHosts with the addition of +// the ability to pass a context and additional request options. +// +// See ListHosts for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeStarConnections) ListHostsWithContext(ctx aws.Context, input *ListHostsInput, opts ...request.Option) (*ListHostsOutput, error) { + req, out := c.ListHostsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListHostsPages iterates over the pages of a ListHosts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListHosts 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 ListHosts operation. +// pageNum := 0 +// err := client.ListHostsPages(params, +// func(page *codestarconnections.ListHostsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CodeStarConnections) ListHostsPages(input *ListHostsInput, fn func(*ListHostsOutput, bool) bool) error { + return c.ListHostsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListHostsPagesWithContext same as ListHostsPages 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 *CodeStarConnections) ListHostsPagesWithContext(ctx aws.Context, input *ListHostsInput, fn func(*ListHostsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListHostsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListHostsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListHostsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListRepositoryLinks = "ListRepositoryLinks" + +// ListRepositoryLinksRequest generates a "aws/request.Request" representing the +// client's request for the ListRepositoryLinks operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListRepositoryLinks for more information on using the ListRepositoryLinks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListRepositoryLinksRequest method. +// req, resp := client.ListRepositoryLinksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListRepositoryLinks +func (c *CodeStarConnections) ListRepositoryLinksRequest(input *ListRepositoryLinksInput) (req *request.Request, output *ListRepositoryLinksOutput) { + op := &request.Operation{ + Name: opListRepositoryLinks, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListRepositoryLinksInput{} + } + + output = &ListRepositoryLinksOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListRepositoryLinks API operation for AWS CodeStar connections. +// +// Lists the repository links created for connections 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 +// the error. +// +// See the AWS API reference guide for AWS CodeStar connections's +// API operation ListRepositoryLinks for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ConcurrentModificationException +// Exception thrown as a result of concurrent modification to an application. +// For example, two individuals attempting to edit the same application at the +// same time. +// +// - InternalServerException +// Received an internal server exception. Try again later. +// +// - InvalidInputException +// The input is not valid. Verify that the action is typed correctly. +// +// - ResourceNotFoundException +// Resource not found. Verify the connection resource ARN and try again. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListRepositoryLinks +func (c *CodeStarConnections) ListRepositoryLinks(input *ListRepositoryLinksInput) (*ListRepositoryLinksOutput, error) { + req, out := c.ListRepositoryLinksRequest(input) + return out, req.Send() +} + +// ListRepositoryLinksWithContext is the same as ListRepositoryLinks with the addition of +// the ability to pass a context and additional request options. +// +// See ListRepositoryLinks for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeStarConnections) ListRepositoryLinksWithContext(ctx aws.Context, input *ListRepositoryLinksInput, opts ...request.Option) (*ListRepositoryLinksOutput, error) { + req, out := c.ListRepositoryLinksRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListRepositoryLinksPages iterates over the pages of a ListRepositoryLinks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRepositoryLinks 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 ListRepositoryLinks operation. +// pageNum := 0 +// err := client.ListRepositoryLinksPages(params, +// func(page *codestarconnections.ListRepositoryLinksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CodeStarConnections) ListRepositoryLinksPages(input *ListRepositoryLinksInput, fn func(*ListRepositoryLinksOutput, bool) bool) error { + return c.ListRepositoryLinksPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListRepositoryLinksPagesWithContext same as ListRepositoryLinksPages 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 *CodeStarConnections) ListRepositoryLinksPagesWithContext(ctx aws.Context, input *ListRepositoryLinksInput, fn func(*ListRepositoryLinksOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRepositoryLinksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRepositoryLinksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListRepositoryLinksOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListRepositorySyncDefinitions = "ListRepositorySyncDefinitions" + +// ListRepositorySyncDefinitionsRequest generates a "aws/request.Request" representing the +// client's request for the ListRepositorySyncDefinitions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListRepositorySyncDefinitions for more information on using the ListRepositorySyncDefinitions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListRepositorySyncDefinitionsRequest method. +// req, resp := client.ListRepositorySyncDefinitionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListRepositorySyncDefinitions +func (c *CodeStarConnections) ListRepositorySyncDefinitionsRequest(input *ListRepositorySyncDefinitionsInput) (req *request.Request, output *ListRepositorySyncDefinitionsOutput) { + op := &request.Operation{ + Name: opListRepositorySyncDefinitions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListRepositorySyncDefinitionsInput{} + } + + output = &ListRepositorySyncDefinitionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListRepositorySyncDefinitions API operation for AWS CodeStar connections. +// +// Lists the repository sync definitions for repository links 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 +// the error. +// +// See the AWS API reference guide for AWS CodeStar connections's +// API operation ListRepositorySyncDefinitions for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// Received an internal server exception. Try again later. +// +// - InvalidInputException +// The input is not valid. Verify that the action is typed correctly. +// +// - ResourceNotFoundException +// Resource not found. Verify the connection resource ARN and try again. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListRepositorySyncDefinitions +func (c *CodeStarConnections) ListRepositorySyncDefinitions(input *ListRepositorySyncDefinitionsInput) (*ListRepositorySyncDefinitionsOutput, error) { + req, out := c.ListRepositorySyncDefinitionsRequest(input) + return out, req.Send() +} + +// ListRepositorySyncDefinitionsWithContext is the same as ListRepositorySyncDefinitions with the addition of +// the ability to pass a context and additional request options. +// +// See ListRepositorySyncDefinitions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeStarConnections) ListRepositorySyncDefinitionsWithContext(ctx aws.Context, input *ListRepositorySyncDefinitionsInput, opts ...request.Option) (*ListRepositorySyncDefinitionsOutput, error) { + req, out := c.ListRepositorySyncDefinitionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListSyncConfigurations = "ListSyncConfigurations" + +// ListSyncConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the ListSyncConfigurations operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListSyncConfigurations for more information on using the ListSyncConfigurations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListSyncConfigurationsRequest method. +// req, resp := client.ListSyncConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListSyncConfigurations +func (c *CodeStarConnections) ListSyncConfigurationsRequest(input *ListSyncConfigurationsInput) (req *request.Request, output *ListSyncConfigurationsOutput) { + op := &request.Operation{ + Name: opListSyncConfigurations, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListSyncConfigurationsInput{} + } + + output = &ListSyncConfigurationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSyncConfigurations API operation for AWS CodeStar connections. +// +// Returns a list of sync configurations for a specified repository. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeStar connections's +// API operation ListSyncConfigurations for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// Received an internal server exception. Try again later. +// +// - InvalidInputException +// The input is not valid. Verify that the action is typed correctly. +// +// - ResourceNotFoundException +// Resource not found. Verify the connection resource ARN and try again. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListSyncConfigurations +func (c *CodeStarConnections) ListSyncConfigurations(input *ListSyncConfigurationsInput) (*ListSyncConfigurationsOutput, error) { + req, out := c.ListSyncConfigurationsRequest(input) + return out, req.Send() +} + +// ListSyncConfigurationsWithContext is the same as ListSyncConfigurations with the addition of +// the ability to pass a context and additional request options. +// +// See ListSyncConfigurations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeStarConnections) ListSyncConfigurationsWithContext(ctx aws.Context, input *ListSyncConfigurationsInput, opts ...request.Option) (*ListSyncConfigurationsOutput, error) { + req, out := c.ListSyncConfigurationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListSyncConfigurationsPages iterates over the pages of a ListSyncConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSyncConfigurations 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 ListSyncConfigurations operation. +// pageNum := 0 +// err := client.ListSyncConfigurationsPages(params, +// func(page *codestarconnections.ListSyncConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CodeStarConnections) ListSyncConfigurationsPages(input *ListSyncConfigurationsInput, fn func(*ListSyncConfigurationsOutput, bool) bool) error { + return c.ListSyncConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSyncConfigurationsPagesWithContext same as ListSyncConfigurationsPages 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 *CodeStarConnections) ListSyncConfigurationsPagesWithContext(ctx aws.Context, input *ListSyncConfigurationsInput, fn func(*ListSyncConfigurationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSyncConfigurationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSyncConfigurationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSyncConfigurationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListTagsForResource +func (c *CodeStarConnections) 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 AWS CodeStar connections. +// +// Gets the set of key-value pairs (metadata) that are used to manage the resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeStar connections's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// - ResourceNotFoundException +// Resource not found. Verify the connection resource ARN and try again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/ListTagsForResource +func (c *CodeStarConnections) 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 *CodeStarConnections) 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/codestar-connections-2019-12-01/TagResource +func (c *CodeStarConnections) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS CodeStar connections. +// +// Adds to or modifies the tags of the given resource. Tags are metadata that +// can be used to manage a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeStar connections's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// Resource not found. Verify the connection resource ARN and try again. +// +// - LimitExceededException +// Exceeded the maximum limit for connections. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/TagResource +func (c *CodeStarConnections) 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 *CodeStarConnections) 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/codestar-connections-2019-12-01/UntagResource +func (c *CodeStarConnections) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS CodeStar connections. +// +// Removes tags from an Amazon Web Services resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeStar connections's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// - ResourceNotFoundException +// Resource not found. Verify the connection resource ARN and try again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/UntagResource +func (c *CodeStarConnections) 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 *CodeStarConnections) 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 opUpdateHost = "UpdateHost" + +// UpdateHostRequest generates a "aws/request.Request" representing the +// client's request for the UpdateHost operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateHost for more information on using the UpdateHost +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateHostRequest method. +// req, resp := client.UpdateHostRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/UpdateHost +func (c *CodeStarConnections) UpdateHostRequest(input *UpdateHostInput) (req *request.Request, output *UpdateHostOutput) { + op := &request.Operation{ + Name: opUpdateHost, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateHostInput{} + } + + output = &UpdateHostOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateHost API operation for AWS CodeStar connections. +// +// Updates a specified host with the provided configurations. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 CodeStar connections's +// API operation UpdateHost for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Two conflicting operations have been made on the same resource. +// +// - ResourceNotFoundException +// Resource not found. Verify the connection resource ARN and try again. +// +// - ResourceUnavailableException +// Resource not found. Verify the ARN for the host resource and try again. +// +// - UnsupportedOperationException +// The operation is not supported. Check the connection status and try again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/UpdateHost +func (c *CodeStarConnections) UpdateHost(input *UpdateHostInput) (*UpdateHostOutput, error) { + req, out := c.UpdateHostRequest(input) + return out, req.Send() +} + +// UpdateHostWithContext is the same as UpdateHost with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateHost for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeStarConnections) UpdateHostWithContext(ctx aws.Context, input *UpdateHostInput, opts ...request.Option) (*UpdateHostOutput, error) { + req, out := c.UpdateHostRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRepositoryLink = "UpdateRepositoryLink" + +// UpdateRepositoryLinkRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRepositoryLink operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateRepositoryLink for more information on using the UpdateRepositoryLink +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateRepositoryLinkRequest method. +// req, resp := client.UpdateRepositoryLinkRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/UpdateRepositoryLink +func (c *CodeStarConnections) UpdateRepositoryLinkRequest(input *UpdateRepositoryLinkInput) (req *request.Request, output *UpdateRepositoryLinkOutput) { + op := &request.Operation{ + Name: opUpdateRepositoryLink, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateRepositoryLinkInput{} + } + + output = &UpdateRepositoryLinkOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateRepositoryLink API operation for AWS CodeStar connections. +// +// Updates the association between your connection and a specified external +// Git repository. A repository link allows Git sync to monitor and sync changes +// to files in a specified Git repository. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeStar connections's +// API operation UpdateRepositoryLink for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ConditionalCheckFailedException +// The conditional check failed. Try again later. +// +// - InternalServerException +// Received an internal server exception. Try again later. +// +// - InvalidInputException +// The input is not valid. Verify that the action is typed correctly. +// +// - ResourceNotFoundException +// Resource not found. Verify the connection resource ARN and try again. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - UpdateOutOfSyncException +// The update is out of sync. Try syncing again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/UpdateRepositoryLink +func (c *CodeStarConnections) UpdateRepositoryLink(input *UpdateRepositoryLinkInput) (*UpdateRepositoryLinkOutput, error) { + req, out := c.UpdateRepositoryLinkRequest(input) + return out, req.Send() +} + +// UpdateRepositoryLinkWithContext is the same as UpdateRepositoryLink with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRepositoryLink for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeStarConnections) UpdateRepositoryLinkWithContext(ctx aws.Context, input *UpdateRepositoryLinkInput, opts ...request.Option) (*UpdateRepositoryLinkOutput, error) { + req, out := c.UpdateRepositoryLinkRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateSyncBlocker = "UpdateSyncBlocker" + +// UpdateSyncBlockerRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSyncBlocker operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateSyncBlocker for more information on using the UpdateSyncBlocker +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateSyncBlockerRequest method. +// req, resp := client.UpdateSyncBlockerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/UpdateSyncBlocker +func (c *CodeStarConnections) UpdateSyncBlockerRequest(input *UpdateSyncBlockerInput) (req *request.Request, output *UpdateSyncBlockerOutput) { + op := &request.Operation{ + Name: opUpdateSyncBlocker, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateSyncBlockerInput{} + } + + output = &UpdateSyncBlockerOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateSyncBlocker API operation for AWS CodeStar connections. +// +// Allows you to update the status of a sync blocker, resolving the blocker +// and allowing syncing to continue. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 CodeStar connections's +// API operation UpdateSyncBlocker for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// Received an internal server exception. Try again later. +// +// - InvalidInputException +// The input is not valid. Verify that the action is typed correctly. +// +// - ResourceNotFoundException +// Resource not found. Verify the connection resource ARN and try again. +// +// - RetryLatestCommitFailedException +// Retrying the latest commit failed. Try again later. +// +// - SyncBlockerDoesNotExistException +// Unable to continue. The sync blocker does not exist. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/UpdateSyncBlocker +func (c *CodeStarConnections) UpdateSyncBlocker(input *UpdateSyncBlockerInput) (*UpdateSyncBlockerOutput, error) { + req, out := c.UpdateSyncBlockerRequest(input) + return out, req.Send() +} + +// UpdateSyncBlockerWithContext is the same as UpdateSyncBlocker with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSyncBlocker for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeStarConnections) UpdateSyncBlockerWithContext(ctx aws.Context, input *UpdateSyncBlockerInput, opts ...request.Option) (*UpdateSyncBlockerOutput, error) { + req, out := c.UpdateSyncBlockerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateSyncConfiguration = "UpdateSyncConfiguration" + +// UpdateSyncConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSyncConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateSyncConfiguration for more information on using the UpdateSyncConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateSyncConfigurationRequest method. +// req, resp := client.UpdateSyncConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/UpdateSyncConfiguration +func (c *CodeStarConnections) UpdateSyncConfigurationRequest(input *UpdateSyncConfigurationInput) (req *request.Request, output *UpdateSyncConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateSyncConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateSyncConfigurationInput{} + } + + output = &UpdateSyncConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateSyncConfiguration API operation for AWS CodeStar connections. +// +// Updates the sync configuration for your connection and a specified external +// Git repository. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeStar connections's +// API operation UpdateSyncConfiguration for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ConcurrentModificationException +// Exception thrown as a result of concurrent modification to an application. +// For example, two individuals attempting to edit the same application at the +// same time. +// +// - InternalServerException +// Received an internal server exception. Try again later. +// +// - InvalidInputException +// The input is not valid. Verify that the action is typed correctly. +// +// - ResourceNotFoundException +// Resource not found. Verify the connection resource ARN and try again. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - UpdateOutOfSyncException +// The update is out of sync. Try syncing again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-connections-2019-12-01/UpdateSyncConfiguration +func (c *CodeStarConnections) UpdateSyncConfiguration(input *UpdateSyncConfigurationInput) (*UpdateSyncConfigurationOutput, error) { + req, out := c.UpdateSyncConfigurationRequest(input) + return out, req.Send() +} + +// UpdateSyncConfigurationWithContext is the same as UpdateSyncConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSyncConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeStarConnections) UpdateSyncConfigurationWithContext(ctx aws.Context, input *UpdateSyncConfigurationInput, opts ...request.Option) (*UpdateSyncConfigurationOutput, error) { + req, out := c.UpdateSyncConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// You do not have sufficient access to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +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", s.Code(), s.Message()) +} + +// 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 +} + +// Exception thrown as a result of concurrent modification to an application. +// For example, two individuals attempting to edit the same application at the +// same time. +type ConcurrentModificationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConcurrentModificationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConcurrentModificationException) GoString() string { + return s.String() +} + +func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error { + return &ConcurrentModificationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConcurrentModificationException) Code() string { + return "ConcurrentModificationException" +} + +// Message returns the exception's message. +func (s *ConcurrentModificationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConcurrentModificationException) OrigErr() error { + return nil +} + +func (s *ConcurrentModificationException) 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 *ConcurrentModificationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConcurrentModificationException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The conditional check failed. Try again later. +type ConditionalCheckFailedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConditionalCheckFailedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConditionalCheckFailedException) GoString() string { + return s.String() +} + +func newErrorConditionalCheckFailedException(v protocol.ResponseMetadata) error { + return &ConditionalCheckFailedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConditionalCheckFailedException) Code() string { + return "ConditionalCheckFailedException" +} + +// Message returns the exception's message. +func (s *ConditionalCheckFailedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConditionalCheckFailedException) OrigErr() error { + return nil +} + +func (s *ConditionalCheckFailedException) 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 *ConditionalCheckFailedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConditionalCheckFailedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Two conflicting operations have been made on the same resource. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +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", s.Code(), s.Message()) +} + +// 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 +} + +// A resource that is used to connect third-party source providers with services +// like CodePipeline. +// +// Note: A connection created through CloudFormation, the CLI, or the SDK is +// in `PENDING` status by default. You can make its status `AVAILABLE` by updating +// the connection in the console. +type Connection struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the connection. The ARN is used as the + // connection reference when the connection is shared between Amazon Web Services. + // + // The ARN is never reused if the connection is deleted. + ConnectionArn *string `type:"string"` + + // The name of the connection. Connection names must be unique in an Amazon + // Web Services account. + ConnectionName *string `min:"1" type:"string"` + + // The current status of the connection. + ConnectionStatus *string `type:"string" enum:"ConnectionStatus"` + + // The Amazon Resource Name (ARN) of the host associated with the connection. + HostArn *string `type:"string"` + + // The identifier of the external provider where your third-party code repository + // is configured. For Bitbucket, this is the account ID of the owner of the + // Bitbucket repository. + OwnerAccountId *string `min:"12" type:"string"` + + // The name of the external provider where your third-party code repository + // is configured. + ProviderType *string `type:"string" enum:"ProviderType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Connection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Connection) GoString() string { + return s.String() +} + +// SetConnectionArn sets the ConnectionArn field's value. +func (s *Connection) SetConnectionArn(v string) *Connection { + s.ConnectionArn = &v + return s +} + +// SetConnectionName sets the ConnectionName field's value. +func (s *Connection) SetConnectionName(v string) *Connection { + s.ConnectionName = &v + return s +} + +// SetConnectionStatus sets the ConnectionStatus field's value. +func (s *Connection) SetConnectionStatus(v string) *Connection { + s.ConnectionStatus = &v + return s +} + +// SetHostArn sets the HostArn field's value. +func (s *Connection) SetHostArn(v string) *Connection { + s.HostArn = &v + return s +} + +// SetOwnerAccountId sets the OwnerAccountId field's value. +func (s *Connection) SetOwnerAccountId(v string) *Connection { + s.OwnerAccountId = &v + return s +} + +// SetProviderType sets the ProviderType field's value. +func (s *Connection) SetProviderType(v string) *Connection { + s.ProviderType = &v + return s +} + +type CreateConnectionInput struct { + _ struct{} `type:"structure"` + + // The name of the connection to be created. + // + // ConnectionName is a required field + ConnectionName *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the host associated with the connection + // to be created. + HostArn *string `type:"string"` + + // The name of the external provider where your third-party code repository + // is configured. + ProviderType *string `type:"string" enum:"ProviderType"` + + // The key-value pair to use when tagging the resource. + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateConnectionInput"} + if s.ConnectionName == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionName")) + } + if s.ConnectionName != nil && len(*s.ConnectionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConnectionName", 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 +} + +// SetConnectionName sets the ConnectionName field's value. +func (s *CreateConnectionInput) SetConnectionName(v string) *CreateConnectionInput { + s.ConnectionName = &v + return s +} + +// SetHostArn sets the HostArn field's value. +func (s *CreateConnectionInput) SetHostArn(v string) *CreateConnectionInput { + s.HostArn = &v + return s +} + +// SetProviderType sets the ProviderType field's value. +func (s *CreateConnectionInput) SetProviderType(v string) *CreateConnectionInput { + s.ProviderType = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateConnectionInput) SetTags(v []*Tag) *CreateConnectionInput { + s.Tags = v + return s +} + +type CreateConnectionOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the connection to be created. The ARN is + // used as the connection reference when the connection is shared between Amazon + // Web Services services. + // + // The ARN is never reused if the connection is deleted. + // + // ConnectionArn is a required field + ConnectionArn *string `type:"string" required:"true"` + + // Specifies the tags applied to the resource. + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateConnectionOutput) GoString() string { + return s.String() +} + +// SetConnectionArn sets the ConnectionArn field's value. +func (s *CreateConnectionOutput) SetConnectionArn(v string) *CreateConnectionOutput { + s.ConnectionArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateConnectionOutput) SetTags(v []*Tag) *CreateConnectionOutput { + s.Tags = v + return s +} + +type CreateHostInput struct { + _ struct{} `type:"structure"` + + // The name of the host to be created. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The endpoint of the infrastructure to be represented by the host after it + // is created. + // + // ProviderEndpoint is a required field + ProviderEndpoint *string `min:"1" type:"string" required:"true"` + + // The name of the installed provider to be associated with your connection. + // The host resource represents the infrastructure where your provider type + // is installed. The valid provider type is GitHub Enterprise Server. + // + // ProviderType is a required field + ProviderType *string `type:"string" required:"true" enum:"ProviderType"` + + // Tags for the host to be created. + Tags []*Tag `type:"list"` + + // The VPC configuration to be provisioned for the host. A VPC must be configured + // and the infrastructure to be represented by the host must already be connected + // to the VPC. + VpcConfiguration *VpcConfiguration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateHostInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateHostInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateHostInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateHostInput"} + 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.ProviderEndpoint == nil { + invalidParams.Add(request.NewErrParamRequired("ProviderEndpoint")) + } + if s.ProviderEndpoint != nil && len(*s.ProviderEndpoint) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProviderEndpoint", 1)) + } + if s.ProviderType == nil { + invalidParams.Add(request.NewErrParamRequired("ProviderType")) + } + 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.VpcConfiguration != nil { + if err := s.VpcConfiguration.Validate(); err != nil { + invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *CreateHostInput) SetName(v string) *CreateHostInput { + s.Name = &v + return s +} + +// SetProviderEndpoint sets the ProviderEndpoint field's value. +func (s *CreateHostInput) SetProviderEndpoint(v string) *CreateHostInput { + s.ProviderEndpoint = &v + return s +} + +// SetProviderType sets the ProviderType field's value. +func (s *CreateHostInput) SetProviderType(v string) *CreateHostInput { + s.ProviderType = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateHostInput) SetTags(v []*Tag) *CreateHostInput { + s.Tags = v + return s +} + +// SetVpcConfiguration sets the VpcConfiguration field's value. +func (s *CreateHostInput) SetVpcConfiguration(v *VpcConfiguration) *CreateHostInput { + s.VpcConfiguration = v + return s +} + +type CreateHostOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the host to be created. + HostArn *string `type:"string"` + + // Tags for the created host. + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateHostOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateHostOutput) GoString() string { + return s.String() +} + +// SetHostArn sets the HostArn field's value. +func (s *CreateHostOutput) SetHostArn(v string) *CreateHostOutput { + s.HostArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateHostOutput) SetTags(v []*Tag) *CreateHostOutput { + s.Tags = v + return s +} + +type CreateRepositoryLinkInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the connection to be associated with the + // repository link. + // + // ConnectionArn is a required field + ConnectionArn *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) encryption key for the repository to be associated + // with the repository link. + EncryptionKeyArn *string `min:"1" type:"string"` + + // The owner ID for the repository associated with a specific sync configuration, + // such as the owner ID in GitHub. + // + // OwnerId is a required field + OwnerId *string `min:"1" type:"string" required:"true"` + + // The name of the repository to be associated with the repository link. + // + // RepositoryName is a required field + RepositoryName *string `min:"1" type:"string" required:"true"` + + // The tags for the repository to be associated with the repository link. + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRepositoryLinkInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRepositoryLinkInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateRepositoryLinkInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRepositoryLinkInput"} + if s.ConnectionArn == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionArn")) + } + if s.EncryptionKeyArn != nil && len(*s.EncryptionKeyArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EncryptionKeyArn", 1)) + } + if s.OwnerId == nil { + invalidParams.Add(request.NewErrParamRequired("OwnerId")) + } + if s.OwnerId != nil && len(*s.OwnerId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OwnerId", 1)) + } + if s.RepositoryName == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryName")) + } + if s.RepositoryName != nil && len(*s.RepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1)) + } + if 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 +} + +// SetConnectionArn sets the ConnectionArn field's value. +func (s *CreateRepositoryLinkInput) SetConnectionArn(v string) *CreateRepositoryLinkInput { + s.ConnectionArn = &v + return s +} + +// SetEncryptionKeyArn sets the EncryptionKeyArn field's value. +func (s *CreateRepositoryLinkInput) SetEncryptionKeyArn(v string) *CreateRepositoryLinkInput { + s.EncryptionKeyArn = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *CreateRepositoryLinkInput) SetOwnerId(v string) *CreateRepositoryLinkInput { + s.OwnerId = &v + return s +} + +// SetRepositoryName sets the RepositoryName field's value. +func (s *CreateRepositoryLinkInput) SetRepositoryName(v string) *CreateRepositoryLinkInput { + s.RepositoryName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateRepositoryLinkInput) SetTags(v []*Tag) *CreateRepositoryLinkInput { + s.Tags = v + return s +} + +type CreateRepositoryLinkOutput struct { + _ struct{} `type:"structure"` + + // The returned information about the created repository link. + // + // RepositoryLinkInfo is a required field + RepositoryLinkInfo *RepositoryLinkInfo `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRepositoryLinkOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRepositoryLinkOutput) GoString() string { + return s.String() +} + +// SetRepositoryLinkInfo sets the RepositoryLinkInfo field's value. +func (s *CreateRepositoryLinkOutput) SetRepositoryLinkInfo(v *RepositoryLinkInfo) *CreateRepositoryLinkOutput { + s.RepositoryLinkInfo = v + return s +} + +type CreateSyncConfigurationInput struct { + _ struct{} `type:"structure"` + + // The branch in the repository from which changes will be synced. + // + // Branch is a required field + Branch *string `min:"1" type:"string" required:"true"` + + // The file name of the configuration file that manages syncing between the + // connection and the repository. This configuration file is stored in the repository. + // + // ConfigFile is a required field + ConfigFile *string `type:"string" required:"true"` + + // The ID of the repository link created for the connection. A repository link + // allows Git sync to monitor and sync changes to files in a specified Git repository. + // + // RepositoryLinkId is a required field + RepositoryLinkId *string `type:"string" required:"true"` + + // The name of the Amazon Web Services resource (for example, a CloudFormation + // stack in the case of CFN_STACK_SYNC) that will be synchronized from the linked + // repository. + // + // ResourceName is a required field + ResourceName *string `min:"1" type:"string" required:"true"` + + // The ARN of the IAM role that grants permission for Amazon Web Services to + // use Git sync to update a given Amazon Web Services resource on your behalf. + // + // RoleArn is a required field + RoleArn *string `min:"1" type:"string" required:"true"` + + // The type of sync configuration. + // + // SyncType is a required field + SyncType *string `type:"string" required:"true" enum:"SyncConfigurationType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSyncConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSyncConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSyncConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSyncConfigurationInput"} + if s.Branch == nil { + invalidParams.Add(request.NewErrParamRequired("Branch")) + } + if s.Branch != nil && len(*s.Branch) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Branch", 1)) + } + if s.ConfigFile == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigFile")) + } + if s.RepositoryLinkId == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryLinkId")) + } + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + if s.ResourceName != nil && len(*s.ResourceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceName", 1)) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) + } + if s.SyncType == nil { + invalidParams.Add(request.NewErrParamRequired("SyncType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBranch sets the Branch field's value. +func (s *CreateSyncConfigurationInput) SetBranch(v string) *CreateSyncConfigurationInput { + s.Branch = &v + return s +} + +// SetConfigFile sets the ConfigFile field's value. +func (s *CreateSyncConfigurationInput) SetConfigFile(v string) *CreateSyncConfigurationInput { + s.ConfigFile = &v + return s +} + +// SetRepositoryLinkId sets the RepositoryLinkId field's value. +func (s *CreateSyncConfigurationInput) SetRepositoryLinkId(v string) *CreateSyncConfigurationInput { + s.RepositoryLinkId = &v + return s +} + +// SetResourceName sets the ResourceName field's value. +func (s *CreateSyncConfigurationInput) SetResourceName(v string) *CreateSyncConfigurationInput { + s.ResourceName = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateSyncConfigurationInput) SetRoleArn(v string) *CreateSyncConfigurationInput { + s.RoleArn = &v + return s +} + +// SetSyncType sets the SyncType field's value. +func (s *CreateSyncConfigurationInput) SetSyncType(v string) *CreateSyncConfigurationInput { + s.SyncType = &v + return s +} + +type CreateSyncConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The created sync configuration for the connection. A sync configuration allows + // Amazon Web Services to sync content from a Git repository to update a specified + // Amazon Web Services resource. + // + // SyncConfiguration is a required field + SyncConfiguration *SyncConfiguration `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSyncConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSyncConfigurationOutput) GoString() string { + return s.String() +} + +// SetSyncConfiguration sets the SyncConfiguration field's value. +func (s *CreateSyncConfigurationOutput) SetSyncConfiguration(v *SyncConfiguration) *CreateSyncConfigurationOutput { + s.SyncConfiguration = v + return s +} + +type DeleteConnectionInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the connection to be deleted. + // + // The ARN is never reused if the connection is deleted. + // + // ConnectionArn is a required field + ConnectionArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteConnectionInput"} + if s.ConnectionArn == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConnectionArn sets the ConnectionArn field's value. +func (s *DeleteConnectionInput) SetConnectionArn(v string) *DeleteConnectionInput { + s.ConnectionArn = &v + return s +} + +type DeleteConnectionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConnectionOutput) GoString() string { + return s.String() +} + +type DeleteHostInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the host to be deleted. + // + // HostArn is a required field + HostArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteHostInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteHostInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteHostInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteHostInput"} + if s.HostArn == nil { + invalidParams.Add(request.NewErrParamRequired("HostArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHostArn sets the HostArn field's value. +func (s *DeleteHostInput) SetHostArn(v string) *DeleteHostInput { + s.HostArn = &v + return s +} + +type DeleteHostOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteHostOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteHostOutput) GoString() string { + return s.String() +} + +type DeleteRepositoryLinkInput struct { + _ struct{} `type:"structure"` + + // The ID of the repository link to be deleted. + // + // RepositoryLinkId is a required field + RepositoryLinkId *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRepositoryLinkInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRepositoryLinkInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteRepositoryLinkInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRepositoryLinkInput"} + if s.RepositoryLinkId == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryLinkId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRepositoryLinkId sets the RepositoryLinkId field's value. +func (s *DeleteRepositoryLinkInput) SetRepositoryLinkId(v string) *DeleteRepositoryLinkInput { + s.RepositoryLinkId = &v + return s +} + +type DeleteRepositoryLinkOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRepositoryLinkOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRepositoryLinkOutput) GoString() string { + return s.String() +} + +type DeleteSyncConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of the Amazon Web Services resource associated with the sync configuration + // to be deleted. + // + // ResourceName is a required field + ResourceName *string `min:"1" type:"string" required:"true"` + + // The type of sync configuration to be deleted. + // + // SyncType is a required field + SyncType *string `type:"string" required:"true" enum:"SyncConfigurationType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSyncConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSyncConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSyncConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSyncConfigurationInput"} + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + if s.ResourceName != nil && len(*s.ResourceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceName", 1)) + } + if s.SyncType == nil { + invalidParams.Add(request.NewErrParamRequired("SyncType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceName sets the ResourceName field's value. +func (s *DeleteSyncConfigurationInput) SetResourceName(v string) *DeleteSyncConfigurationInput { + s.ResourceName = &v + return s +} + +// SetSyncType sets the SyncType field's value. +func (s *DeleteSyncConfigurationInput) SetSyncType(v string) *DeleteSyncConfigurationInput { + s.SyncType = &v + return s +} + +type DeleteSyncConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSyncConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSyncConfigurationOutput) GoString() string { + return s.String() +} + +type GetConnectionInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of a connection. + // + // ConnectionArn is a required field + ConnectionArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConnectionInput"} + if s.ConnectionArn == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConnectionArn sets the ConnectionArn field's value. +func (s *GetConnectionInput) SetConnectionArn(v string) *GetConnectionInput { + s.ConnectionArn = &v + return s +} + +type GetConnectionOutput struct { + _ struct{} `type:"structure"` + + // The connection details, such as status, owner, and provider type. + Connection *Connection `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConnectionOutput) GoString() string { + return s.String() +} + +// SetConnection sets the Connection field's value. +func (s *GetConnectionOutput) SetConnection(v *Connection) *GetConnectionOutput { + s.Connection = v + return s +} + +type GetHostInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the requested host. + // + // HostArn is a required field + HostArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetHostInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetHostInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetHostInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetHostInput"} + if s.HostArn == nil { + invalidParams.Add(request.NewErrParamRequired("HostArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHostArn sets the HostArn field's value. +func (s *GetHostInput) SetHostArn(v string) *GetHostInput { + s.HostArn = &v + return s +} + +type GetHostOutput struct { + _ struct{} `type:"structure"` + + // The name of the requested host. + Name *string `min:"1" type:"string"` + + // The endpoint of the infrastructure represented by the requested host. + ProviderEndpoint *string `min:"1" type:"string"` + + // The provider type of the requested host, such as GitHub Enterprise Server. + ProviderType *string `type:"string" enum:"ProviderType"` + + // The status of the requested host. + Status *string `min:"1" type:"string"` + + // The VPC configuration of the requested host. + VpcConfiguration *VpcConfiguration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetHostOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetHostOutput) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *GetHostOutput) SetName(v string) *GetHostOutput { + s.Name = &v + return s +} + +// SetProviderEndpoint sets the ProviderEndpoint field's value. +func (s *GetHostOutput) SetProviderEndpoint(v string) *GetHostOutput { + s.ProviderEndpoint = &v + return s +} + +// SetProviderType sets the ProviderType field's value. +func (s *GetHostOutput) SetProviderType(v string) *GetHostOutput { + s.ProviderType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetHostOutput) SetStatus(v string) *GetHostOutput { + s.Status = &v + return s +} + +// SetVpcConfiguration sets the VpcConfiguration field's value. +func (s *GetHostOutput) SetVpcConfiguration(v *VpcConfiguration) *GetHostOutput { + s.VpcConfiguration = v + return s +} + +type GetRepositoryLinkInput struct { + _ struct{} `type:"structure"` + + // The ID of the repository link to get. + // + // RepositoryLinkId is a required field + RepositoryLinkId *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRepositoryLinkInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRepositoryLinkInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetRepositoryLinkInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetRepositoryLinkInput"} + if s.RepositoryLinkId == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryLinkId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRepositoryLinkId sets the RepositoryLinkId field's value. +func (s *GetRepositoryLinkInput) SetRepositoryLinkId(v string) *GetRepositoryLinkInput { + s.RepositoryLinkId = &v + return s +} + +type GetRepositoryLinkOutput struct { + _ struct{} `type:"structure"` + + // The information returned for a specified repository link. + // + // RepositoryLinkInfo is a required field + RepositoryLinkInfo *RepositoryLinkInfo `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRepositoryLinkOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRepositoryLinkOutput) GoString() string { + return s.String() +} + +// SetRepositoryLinkInfo sets the RepositoryLinkInfo field's value. +func (s *GetRepositoryLinkOutput) SetRepositoryLinkInfo(v *RepositoryLinkInfo) *GetRepositoryLinkOutput { + s.RepositoryLinkInfo = v + return s +} + +type GetRepositorySyncStatusInput struct { + _ struct{} `type:"structure"` + + // The branch of the repository link for the requested repository sync status. + // + // Branch is a required field + Branch *string `min:"1" type:"string" required:"true"` + + // The repository link ID for the requested repository sync status. + // + // RepositoryLinkId is a required field + RepositoryLinkId *string `type:"string" required:"true"` + + // The sync type of the requested sync status. + // + // SyncType is a required field + SyncType *string `type:"string" required:"true" enum:"SyncConfigurationType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRepositorySyncStatusInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRepositorySyncStatusInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetRepositorySyncStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetRepositorySyncStatusInput"} + if s.Branch == nil { + invalidParams.Add(request.NewErrParamRequired("Branch")) + } + if s.Branch != nil && len(*s.Branch) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Branch", 1)) + } + if s.RepositoryLinkId == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryLinkId")) + } + if s.SyncType == nil { + invalidParams.Add(request.NewErrParamRequired("SyncType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBranch sets the Branch field's value. +func (s *GetRepositorySyncStatusInput) SetBranch(v string) *GetRepositorySyncStatusInput { + s.Branch = &v + return s +} + +// SetRepositoryLinkId sets the RepositoryLinkId field's value. +func (s *GetRepositorySyncStatusInput) SetRepositoryLinkId(v string) *GetRepositorySyncStatusInput { + s.RepositoryLinkId = &v + return s +} + +// SetSyncType sets the SyncType field's value. +func (s *GetRepositorySyncStatusInput) SetSyncType(v string) *GetRepositorySyncStatusInput { + s.SyncType = &v + return s +} + +type GetRepositorySyncStatusOutput struct { + _ struct{} `type:"structure"` + + // The status of the latest sync returned for a specified repository and branch. + // + // LatestSync is a required field + LatestSync *RepositorySyncAttempt `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRepositorySyncStatusOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRepositorySyncStatusOutput) GoString() string { + return s.String() +} + +// SetLatestSync sets the LatestSync field's value. +func (s *GetRepositorySyncStatusOutput) SetLatestSync(v *RepositorySyncAttempt) *GetRepositorySyncStatusOutput { + s.LatestSync = v + return s +} + +type GetResourceSyncStatusInput struct { + _ struct{} `type:"structure"` + + // The name of the Amazon Web Services resource for the sync status with the + // Git repository. + // + // ResourceName is a required field + ResourceName *string `min:"1" type:"string" required:"true"` + + // The sync type for the sync status with the Git repository. + // + // SyncType is a required field + SyncType *string `type:"string" required:"true" enum:"SyncConfigurationType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetResourceSyncStatusInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetResourceSyncStatusInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResourceSyncStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResourceSyncStatusInput"} + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + if s.ResourceName != nil && len(*s.ResourceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceName", 1)) + } + if s.SyncType == nil { + invalidParams.Add(request.NewErrParamRequired("SyncType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceName sets the ResourceName field's value. +func (s *GetResourceSyncStatusInput) SetResourceName(v string) *GetResourceSyncStatusInput { + s.ResourceName = &v + return s +} + +// SetSyncType sets the SyncType field's value. +func (s *GetResourceSyncStatusInput) SetSyncType(v string) *GetResourceSyncStatusInput { + s.SyncType = &v + return s +} + +type GetResourceSyncStatusOutput struct { + _ struct{} `type:"structure"` + + // The desired state of the Amazon Web Services resource for the sync status + // with the Git repository. + DesiredState *Revision `type:"structure"` + + // The latest successful sync for the sync status with the Git repository. + LatestSuccessfulSync *ResourceSyncAttempt `type:"structure"` + + // The latest sync for the sync status with the Git repository, whether successful + // or not. + // + // LatestSync is a required field + LatestSync *ResourceSyncAttempt `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetResourceSyncStatusOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetResourceSyncStatusOutput) GoString() string { + return s.String() +} + +// SetDesiredState sets the DesiredState field's value. +func (s *GetResourceSyncStatusOutput) SetDesiredState(v *Revision) *GetResourceSyncStatusOutput { + s.DesiredState = v + return s +} + +// SetLatestSuccessfulSync sets the LatestSuccessfulSync field's value. +func (s *GetResourceSyncStatusOutput) SetLatestSuccessfulSync(v *ResourceSyncAttempt) *GetResourceSyncStatusOutput { + s.LatestSuccessfulSync = v + return s +} + +// SetLatestSync sets the LatestSync field's value. +func (s *GetResourceSyncStatusOutput) SetLatestSync(v *ResourceSyncAttempt) *GetResourceSyncStatusOutput { + s.LatestSync = v + return s +} + +type GetSyncBlockerSummaryInput struct { + _ struct{} `type:"structure"` + + // The name of the Amazon Web Services resource currently blocked from automatically + // being synced from a Git repository. + // + // ResourceName is a required field + ResourceName *string `min:"1" type:"string" required:"true"` + + // The sync type for the sync blocker summary. + // + // SyncType is a required field + SyncType *string `type:"string" required:"true" enum:"SyncConfigurationType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetSyncBlockerSummaryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetSyncBlockerSummaryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSyncBlockerSummaryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSyncBlockerSummaryInput"} + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + if s.ResourceName != nil && len(*s.ResourceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceName", 1)) + } + if s.SyncType == nil { + invalidParams.Add(request.NewErrParamRequired("SyncType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceName sets the ResourceName field's value. +func (s *GetSyncBlockerSummaryInput) SetResourceName(v string) *GetSyncBlockerSummaryInput { + s.ResourceName = &v + return s +} + +// SetSyncType sets the SyncType field's value. +func (s *GetSyncBlockerSummaryInput) SetSyncType(v string) *GetSyncBlockerSummaryInput { + s.SyncType = &v + return s +} + +type GetSyncBlockerSummaryOutput struct { + _ struct{} `type:"structure"` + + // The list of sync blockers for a specified resource. + // + // SyncBlockerSummary is a required field + SyncBlockerSummary *SyncBlockerSummary `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetSyncBlockerSummaryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetSyncBlockerSummaryOutput) GoString() string { + return s.String() +} + +// SetSyncBlockerSummary sets the SyncBlockerSummary field's value. +func (s *GetSyncBlockerSummaryOutput) SetSyncBlockerSummary(v *SyncBlockerSummary) *GetSyncBlockerSummaryOutput { + s.SyncBlockerSummary = v + return s +} + +type GetSyncConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of the Amazon Web Services resource for the sync configuration for + // which you want to retrieve information. + // + // ResourceName is a required field + ResourceName *string `min:"1" type:"string" required:"true"` + + // The sync type for the sync configuration for which you want to retrieve information. + // + // SyncType is a required field + SyncType *string `type:"string" required:"true" enum:"SyncConfigurationType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetSyncConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetSyncConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSyncConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSyncConfigurationInput"} + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + if s.ResourceName != nil && len(*s.ResourceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceName", 1)) + } + if s.SyncType == nil { + invalidParams.Add(request.NewErrParamRequired("SyncType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceName sets the ResourceName field's value. +func (s *GetSyncConfigurationInput) SetResourceName(v string) *GetSyncConfigurationInput { + s.ResourceName = &v + return s +} + +// SetSyncType sets the SyncType field's value. +func (s *GetSyncConfigurationInput) SetSyncType(v string) *GetSyncConfigurationInput { + s.SyncType = &v + return s +} + +type GetSyncConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The details about the sync configuration for which you want to retrieve information. + // + // SyncConfiguration is a required field + SyncConfiguration *SyncConfiguration `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetSyncConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetSyncConfigurationOutput) GoString() string { + return s.String() +} + +// SetSyncConfiguration sets the SyncConfiguration field's value. +func (s *GetSyncConfigurationOutput) SetSyncConfiguration(v *SyncConfiguration) *GetSyncConfigurationOutput { + s.SyncConfiguration = v + return s +} + +// A resource that represents the infrastructure where a third-party provider +// is installed. The host is used when you create connections to an installed +// third-party provider type, such as GitHub Enterprise Server. You create one +// host for all connections to that provider. +// +// A host created through the CLI or the SDK is in `PENDING` status by default. +// You can make its status `AVAILABLE` by setting up the host in the console. +type Host struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the host. + HostArn *string `type:"string"` + + // The name of the host. + Name *string `min:"1" type:"string"` + + // The endpoint of the infrastructure where your provider type is installed. + ProviderEndpoint *string `min:"1" type:"string"` + + // The name of the installed provider to be associated with your connection. + // The host resource represents the infrastructure where your provider type + // is installed. The valid provider type is GitHub Enterprise Server. + ProviderType *string `type:"string" enum:"ProviderType"` + + // The status of the host, such as PENDING, AVAILABLE, VPC_CONFIG_DELETING, + // VPC_CONFIG_INITIALIZING, and VPC_CONFIG_FAILED_INITIALIZATION. + Status *string `min:"1" type:"string"` + + // The status description for the host. + StatusMessage *string `type:"string"` + + // The VPC configuration provisioned for the host. + VpcConfiguration *VpcConfiguration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Host) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Host) GoString() string { + return s.String() +} + +// SetHostArn sets the HostArn field's value. +func (s *Host) SetHostArn(v string) *Host { + s.HostArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *Host) SetName(v string) *Host { + s.Name = &v + return s +} + +// SetProviderEndpoint sets the ProviderEndpoint field's value. +func (s *Host) SetProviderEndpoint(v string) *Host { + s.ProviderEndpoint = &v + return s +} + +// SetProviderType sets the ProviderType field's value. +func (s *Host) SetProviderType(v string) *Host { + s.ProviderType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Host) SetStatus(v string) *Host { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *Host) SetStatusMessage(v string) *Host { + s.StatusMessage = &v + return s +} + +// SetVpcConfiguration sets the VpcConfiguration field's value. +func (s *Host) SetVpcConfiguration(v *VpcConfiguration) *Host { + s.VpcConfiguration = v + return s +} + +// Received an internal server exception. Try again later. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) 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 *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The input is not valid. Verify that the action is typed correctly. +type InvalidInputException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidInputException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidInputException) GoString() string { + return s.String() +} + +func newErrorInvalidInputException(v protocol.ResponseMetadata) error { + return &InvalidInputException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidInputException) Code() string { + return "InvalidInputException" +} + +// Message returns the exception's message. +func (s *InvalidInputException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidInputException) OrigErr() error { + return nil +} + +func (s *InvalidInputException) 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 *InvalidInputException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidInputException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Exceeded the maximum limit for connections. +type LimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LimitExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LimitExceededException) 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 +} + +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 ListConnectionsInput struct { + _ struct{} `type:"structure"` + + // Filters the list of connections to those associated with a specified host. + HostArnFilter *string `type:"string"` + + // The maximum number of results to return in a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `type:"integer"` + + // The token that was returned from the previous ListConnections call, which + // can be used to return the next set of connections in the list. + NextToken *string `min:"1" type:"string"` + + // Filters the list of connections to those associated with a specified provider, + // such as Bitbucket. + ProviderTypeFilter *string `type:"string" enum:"ProviderType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListConnectionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListConnectionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListConnectionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListConnectionsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHostArnFilter sets the HostArnFilter field's value. +func (s *ListConnectionsInput) SetHostArnFilter(v string) *ListConnectionsInput { + s.HostArnFilter = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListConnectionsInput) SetMaxResults(v int64) *ListConnectionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListConnectionsInput) SetNextToken(v string) *ListConnectionsInput { + s.NextToken = &v + return s +} + +// SetProviderTypeFilter sets the ProviderTypeFilter field's value. +func (s *ListConnectionsInput) SetProviderTypeFilter(v string) *ListConnectionsInput { + s.ProviderTypeFilter = &v + return s +} + +type ListConnectionsOutput struct { + _ struct{} `type:"structure"` + + // A list of connections and the details for each connection, such as status, + // owner, and provider type. + Connections []*Connection `type:"list"` + + // A token that can be used in the next ListConnections call. To view all items + // in the list, continue to call this operation with each subsequent token until + // no more nextToken values are returned. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListConnectionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListConnectionsOutput) GoString() string { + return s.String() +} + +// SetConnections sets the Connections field's value. +func (s *ListConnectionsOutput) SetConnections(v []*Connection) *ListConnectionsOutput { + s.Connections = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListConnectionsOutput) SetNextToken(v string) *ListConnectionsOutput { + s.NextToken = &v + return s +} + +type ListHostsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return in a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `type:"integer"` + + // The token that was returned from the previous ListHosts call, which can be + // used to return the next set of hosts in the list. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListHostsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListHostsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListHostsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListHostsInput"} + 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 *ListHostsInput) SetMaxResults(v int64) *ListHostsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListHostsInput) SetNextToken(v string) *ListHostsInput { + s.NextToken = &v + return s +} + +type ListHostsOutput struct { + _ struct{} `type:"structure"` + + // A list of hosts and the details for each host, such as status, endpoint, + // and provider type. + Hosts []*Host `type:"list"` + + // A token that can be used in the next ListHosts call. To view all items in + // the list, continue to call this operation with each subsequent token until + // no more nextToken values are returned. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListHostsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListHostsOutput) GoString() string { + return s.String() +} + +// SetHosts sets the Hosts field's value. +func (s *ListHostsOutput) SetHosts(v []*Host) *ListHostsOutput { + s.Hosts = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListHostsOutput) SetNextToken(v string) *ListHostsOutput { + s.NextToken = &v + return s +} + +type ListRepositoryLinksInput struct { + _ struct{} `type:"structure"` + + // A non-zero, non-negative integer used to limit the number of returned results. + MaxResults *int64 `type:"integer"` + + // An enumeration token that, when provided in a request, returns the next batch + // of the results. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRepositoryLinksInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRepositoryLinksInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListRepositoryLinksInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRepositoryLinksInput"} + 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 *ListRepositoryLinksInput) SetMaxResults(v int64) *ListRepositoryLinksInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRepositoryLinksInput) SetNextToken(v string) *ListRepositoryLinksInput { + s.NextToken = &v + return s +} + +type ListRepositoryLinksOutput struct { + _ struct{} `type:"structure"` + + // An enumeration token that allows the operation to batch the results of the + // operation. + NextToken *string `min:"1" type:"string"` + + // Lists the repository links called by the list repository links operation. + // + // RepositoryLinks is a required field + RepositoryLinks []*RepositoryLinkInfo `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRepositoryLinksOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRepositoryLinksOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRepositoryLinksOutput) SetNextToken(v string) *ListRepositoryLinksOutput { + s.NextToken = &v + return s +} + +// SetRepositoryLinks sets the RepositoryLinks field's value. +func (s *ListRepositoryLinksOutput) SetRepositoryLinks(v []*RepositoryLinkInfo) *ListRepositoryLinksOutput { + s.RepositoryLinks = v + return s +} + +type ListRepositorySyncDefinitionsInput struct { + _ struct{} `type:"structure"` + + // The ID of the repository link for the sync definition for which you want + // to retrieve information. + // + // RepositoryLinkId is a required field + RepositoryLinkId *string `type:"string" required:"true"` + + // The sync type of the repository link for the the sync definition for which + // you want to retrieve information. + // + // SyncType is a required field + SyncType *string `type:"string" required:"true" enum:"SyncConfigurationType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRepositorySyncDefinitionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRepositorySyncDefinitionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListRepositorySyncDefinitionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRepositorySyncDefinitionsInput"} + if s.RepositoryLinkId == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryLinkId")) + } + if s.SyncType == nil { + invalidParams.Add(request.NewErrParamRequired("SyncType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRepositoryLinkId sets the RepositoryLinkId field's value. +func (s *ListRepositorySyncDefinitionsInput) SetRepositoryLinkId(v string) *ListRepositorySyncDefinitionsInput { + s.RepositoryLinkId = &v + return s +} + +// SetSyncType sets the SyncType field's value. +func (s *ListRepositorySyncDefinitionsInput) SetSyncType(v string) *ListRepositorySyncDefinitionsInput { + s.SyncType = &v + return s +} + +type ListRepositorySyncDefinitionsOutput struct { + _ struct{} `type:"structure"` + + // An enumeration token that, when provided in a request, returns the next batch + // of the results. + NextToken *string `min:"1" type:"string"` + + // The list of repository sync definitions returned by the request. A RepositorySyncDefinition + // is a mapping from a repository branch to all the Amazon Web Services resources + // that are being synced from that branch. + // + // RepositorySyncDefinitions is a required field + RepositorySyncDefinitions []*RepositorySyncDefinition `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRepositorySyncDefinitionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRepositorySyncDefinitionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRepositorySyncDefinitionsOutput) SetNextToken(v string) *ListRepositorySyncDefinitionsOutput { + s.NextToken = &v + return s +} + +// SetRepositorySyncDefinitions sets the RepositorySyncDefinitions field's value. +func (s *ListRepositorySyncDefinitionsOutput) SetRepositorySyncDefinitions(v []*RepositorySyncDefinition) *ListRepositorySyncDefinitionsOutput { + s.RepositorySyncDefinitions = v + return s +} - Message_ *string `locationName:"Message" type:"string"` +type ListSyncConfigurationsInput struct { + _ struct{} `type:"structure"` + + // A non-zero, non-negative integer used to limit the number of returned results. + MaxResults *int64 `type:"integer"` + + // An enumeration token that allows the operation to batch the results of the + // operation. + NextToken *string `min:"1" type:"string"` + + // The ID of the repository link for the requested list of sync configurations. + // + // RepositoryLinkId is a required field + RepositoryLinkId *string `type:"string" required:"true"` + + // The sync type for the requested list of sync configurations. + // + // SyncType is a required field + SyncType *string `type:"string" required:"true" enum:"SyncConfigurationType"` } // String returns the string representation. @@ -1124,7 +5333,7 @@ type ConflictException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConflictException) String() string { +func (s ListSyncConfigurationsInput) String() string { return awsutil.Prettify(s) } @@ -1133,81 +5342,104 @@ func (s ConflictException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConflictException) GoString() string { +func (s ListSyncConfigurationsInput) 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 *ListSyncConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSyncConfigurationsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.RepositoryLinkId == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryLinkId")) + } + if s.SyncType == nil { + invalidParams.Add(request.NewErrParamRequired("SyncType")) } -} - -// 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 invalidParams.Len() > 0 { + return invalidParams } - return "" + return nil } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ConflictException) OrigErr() error { - return nil +// SetMaxResults sets the MaxResults field's value. +func (s *ListSyncConfigurationsInput) SetMaxResults(v int64) *ListSyncConfigurationsInput { + s.MaxResults = &v + return s } -func (s *ConflictException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetNextToken sets the NextToken field's value. +func (s *ListSyncConfigurationsInput) SetNextToken(v string) *ListSyncConfigurationsInput { + s.NextToken = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ConflictException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetRepositoryLinkId sets the RepositoryLinkId field's value. +func (s *ListSyncConfigurationsInput) SetRepositoryLinkId(v string) *ListSyncConfigurationsInput { + s.RepositoryLinkId = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ConflictException) RequestID() string { - return s.RespMetadata.RequestID +// SetSyncType sets the SyncType field's value. +func (s *ListSyncConfigurationsInput) SetSyncType(v string) *ListSyncConfigurationsInput { + s.SyncType = &v + return s } -// A resource that is used to connect third-party source providers with services -// like CodePipeline. -// -// Note: A connection created through CloudFormation, the CLI, or the SDK is -// in `PENDING` status by default. You can make its status `AVAILABLE` by updating -// the connection in the console. -type Connection struct { +type ListSyncConfigurationsOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the connection. The ARN is used as the - // connection reference when the connection is shared between Amazon Web Services. + // An enumeration token that allows the operation to batch the next results + // of the operation. + NextToken *string `min:"1" type:"string"` + + // The list of repository sync definitions returned by the request. // - // The ARN is never reused if the connection is deleted. - ConnectionArn *string `type:"string"` + // SyncConfigurations is a required field + SyncConfigurations []*SyncConfiguration `type:"list" required:"true"` +} - // The name of the connection. Connection names must be unique in an Amazon - // Web Services account. - ConnectionName *string `min:"1" type:"string"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListSyncConfigurationsOutput) String() string { + return awsutil.Prettify(s) +} - // The current status of the connection. - ConnectionStatus *string `type:"string" enum:"ConnectionStatus"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListSyncConfigurationsOutput) GoString() string { + return s.String() +} - // The Amazon Resource Name (ARN) of the host associated with the connection. - HostArn *string `type:"string"` +// SetNextToken sets the NextToken field's value. +func (s *ListSyncConfigurationsOutput) SetNextToken(v string) *ListSyncConfigurationsOutput { + s.NextToken = &v + return s +} - // The identifier of the external provider where your third-party code repository - // is configured. For Bitbucket, this is the account ID of the owner of the - // Bitbucket repository. - OwnerAccountId *string `min:"12" type:"string"` +// SetSyncConfigurations sets the SyncConfigurations field's value. +func (s *ListSyncConfigurationsOutput) SetSyncConfigurations(v []*SyncConfiguration) *ListSyncConfigurationsOutput { + s.SyncConfigurations = v + return s +} - // The name of the external provider where your third-party code repository - // is configured. - ProviderType *string `type:"string" enum:"ProviderType"` +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource for which you want to get + // information about tags, if any. + // + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -1215,7 +5447,7 @@ type Connection struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Connection) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } @@ -1224,64 +5456,104 @@ func (s Connection) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Connection) GoString() string { +func (s ListTagsForResourceInput) GoString() string { return s.String() } -// SetConnectionArn sets the ConnectionArn field's value. -func (s *Connection) SetConnectionArn(v string) *Connection { - s.ConnectionArn = &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.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 } -// SetConnectionName sets the ConnectionName field's value. -func (s *Connection) SetConnectionName(v string) *Connection { - s.ConnectionName = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v return s } -// SetConnectionStatus sets the ConnectionStatus field's value. -func (s *Connection) SetConnectionStatus(v string) *Connection { - s.ConnectionStatus = &v - return s +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // A list of tag key and value pairs associated with the specified resource. + Tags []*Tag `type:"list"` } -// SetHostArn sets the HostArn field's value. -func (s *Connection) SetHostArn(v string) *Connection { - s.HostArn = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) } -// SetOwnerAccountId sets the OwnerAccountId field's value. -func (s *Connection) SetOwnerAccountId(v string) *Connection { - s.OwnerAccountId = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() } -// SetProviderType sets the ProviderType field's value. -func (s *Connection) SetProviderType(v string) *Connection { - s.ProviderType = &v +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v return s } -type CreateConnectionInput struct { +// Information about the repository link resource, such as the repository link +// ARN, the associated connection ARN, encryption key ARN, and owner ID. +type RepositoryLinkInfo struct { _ struct{} `type:"structure"` - // The name of the connection to be created. + // The Amazon Resource Name (ARN) of the connection associated with the repository + // link. // - // ConnectionName is a required field - ConnectionName *string `min:"1" type:"string" required:"true"` + // ConnectionArn is a required field + ConnectionArn *string `type:"string" required:"true"` - // The Amazon Resource Name (ARN) of the host associated with the connection - // to be created. - HostArn *string `type:"string"` + // The Amazon Resource Name (ARN) of the encryption key for the repository associated + // with the repository link. + EncryptionKeyArn *string `min:"1" type:"string"` - // The name of the external provider where your third-party code repository - // is configured. - ProviderType *string `type:"string" enum:"ProviderType"` + // The owner ID for the repository associated with the repository link, such + // as the owner ID in GitHub. + // + // OwnerId is a required field + OwnerId *string `min:"1" type:"string" required:"true"` - // The key-value pair to use when tagging the resource. - Tags []*Tag `type:"list"` + // The provider type for the connection, such as GitHub, associated with the + // repository link. + // + // ProviderType is a required field + ProviderType *string `type:"string" required:"true" enum:"ProviderType"` + + // The Amazon Resource Name (ARN) of the repository link. + // + // RepositoryLinkArn is a required field + RepositoryLinkArn *string `type:"string" required:"true"` + + // The ID of the repository link. + // + // RepositoryLinkId is a required field + RepositoryLinkId *string `type:"string" required:"true"` + + // The name of the repository associated with the repository link. + // + // RepositoryName is a required field + RepositoryName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -1289,7 +5561,7 @@ type CreateConnectionInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateConnectionInput) String() string { +func (s RepositoryLinkInfo) String() string { return awsutil.Prettify(s) } @@ -1298,74 +5570,83 @@ func (s CreateConnectionInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateConnectionInput) GoString() string { +func (s RepositoryLinkInfo) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateConnectionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateConnectionInput"} - if s.ConnectionName == nil { - invalidParams.Add(request.NewErrParamRequired("ConnectionName")) - } - if s.ConnectionName != nil && len(*s.ConnectionName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ConnectionName", 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 +// SetConnectionArn sets the ConnectionArn field's value. +func (s *RepositoryLinkInfo) SetConnectionArn(v string) *RepositoryLinkInfo { + s.ConnectionArn = &v + return s } -// SetConnectionName sets the ConnectionName field's value. -func (s *CreateConnectionInput) SetConnectionName(v string) *CreateConnectionInput { - s.ConnectionName = &v +// SetEncryptionKeyArn sets the EncryptionKeyArn field's value. +func (s *RepositoryLinkInfo) SetEncryptionKeyArn(v string) *RepositoryLinkInfo { + s.EncryptionKeyArn = &v return s } -// SetHostArn sets the HostArn field's value. -func (s *CreateConnectionInput) SetHostArn(v string) *CreateConnectionInput { - s.HostArn = &v +// SetOwnerId sets the OwnerId field's value. +func (s *RepositoryLinkInfo) SetOwnerId(v string) *RepositoryLinkInfo { + s.OwnerId = &v return s } // SetProviderType sets the ProviderType field's value. -func (s *CreateConnectionInput) SetProviderType(v string) *CreateConnectionInput { +func (s *RepositoryLinkInfo) SetProviderType(v string) *RepositoryLinkInfo { s.ProviderType = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateConnectionInput) SetTags(v []*Tag) *CreateConnectionInput { - s.Tags = v +// SetRepositoryLinkArn sets the RepositoryLinkArn field's value. +func (s *RepositoryLinkInfo) SetRepositoryLinkArn(v string) *RepositoryLinkInfo { + s.RepositoryLinkArn = &v return s } -type CreateConnectionOutput struct { - _ struct{} `type:"structure"` +// SetRepositoryLinkId sets the RepositoryLinkId field's value. +func (s *RepositoryLinkInfo) SetRepositoryLinkId(v string) *RepositoryLinkInfo { + s.RepositoryLinkId = &v + return s +} - // The Amazon Resource Name (ARN) of the connection to be created. The ARN is - // used as the connection reference when the connection is shared between Amazon - // Web Services services. +// SetRepositoryName sets the RepositoryName field's value. +func (s *RepositoryLinkInfo) SetRepositoryName(v string) *RepositoryLinkInfo { + s.RepositoryName = &v + return s +} + +// Information about a repository sync attempt for a repository with a sync +// configuration. +type RepositorySyncAttempt struct { + _ struct{} `type:"structure"` + + // The events associated with a specific sync attempt. // - // The ARN is never reused if the connection is deleted. + // Events is a required field + Events []*RepositorySyncEvent `type:"list" required:"true"` + + // The start time of a specific sync attempt. // - // ConnectionArn is a required field - ConnectionArn *string `type:"string" required:"true"` + // StartedAt is a required field + StartedAt *time.Time `type:"timestamp" required:"true"` - // Specifies the tags applied to the resource. - Tags []*Tag `type:"list"` + // The status of a specific sync attempt. The following are valid statuses: + // + // * INITIATED - A repository sync attempt has been created and will begin + // soon. + // + // * IN_PROGRESS - A repository sync attempt has started and work is being + // done to reconcile the branch. + // + // * SUCCEEDED - The repository sync attempt has completed successfully. + // + // * FAILED - The repository sync attempt has failed. + // + // * QUEUED - The repository sync attempt didn't execute and was queued. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"RepositorySyncStatus"` } // String returns the string representation. @@ -1373,7 +5654,7 @@ type CreateConnectionOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateConnectionOutput) String() string { +func (s RepositorySyncAttempt) String() string { return awsutil.Prettify(s) } @@ -1382,49 +5663,53 @@ func (s CreateConnectionOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateConnectionOutput) GoString() string { +func (s RepositorySyncAttempt) GoString() string { return s.String() } -// SetConnectionArn sets the ConnectionArn field's value. -func (s *CreateConnectionOutput) SetConnectionArn(v string) *CreateConnectionOutput { - s.ConnectionArn = &v +// SetEvents sets the Events field's value. +func (s *RepositorySyncAttempt) SetEvents(v []*RepositorySyncEvent) *RepositorySyncAttempt { + s.Events = v return s } -// SetTags sets the Tags field's value. -func (s *CreateConnectionOutput) SetTags(v []*Tag) *CreateConnectionOutput { - s.Tags = v +// SetStartedAt sets the StartedAt field's value. +func (s *RepositorySyncAttempt) SetStartedAt(v time.Time) *RepositorySyncAttempt { + s.StartedAt = &v return s } -type CreateHostInput struct { +// SetStatus sets the Status field's value. +func (s *RepositorySyncAttempt) SetStatus(v string) *RepositorySyncAttempt { + s.Status = &v + return s +} + +// The definition for a repository with a sync configuration. +type RepositorySyncDefinition struct { _ struct{} `type:"structure"` - // The name of the host to be created. + // The branch specified for a repository sync definition. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // Branch is a required field + Branch *string `min:"1" type:"string" required:"true"` - // The endpoint of the infrastructure to be represented by the host after it - // is created. + // The configuration file for a repository sync definition. This value comes + // from creating or updating the config-file field of a sync-configuration. // - // ProviderEndpoint is a required field - ProviderEndpoint *string `min:"1" type:"string" required:"true"` + // Directory is a required field + Directory *string `type:"string" required:"true"` - // The name of the installed provider to be associated with your connection. - // The host resource represents the infrastructure where your provider type - // is installed. The valid provider type is GitHub Enterprise Server. + // The parent resource specified for a repository sync definition. // - // ProviderType is a required field - ProviderType *string `type:"string" required:"true" enum:"ProviderType"` + // Parent is a required field + Parent *string `type:"string" required:"true"` - Tags []*Tag `type:"list"` - - // The VPC configuration to be provisioned for the host. A VPC must be configured - // and the infrastructure to be represented by the host must already be connected - // to the VPC. - VpcConfiguration *VpcConfiguration `type:"structure"` + // The target resource specified for a repository sync definition. In some cases, + // such as CFN_STACK_SYNC, the parent and target resource are the same. + // + // Target is a required field + Target *string `type:"string" required:"true"` } // String returns the string representation. @@ -1432,7 +5717,7 @@ type CreateHostInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateHostInput) String() string { +func (s RepositorySyncDefinition) String() string { return awsutil.Prettify(s) } @@ -1441,87 +5726,55 @@ func (s CreateHostInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateHostInput) GoString() string { +func (s RepositorySyncDefinition) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateHostInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateHostInput"} - 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.ProviderEndpoint == nil { - invalidParams.Add(request.NewErrParamRequired("ProviderEndpoint")) - } - if s.ProviderEndpoint != nil && len(*s.ProviderEndpoint) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ProviderEndpoint", 1)) - } - if s.ProviderType == nil { - invalidParams.Add(request.NewErrParamRequired("ProviderType")) - } - 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.VpcConfiguration != nil { - if err := s.VpcConfiguration.Validate(); err != nil { - invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetName sets the Name field's value. -func (s *CreateHostInput) SetName(v string) *CreateHostInput { - s.Name = &v - return s -} - -// SetProviderEndpoint sets the ProviderEndpoint field's value. -func (s *CreateHostInput) SetProviderEndpoint(v string) *CreateHostInput { - s.ProviderEndpoint = &v +// SetBranch sets the Branch field's value. +func (s *RepositorySyncDefinition) SetBranch(v string) *RepositorySyncDefinition { + s.Branch = &v return s } -// SetProviderType sets the ProviderType field's value. -func (s *CreateHostInput) SetProviderType(v string) *CreateHostInput { - s.ProviderType = &v +// SetDirectory sets the Directory field's value. +func (s *RepositorySyncDefinition) SetDirectory(v string) *RepositorySyncDefinition { + s.Directory = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateHostInput) SetTags(v []*Tag) *CreateHostInput { - s.Tags = v +// SetParent sets the Parent field's value. +func (s *RepositorySyncDefinition) SetParent(v string) *RepositorySyncDefinition { + s.Parent = &v return s } -// SetVpcConfiguration sets the VpcConfiguration field's value. -func (s *CreateHostInput) SetVpcConfiguration(v *VpcConfiguration) *CreateHostInput { - s.VpcConfiguration = v +// SetTarget sets the Target field's value. +func (s *RepositorySyncDefinition) SetTarget(v string) *RepositorySyncDefinition { + s.Target = &v return s } -type CreateHostOutput struct { +// Information about a repository sync event. +type RepositorySyncEvent struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the host to be created. - HostArn *string `type:"string"` + // A description of a repository sync event. + // + // Event is a required field + Event *string `type:"string" required:"true"` - Tags []*Tag `type:"list"` + // The ID for a repository sync event. + ExternalId *string `type:"string"` + + // The time that a repository sync event occurred. + // + // Time is a required field + Time *time.Time `type:"timestamp" required:"true"` + + // The event type for a repository sync event. + // + // Type is a required field + Type *string `type:"string" required:"true"` } // String returns the string representation. @@ -1529,7 +5782,7 @@ type CreateHostOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateHostOutput) String() string { +func (s RepositorySyncEvent) String() string { return awsutil.Prettify(s) } @@ -1538,31 +5791,40 @@ func (s CreateHostOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateHostOutput) GoString() string { +func (s RepositorySyncEvent) GoString() string { return s.String() } -// SetHostArn sets the HostArn field's value. -func (s *CreateHostOutput) SetHostArn(v string) *CreateHostOutput { - s.HostArn = &v +// SetEvent sets the Event field's value. +func (s *RepositorySyncEvent) SetEvent(v string) *RepositorySyncEvent { + s.Event = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateHostOutput) SetTags(v []*Tag) *CreateHostOutput { - s.Tags = v +// SetExternalId sets the ExternalId field's value. +func (s *RepositorySyncEvent) SetExternalId(v string) *RepositorySyncEvent { + s.ExternalId = &v return s } -type DeleteConnectionInput struct { - _ struct{} `type:"structure"` +// SetTime sets the Time field's value. +func (s *RepositorySyncEvent) SetTime(v time.Time) *RepositorySyncEvent { + s.Time = &v + return s +} - // The Amazon Resource Name (ARN) of the connection to be deleted. - // - // The ARN is never reused if the connection is deleted. - // - // ConnectionArn is a required field - ConnectionArn *string `type:"string" required:"true"` +// SetType sets the Type field's value. +func (s *RepositorySyncEvent) SetType(v string) *RepositorySyncEvent { + s.Type = &v + return s +} + +// Unable to create resource. Resource already exists. +type ResourceAlreadyExistsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. @@ -1570,7 +5832,7 @@ type DeleteConnectionInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteConnectionInput) String() string { +func (s ResourceAlreadyExistsException) String() string { return awsutil.Prettify(s) } @@ -1579,58 +5841,54 @@ func (s DeleteConnectionInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteConnectionInput) 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 *DeleteConnectionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteConnectionInput"} - if s.ConnectionArn == nil { - invalidParams.Add(request.NewErrParamRequired("ConnectionArn")) +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 nil + return "" } -// SetConnectionArn sets the ConnectionArn field's value. -func (s *DeleteConnectionInput) SetConnectionArn(v string) *DeleteConnectionInput { - s.ConnectionArn = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceAlreadyExistsException) OrigErr() error { + return nil } -type DeleteConnectionOutput struct { - _ struct{} `type:"structure"` +func (s *ResourceAlreadyExistsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteConnectionOutput) String() string { - return awsutil.Prettify(s) +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceAlreadyExistsException) StatusCode() int { + return s.RespMetadata.StatusCode } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteConnectionOutput) GoString() string { - return s.String() +// RequestID returns the service's response RequestID for request. +func (s *ResourceAlreadyExistsException) RequestID() string { + return s.RespMetadata.RequestID } -type DeleteHostInput struct { - _ struct{} `type:"structure"` +// Resource not found. Verify the connection resource ARN and try again. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The Amazon Resource Name (ARN) of the host to be deleted. - // - // HostArn is a required field - HostArn *string `type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. @@ -1638,7 +5896,7 @@ type DeleteHostInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteHostInput) String() string { +func (s ResourceNotFoundException) String() string { return awsutil.Prettify(s) } @@ -1647,31 +5905,93 @@ func (s DeleteHostInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteHostInput) 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 *DeleteHostInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteHostInput"} - if s.HostArn == nil { - invalidParams.Add(request.NewErrParamRequired("HostArn")) +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 "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { return nil } -// SetHostArn sets the HostArn field's value. -func (s *DeleteHostInput) SetHostArn(v string) *DeleteHostInput { - s.HostArn = &v - return s +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 DeleteHostOutput struct { - _ struct{} `type:"structure"` +// Information about a resource sync attempt. +type ResourceSyncAttempt struct { + _ struct{} `type:"structure"` + + // The events related to a resource sync attempt. + // + // Events is a required field + Events []*ResourceSyncEvent `type:"list" required:"true"` + + // The current state of the resource as defined in the resource's config-file + // in the linked repository. + // + // InitialRevision is a required field + InitialRevision *Revision `type:"structure" required:"true"` + + // The start time for a resource sync attempt. + // + // StartedAt is a required field + StartedAt *time.Time `type:"timestamp" required:"true"` + + // The status for a resource sync attempt. The follow are valid statuses: + // + // * SYNC-INITIATED - A resource sync attempt has been created and will begin + // soon. + // + // * SYNCING - Syncing has started and work is being done to reconcile state. + // + // * SYNCED - Syncing has completed successfully. + // + // * SYNC_FAILED - A resource sync attempt has failed. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"ResourceSyncStatus"` + + // The name of the Amazon Web Services resource that is attempted to be synchronized. + // + // Target is a required field + Target *string `type:"string" required:"true"` + + // The desired state of the resource as defined in the resource's config-file + // in the linked repository. Git sync attempts to update the resource to this + // state. + // + // TargetRevision is a required field + TargetRevision *Revision `type:"structure" required:"true"` } // String returns the string representation. @@ -1679,7 +5999,7 @@ type DeleteHostOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteHostOutput) String() string { +func (s ResourceSyncAttempt) String() string { return awsutil.Prettify(s) } @@ -1688,17 +6008,68 @@ func (s DeleteHostOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteHostOutput) GoString() string { +func (s ResourceSyncAttempt) GoString() string { return s.String() } -type GetConnectionInput struct { +// SetEvents sets the Events field's value. +func (s *ResourceSyncAttempt) SetEvents(v []*ResourceSyncEvent) *ResourceSyncAttempt { + s.Events = v + return s +} + +// SetInitialRevision sets the InitialRevision field's value. +func (s *ResourceSyncAttempt) SetInitialRevision(v *Revision) *ResourceSyncAttempt { + s.InitialRevision = v + return s +} + +// SetStartedAt sets the StartedAt field's value. +func (s *ResourceSyncAttempt) SetStartedAt(v time.Time) *ResourceSyncAttempt { + s.StartedAt = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResourceSyncAttempt) SetStatus(v string) *ResourceSyncAttempt { + s.Status = &v + return s +} + +// SetTarget sets the Target field's value. +func (s *ResourceSyncAttempt) SetTarget(v string) *ResourceSyncAttempt { + s.Target = &v + return s +} + +// SetTargetRevision sets the TargetRevision field's value. +func (s *ResourceSyncAttempt) SetTargetRevision(v *Revision) *ResourceSyncAttempt { + s.TargetRevision = v + return s +} + +// Information about a resource sync event for the resource associated with +// a sync configuration. +type ResourceSyncEvent struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of a connection. + // The event for a resource sync event. // - // ConnectionArn is a required field - ConnectionArn *string `type:"string" required:"true"` + // Event is a required field + Event *string `type:"string" required:"true"` + + // The ID for a resource sync event. + ExternalId *string `type:"string"` + + // The time that a resource sync event occurred. + // + // Time is a required field + Time *time.Time `type:"timestamp" required:"true"` + + // The type of resource sync event. + // + // Type is a required field + Type *string `type:"string" required:"true"` } // String returns the string representation. @@ -1706,7 +6077,7 @@ type GetConnectionInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConnectionInput) String() string { +func (s ResourceSyncEvent) String() string { return awsutil.Prettify(s) } @@ -1715,34 +6086,40 @@ func (s GetConnectionInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConnectionInput) GoString() string { +func (s ResourceSyncEvent) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetConnectionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetConnectionInput"} - if s.ConnectionArn == nil { - invalidParams.Add(request.NewErrParamRequired("ConnectionArn")) - } +// SetEvent sets the Event field's value. +func (s *ResourceSyncEvent) SetEvent(v string) *ResourceSyncEvent { + s.Event = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetExternalId sets the ExternalId field's value. +func (s *ResourceSyncEvent) SetExternalId(v string) *ResourceSyncEvent { + s.ExternalId = &v + return s } -// SetConnectionArn sets the ConnectionArn field's value. -func (s *GetConnectionInput) SetConnectionArn(v string) *GetConnectionInput { - s.ConnectionArn = &v +// SetTime sets the Time field's value. +func (s *ResourceSyncEvent) SetTime(v time.Time) *ResourceSyncEvent { + s.Time = &v return s } -type GetConnectionOutput struct { - _ struct{} `type:"structure"` +// SetType sets the Type field's value. +func (s *ResourceSyncEvent) SetType(v string) *ResourceSyncEvent { + s.Type = &v + return s +} - // The connection details, such as status, owner, and provider type. - Connection *Connection `type:"structure"` +// Resource not found. Verify the ARN for the host resource and try again. +type ResourceUnavailableException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. @@ -1750,7 +6127,7 @@ type GetConnectionOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConnectionOutput) String() string { +func (s ResourceUnavailableException) String() string { return awsutil.Prettify(s) } @@ -1759,23 +6136,54 @@ func (s GetConnectionOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConnectionOutput) GoString() string { +func (s ResourceUnavailableException) GoString() string { return s.String() } -// SetConnection sets the Connection field's value. -func (s *GetConnectionOutput) SetConnection(v *Connection) *GetConnectionOutput { - s.Connection = v - return s +func newErrorResourceUnavailableException(v protocol.ResponseMetadata) error { + return &ResourceUnavailableException{ + RespMetadata: v, + } } -type GetHostInput struct { - _ struct{} `type:"structure"` +// Code returns the exception type name. +func (s *ResourceUnavailableException) Code() string { + return "ResourceUnavailableException" +} - // The Amazon Resource Name (ARN) of the requested host. - // - // HostArn is a required field - HostArn *string `type:"string" required:"true"` +// 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 +} + +func (s *ResourceUnavailableException) 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 *ResourceUnavailableException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceUnavailableException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Retrying the latest commit failed. Try again later. +type RetryLatestCommitFailedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. @@ -1783,7 +6191,7 @@ type GetHostInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetHostInput) String() string { +func (s RetryLatestCommitFailedException) String() string { return awsutil.Prettify(s) } @@ -1792,46 +6200,83 @@ func (s GetHostInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetHostInput) GoString() string { +func (s RetryLatestCommitFailedException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetHostInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetHostInput"} - if s.HostArn == nil { - invalidParams.Add(request.NewErrParamRequired("HostArn")) +func newErrorRetryLatestCommitFailedException(v protocol.ResponseMetadata) error { + return &RetryLatestCommitFailedException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *RetryLatestCommitFailedException) Code() string { + return "RetryLatestCommitFailedException" +} + +// Message returns the exception's message. +func (s *RetryLatestCommitFailedException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *RetryLatestCommitFailedException) OrigErr() error { return nil } -// SetHostArn sets the HostArn field's value. -func (s *GetHostInput) SetHostArn(v string) *GetHostInput { - s.HostArn = &v - return s +func (s *RetryLatestCommitFailedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -type GetHostOutput struct { +// Status code returns the HTTP status code for the request's response error. +func (s *RetryLatestCommitFailedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *RetryLatestCommitFailedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Information about the revision for a specific sync event, such as the branch, +// owner ID, and name of the repository. +type Revision struct { _ struct{} `type:"structure"` - // The name of the requested host. - Name *string `min:"1" type:"string"` + // The branch name for a specific revision. + // + // Branch is a required field + Branch *string `min:"1" type:"string" required:"true"` - // The endpoint of the infrastructure represented by the requested host. - ProviderEndpoint *string `min:"1" type:"string"` + // The directory, if any, for a specific revision. + // + // Directory is a required field + Directory *string `type:"string" required:"true"` - // The provider type of the requested host, such as GitHub Enterprise Server. - ProviderType *string `type:"string" enum:"ProviderType"` + // The owner ID for a specific revision, such as the GitHub owner ID for a GitHub + // repository. + // + // OwnerId is a required field + OwnerId *string `min:"1" type:"string" required:"true"` - // The status of the requested host. - Status *string `min:"1" type:"string"` + // The provider type for a revision, such as GitHub. + // + // ProviderType is a required field + ProviderType *string `type:"string" required:"true" enum:"ProviderType"` - // The VPC configuration of the requested host. - VpcConfiguration *VpcConfiguration `type:"structure"` + // The repository name for a specific revision. + // + // RepositoryName is a required field + RepositoryName *string `min:"1" type:"string" required:"true"` + + // The SHA, such as the commit ID, for a specific revision. + // + // Sha is a required field + Sha *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -1839,7 +6284,7 @@ type GetHostOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetHostOutput) String() string { +func (s Revision) String() string { return awsutil.Prettify(s) } @@ -1848,73 +6293,83 @@ func (s GetHostOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetHostOutput) GoString() string { +func (s Revision) GoString() string { return s.String() } -// SetName sets the Name field's value. -func (s *GetHostOutput) SetName(v string) *GetHostOutput { - s.Name = &v +// SetBranch sets the Branch field's value. +func (s *Revision) SetBranch(v string) *Revision { + s.Branch = &v return s } -// SetProviderEndpoint sets the ProviderEndpoint field's value. -func (s *GetHostOutput) SetProviderEndpoint(v string) *GetHostOutput { - s.ProviderEndpoint = &v +// SetDirectory sets the Directory field's value. +func (s *Revision) SetDirectory(v string) *Revision { + s.Directory = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *Revision) SetOwnerId(v string) *Revision { + s.OwnerId = &v return s } // SetProviderType sets the ProviderType field's value. -func (s *GetHostOutput) SetProviderType(v string) *GetHostOutput { +func (s *Revision) SetProviderType(v string) *Revision { s.ProviderType = &v return s } -// SetStatus sets the Status field's value. -func (s *GetHostOutput) SetStatus(v string) *GetHostOutput { - s.Status = &v +// SetRepositoryName sets the RepositoryName field's value. +func (s *Revision) SetRepositoryName(v string) *Revision { + s.RepositoryName = &v return s } -// SetVpcConfiguration sets the VpcConfiguration field's value. -func (s *GetHostOutput) SetVpcConfiguration(v *VpcConfiguration) *GetHostOutput { - s.VpcConfiguration = v +// SetSha sets the Sha field's value. +func (s *Revision) SetSha(v string) *Revision { + s.Sha = &v return s } -// A resource that represents the infrastructure where a third-party provider -// is installed. The host is used when you create connections to an installed -// third-party provider type, such as GitHub Enterprise Server. You create one -// host for all connections to that provider. -// -// A host created through the CLI or the SDK is in `PENDING` status by default. -// You can make its status `AVAILABLE` by setting up the host in the console. -type Host struct { +// Information about a blocker for a sync event. +type SyncBlocker struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the host. - HostArn *string `type:"string"` + // The contexts for a specific sync blocker. + Contexts []*SyncBlockerContext `type:"list"` - // The name of the host. - Name *string `min:"1" type:"string"` + // The creation time for a specific sync blocker. + // + // CreatedAt is a required field + CreatedAt *time.Time `type:"timestamp" required:"true"` - // The endpoint of the infrastructure where your provider type is installed. - ProviderEndpoint *string `min:"1" type:"string"` + // The provided reason for a specific sync blocker. + // + // CreatedReason is a required field + CreatedReason *string `type:"string" required:"true"` - // The name of the installed provider to be associated with your connection. - // The host resource represents the infrastructure where your provider type - // is installed. The valid provider type is GitHub Enterprise Server. - ProviderType *string `type:"string" enum:"ProviderType"` + // The ID for a specific sync blocker. + // + // Id is a required field + Id *string `min:"1" type:"string" required:"true"` - // The status of the host, such as PENDING, AVAILABLE, VPC_CONFIG_DELETING, - // VPC_CONFIG_INITIALIZING, and VPC_CONFIG_FAILED_INITIALIZATION. - Status *string `min:"1" type:"string"` + // The time that a specific sync blocker was resolved. + ResolvedAt *time.Time `type:"timestamp"` - // The status description for the host. - StatusMessage *string `type:"string"` + // The resolved reason for a specific sync blocker. + ResolvedReason *string `min:"1" type:"string"` - // The VPC configuration provisioned for the host. - VpcConfiguration *VpcConfiguration `type:"structure"` + // The status for a specific sync blocker. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"BlockerStatus"` + + // The sync blocker type. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"BlockerType"` } // String returns the string representation. @@ -1922,7 +6377,7 @@ type Host struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Host) String() string { +func (s SyncBlocker) String() string { return awsutil.Prettify(s) } @@ -1931,54 +6386,105 @@ func (s Host) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Host) GoString() string { +func (s SyncBlocker) GoString() string { return s.String() } -// SetHostArn sets the HostArn field's value. -func (s *Host) SetHostArn(v string) *Host { - s.HostArn = &v +// SetContexts sets the Contexts field's value. +func (s *SyncBlocker) SetContexts(v []*SyncBlockerContext) *SyncBlocker { + s.Contexts = v return s } -// SetName sets the Name field's value. -func (s *Host) SetName(v string) *Host { - s.Name = &v +// SetCreatedAt sets the CreatedAt field's value. +func (s *SyncBlocker) SetCreatedAt(v time.Time) *SyncBlocker { + s.CreatedAt = &v return s } -// SetProviderEndpoint sets the ProviderEndpoint field's value. -func (s *Host) SetProviderEndpoint(v string) *Host { - s.ProviderEndpoint = &v +// SetCreatedReason sets the CreatedReason field's value. +func (s *SyncBlocker) SetCreatedReason(v string) *SyncBlocker { + s.CreatedReason = &v + return s +} + +// SetId sets the Id field's value. +func (s *SyncBlocker) SetId(v string) *SyncBlocker { + s.Id = &v + return s +} + +// SetResolvedAt sets the ResolvedAt field's value. +func (s *SyncBlocker) SetResolvedAt(v time.Time) *SyncBlocker { + s.ResolvedAt = &v return s } -// SetProviderType sets the ProviderType field's value. -func (s *Host) SetProviderType(v string) *Host { - s.ProviderType = &v - return s +// SetResolvedReason sets the ResolvedReason field's value. +func (s *SyncBlocker) SetResolvedReason(v string) *SyncBlocker { + s.ResolvedReason = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *SyncBlocker) SetStatus(v string) *SyncBlocker { + s.Status = &v + return s +} + +// SetType sets the Type field's value. +func (s *SyncBlocker) SetType(v string) *SyncBlocker { + s.Type = &v + return s +} + +// The context for a specific sync blocker. +type SyncBlockerContext struct { + _ struct{} `type:"structure"` + + // The key provided for a context key-value pair for a specific sync blocker. + // + // Key is a required field + Key *string `type:"string" required:"true"` + + // The value provided for a context key-value pair for a specific sync blocker. + // + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SyncBlockerContext) String() string { + return awsutil.Prettify(s) } -// SetStatus sets the Status field's value. -func (s *Host) SetStatus(v string) *Host { - s.Status = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SyncBlockerContext) GoString() string { + return s.String() } -// SetStatusMessage sets the StatusMessage field's value. -func (s *Host) SetStatusMessage(v string) *Host { - s.StatusMessage = &v +// SetKey sets the Key field's value. +func (s *SyncBlockerContext) SetKey(v string) *SyncBlockerContext { + s.Key = &v return s } -// SetVpcConfiguration sets the VpcConfiguration field's value. -func (s *Host) SetVpcConfiguration(v *VpcConfiguration) *Host { - s.VpcConfiguration = v +// SetValue sets the Value field's value. +func (s *SyncBlockerContext) SetValue(v string) *SyncBlockerContext { + s.Value = &v return s } -// Exceeded the maximum limit for connections. -type LimitExceededException struct { +// Unable to continue. The sync blocker does not exist. +type SyncBlockerDoesNotExistException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -1990,7 +6496,7 @@ type LimitExceededException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LimitExceededException) String() string { +func (s SyncBlockerDoesNotExistException) String() string { return awsutil.Prettify(s) } @@ -1999,23 +6505,23 @@ func (s LimitExceededException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LimitExceededException) GoString() string { +func (s SyncBlockerDoesNotExistException) GoString() string { return s.String() } -func newErrorLimitExceededException(v protocol.ResponseMetadata) error { - return &LimitExceededException{ +func newErrorSyncBlockerDoesNotExistException(v protocol.ResponseMetadata) error { + return &SyncBlockerDoesNotExistException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *LimitExceededException) Code() string { - return "LimitExceededException" +func (s *SyncBlockerDoesNotExistException) Code() string { + return "SyncBlockerDoesNotExistException" } // Message returns the exception's message. -func (s *LimitExceededException) Message() string { +func (s *SyncBlockerDoesNotExistException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -2023,41 +6529,38 @@ func (s *LimitExceededException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *LimitExceededException) OrigErr() error { +func (s *SyncBlockerDoesNotExistException) OrigErr() error { return nil } -func (s *LimitExceededException) Error() string { +func (s *SyncBlockerDoesNotExistException) 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 { +func (s *SyncBlockerDoesNotExistException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *LimitExceededException) RequestID() string { +func (s *SyncBlockerDoesNotExistException) RequestID() string { return s.RespMetadata.RequestID } -type ListConnectionsInput struct { +// A summary for sync blockers. +type SyncBlockerSummary struct { _ struct{} `type:"structure"` - // Filters the list of connections to those associated with a specified host. - HostArnFilter *string `type:"string"` - - // The maximum number of results to return in a single call. To retrieve the - // remaining results, make another call with the returned nextToken value. - MaxResults *int64 `type:"integer"` + // The latest events for a sync blocker summary. + LatestBlockers []*SyncBlocker `type:"list"` - // The token that was returned from the previous ListConnections call, which - // can be used to return the next set of connections in the list. - NextToken *string `min:"1" type:"string"` + // The parent resource name for a sync blocker summary. + ParentResourceName *string `min:"1" type:"string"` - // Filters the list of connections to those associated with a specified provider, - // such as Bitbucket. - ProviderTypeFilter *string `type:"string" enum:"ProviderType"` + // The resource name for sync blocker summary. + // + // ResourceName is a required field + ResourceName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -2065,7 +6568,7 @@ type ListConnectionsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListConnectionsInput) String() string { +func (s SyncBlockerSummary) String() string { return awsutil.Prettify(s) } @@ -2074,58 +6577,80 @@ func (s ListConnectionsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListConnectionsInput) GoString() string { +func (s SyncBlockerSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListConnectionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListConnectionsInput"} - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetHostArnFilter sets the HostArnFilter field's value. -func (s *ListConnectionsInput) SetHostArnFilter(v string) *ListConnectionsInput { - s.HostArnFilter = &v +// SetLatestBlockers sets the LatestBlockers field's value. +func (s *SyncBlockerSummary) SetLatestBlockers(v []*SyncBlocker) *SyncBlockerSummary { + s.LatestBlockers = v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListConnectionsInput) SetMaxResults(v int64) *ListConnectionsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListConnectionsInput) SetNextToken(v string) *ListConnectionsInput { - s.NextToken = &v +// SetParentResourceName sets the ParentResourceName field's value. +func (s *SyncBlockerSummary) SetParentResourceName(v string) *SyncBlockerSummary { + s.ParentResourceName = &v return s } -// SetProviderTypeFilter sets the ProviderTypeFilter field's value. -func (s *ListConnectionsInput) SetProviderTypeFilter(v string) *ListConnectionsInput { - s.ProviderTypeFilter = &v +// SetResourceName sets the ResourceName field's value. +func (s *SyncBlockerSummary) SetResourceName(v string) *SyncBlockerSummary { + s.ResourceName = &v return s } -type ListConnectionsOutput struct { +// Information, such as repository, branch, provider, and resource names for +// a specific sync configuration. +type SyncConfiguration struct { _ struct{} `type:"structure"` - // A list of connections and the details for each connection, such as status, - // owner, and provider type. - Connections []*Connection `type:"list"` + // The branch associated with a specific sync configuration. + // + // Branch is a required field + Branch *string `min:"1" type:"string" required:"true"` - // A token that can be used in the next ListConnections call. To view all items - // in the list, continue to call this operation with each subsequent token until - // no more nextToken values are returned. - NextToken *string `min:"1" type:"string"` + // The file path to the configuration file associated with a specific sync configuration. + // The path should point to an actual file in the sync configurations linked + // repository. + ConfigFile *string `type:"string"` + + // The owner ID for the repository associated with a specific sync configuration, + // such as the owner ID in GitHub. + // + // OwnerId is a required field + OwnerId *string `min:"1" type:"string" required:"true"` + + // The connection provider type associated with a specific sync configuration, + // such as GitHub. + // + // ProviderType is a required field + ProviderType *string `type:"string" required:"true" enum:"ProviderType"` + + // The ID of the repository link associated with a specific sync configuration. + // + // RepositoryLinkId is a required field + RepositoryLinkId *string `type:"string" required:"true"` + + // The name of the repository associated with a specific sync configuration. + // + // RepositoryName is a required field + RepositoryName *string `min:"1" type:"string" required:"true"` + + // The name of the connection resource associated with a specific sync configuration. + // + // ResourceName is a required field + ResourceName *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the IAM role associated with a specific + // sync configuration. + // + // RoleArn is a required field + RoleArn *string `min:"1" type:"string" required:"true"` + + // The type of sync for a specific sync configuration. + // + // SyncType is a required field + SyncType *string `type:"string" required:"true" enum:"SyncConfigurationType"` } // String returns the string representation. @@ -2133,7 +6658,7 @@ type ListConnectionsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListConnectionsOutput) String() string { +func (s SyncConfiguration) String() string { return awsutil.Prettify(s) } @@ -2142,32 +6667,70 @@ func (s ListConnectionsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListConnectionsOutput) GoString() string { +func (s SyncConfiguration) GoString() string { return s.String() } -// SetConnections sets the Connections field's value. -func (s *ListConnectionsOutput) SetConnections(v []*Connection) *ListConnectionsOutput { - s.Connections = v +// SetBranch sets the Branch field's value. +func (s *SyncConfiguration) SetBranch(v string) *SyncConfiguration { + s.Branch = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListConnectionsOutput) SetNextToken(v string) *ListConnectionsOutput { - s.NextToken = &v +// SetConfigFile sets the ConfigFile field's value. +func (s *SyncConfiguration) SetConfigFile(v string) *SyncConfiguration { + s.ConfigFile = &v return s } -type ListHostsInput struct { - _ struct{} `type:"structure"` +// SetOwnerId sets the OwnerId field's value. +func (s *SyncConfiguration) SetOwnerId(v string) *SyncConfiguration { + s.OwnerId = &v + return s +} - // The maximum number of results to return in a single call. To retrieve the - // remaining results, make another call with the returned nextToken value. - MaxResults *int64 `type:"integer"` +// SetProviderType sets the ProviderType field's value. +func (s *SyncConfiguration) SetProviderType(v string) *SyncConfiguration { + s.ProviderType = &v + return s +} - // The token that was returned from the previous ListHosts call, which can be - // used to return the next set of hosts in the list. - NextToken *string `min:"1" type:"string"` +// SetRepositoryLinkId sets the RepositoryLinkId field's value. +func (s *SyncConfiguration) SetRepositoryLinkId(v string) *SyncConfiguration { + s.RepositoryLinkId = &v + return s +} + +// SetRepositoryName sets the RepositoryName field's value. +func (s *SyncConfiguration) SetRepositoryName(v string) *SyncConfiguration { + s.RepositoryName = &v + return s +} + +// SetResourceName sets the ResourceName field's value. +func (s *SyncConfiguration) SetResourceName(v string) *SyncConfiguration { + s.ResourceName = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *SyncConfiguration) SetRoleArn(v string) *SyncConfiguration { + s.RoleArn = &v + return s +} + +// SetSyncType sets the SyncType field's value. +func (s *SyncConfiguration) SetSyncType(v string) *SyncConfiguration { + s.SyncType = &v + return s +} + +// Unable to continue. The sync blocker still exists. +type SyncConfigurationStillExistsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. @@ -2175,7 +6738,7 @@ type ListHostsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListHostsInput) String() string { +func (s SyncConfigurationStillExistsException) String() string { return awsutil.Prettify(s) } @@ -2184,46 +6747,64 @@ func (s ListHostsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListHostsInput) GoString() string { +func (s SyncConfigurationStillExistsException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListHostsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListHostsInput"} - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) +func newErrorSyncConfigurationStillExistsException(v protocol.ResponseMetadata) error { + return &SyncConfigurationStillExistsException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *SyncConfigurationStillExistsException) Code() string { + return "SyncConfigurationStillExistsException" +} + +// Message returns the exception's message. +func (s *SyncConfigurationStillExistsException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *SyncConfigurationStillExistsException) OrigErr() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListHostsInput) SetMaxResults(v int64) *ListHostsInput { - s.MaxResults = &v - return s +func (s *SyncConfigurationStillExistsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetNextToken sets the NextToken field's value. -func (s *ListHostsInput) SetNextToken(v string) *ListHostsInput { - s.NextToken = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *SyncConfigurationStillExistsException) StatusCode() int { + return s.RespMetadata.StatusCode } -type ListHostsOutput struct { +// RequestID returns the service's response RequestID for request. +func (s *SyncConfigurationStillExistsException) RequestID() string { + return s.RespMetadata.RequestID +} + +// A tag is a key-value pair that is used to manage the resource. +// +// This tag is available for use by Amazon Web Services services that support +// tags. +type Tag struct { _ struct{} `type:"structure"` - // A list of hosts and the details for each host, such as status, endpoint, - // and provider type. - Hosts []*Host `type:"list"` + // The tag's key. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` - // A token that can be used in the next ListHosts call. To view all items in - // the list, continue to call this operation with each subsequent token until - // no more nextToken values are returned. - NextToken *string `min:"1" type:"string"` + // The tag's value. + // + // Value is a required field + Value *string `type:"string" required:"true"` } // String returns the string representation. @@ -2231,7 +6812,7 @@ type ListHostsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListHostsOutput) String() string { +func (s Tag) String() string { return awsutil.Prettify(s) } @@ -2240,30 +6821,54 @@ func (s ListHostsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListHostsOutput) GoString() string { +func (s Tag) GoString() string { return s.String() } -// SetHosts sets the Hosts field's value. -func (s *ListHostsOutput) SetHosts(v []*Host) *ListHostsOutput { - s.Hosts = v +// 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 } -// SetNextToken sets the NextToken field's value. -func (s *ListHostsOutput) SetNextToken(v string) *ListHostsOutput { - s.NextToken = &v +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v return s } -type ListTagsForResourceInput struct { +type TagResourceInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource for which you want to get - // information about tags, if any. + // The Amazon Resource Name (ARN) of the resource to which you want to add or + // update tags. // // ResourceArn is a required field ResourceArn *string `min:"1" type:"string" required:"true"` + + // The tags you want to modify or add to the resource. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` } // String returns the string representation. @@ -2271,7 +6876,7 @@ type ListTagsForResourceInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceInput) String() string { +func (s TagResourceInput) String() string { return awsutil.Prettify(s) } @@ -2280,19 +6885,32 @@ func (s ListTagsForResourceInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceInput) 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 *ListTagsForResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -2301,16 +6919,45 @@ func (s *ListTagsForResourceInput) Validate() error { } // SetResourceArn sets the ResourceArn field's value. -func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { s.ResourceArn = &v return s } -type ListTagsForResourceOutput struct { +// 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"` +} - // A list of tag key and value pairs associated with the specified resource. - Tags []*Tag `type:"list"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// The request was denied due to request throttling. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. @@ -2318,7 +6965,7 @@ type ListTagsForResourceOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceOutput) String() string { +func (s ThrottlingException) String() string { return awsutil.Prettify(s) } @@ -2327,18 +6974,50 @@ func (s ListTagsForResourceOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceOutput) GoString() string { +func (s ThrottlingException) GoString() string { return s.String() } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { - s.Tags = v - return s +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } } -// Resource not found. Verify the connection resource ARN and try again. -type ResourceNotFoundException struct { +// 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 +} + +func (s *ThrottlingException) 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 *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The operation is not supported. Check the connection status and try again. +type UnsupportedOperationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2350,7 +7029,7 @@ type ResourceNotFoundException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceNotFoundException) String() string { +func (s UnsupportedOperationException) String() string { return awsutil.Prettify(s) } @@ -2359,23 +7038,23 @@ func (s ResourceNotFoundException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceNotFoundException) GoString() string { +func (s UnsupportedOperationException) GoString() string { return s.String() } -func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { - return &ResourceNotFoundException{ +func newErrorUnsupportedOperationException(v protocol.ResponseMetadata) error { + return &UnsupportedOperationException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *ResourceNotFoundException) Code() string { - return "ResourceNotFoundException" +func (s *UnsupportedOperationException) Code() string { + return "UnsupportedOperationException" } // Message returns the exception's message. -func (s *ResourceNotFoundException) Message() string { +func (s *UnsupportedOperationException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -2383,26 +7062,26 @@ func (s *ResourceNotFoundException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotFoundException) OrigErr() error { +func (s *UnsupportedOperationException) OrigErr() error { return nil } -func (s *ResourceNotFoundException) Error() string { +func (s *UnsupportedOperationException) 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 { +func (s *UnsupportedOperationException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *ResourceNotFoundException) RequestID() string { +func (s *UnsupportedOperationException) RequestID() string { return s.RespMetadata.RequestID } -// Resource not found. Verify the ARN for the host resource and try again. -type ResourceUnavailableException struct { +// The specified provider type is not supported for connections. +type UnsupportedProviderTypeException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2414,7 +7093,7 @@ type ResourceUnavailableException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceUnavailableException) String() string { +func (s UnsupportedProviderTypeException) String() string { return awsutil.Prettify(s) } @@ -2423,23 +7102,23 @@ func (s ResourceUnavailableException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceUnavailableException) GoString() string { +func (s UnsupportedProviderTypeException) GoString() string { return s.String() } -func newErrorResourceUnavailableException(v protocol.ResponseMetadata) error { - return &ResourceUnavailableException{ +func newErrorUnsupportedProviderTypeException(v protocol.ResponseMetadata) error { + return &UnsupportedProviderTypeException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *ResourceUnavailableException) Code() string { - return "ResourceUnavailableException" +func (s *UnsupportedProviderTypeException) Code() string { + return "UnsupportedProviderTypeException" } // Message returns the exception's message. -func (s *ResourceUnavailableException) Message() string { +func (s *UnsupportedProviderTypeException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -2447,40 +7126,36 @@ func (s *ResourceUnavailableException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceUnavailableException) OrigErr() error { +func (s *UnsupportedProviderTypeException) OrigErr() error { return nil } -func (s *ResourceUnavailableException) Error() string { +func (s *UnsupportedProviderTypeException) 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 *ResourceUnavailableException) StatusCode() int { +func (s *UnsupportedProviderTypeException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *ResourceUnavailableException) RequestID() string { +func (s *UnsupportedProviderTypeException) RequestID() string { return s.RespMetadata.RequestID } -// A tag is a key-value pair that is used to manage the resource. -// -// This tag is available for use by Amazon Web Services services that support -// tags. -type Tag struct { +type UntagResourceInput struct { _ struct{} `type:"structure"` - // The tag's key. + // The Amazon Resource Name (ARN) of the resource to remove tags from. // - // Key is a required field - Key *string `min:"1" type:"string" required:"true"` + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` - // The tag's value. + // The list of keys for the tags to be removed from the resource. // - // Value is a required field - Value *string `type:"string" required:"true"` + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` } // String returns the string representation. @@ -2488,7 +7163,7 @@ type Tag struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Tag) String() string { +func (s UntagResourceInput) String() string { return awsutil.Prettify(s) } @@ -2497,21 +7172,21 @@ func (s Tag) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Tag) 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 *Tag) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Tag"} - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.Key != nil && len(*s.Key) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) } if invalidParams.Len() > 0 { @@ -2520,31 +7195,55 @@ func (s *Tag) Validate() error { return nil } -// SetKey sets the Key field's value. -func (s *Tag) SetKey(v string) *Tag { - s.Key = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v return s } -// SetValue sets the Value field's value. -func (s *Tag) SetValue(v string) *Tag { - s.Value = &v +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v return s } -type TagResourceInput struct { +type UntagResourceOutput struct { _ struct{} `type:"structure"` +} - // The Amazon Resource Name (ARN) of the resource to which you want to add or - // update tags. - // - // ResourceArn is a required field - ResourceArn *string `min:"1" type:"string" required:"true"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} - // The tags you want to modify or add to the resource. +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateHostInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the host to be updated. // - // Tags is a required field - Tags []*Tag `type:"list" required:"true"` + // HostArn is a required field + HostArn *string `type:"string" required:"true"` + + // The URL or endpoint of the host to be updated. + ProviderEndpoint *string `min:"1" type:"string"` + + // The VPC configuration of the host to be updated. A VPC must be configured + // and the infrastructure to be represented by the host must already be connected + // to the VPC. + VpcConfiguration *VpcConfiguration `type:"structure"` } // String returns the string representation. @@ -2552,7 +7251,7 @@ type TagResourceInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s TagResourceInput) String() string { +func (s UpdateHostInput) String() string { return awsutil.Prettify(s) } @@ -2561,30 +7260,22 @@ func (s TagResourceInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s TagResourceInput) GoString() string { +func (s UpdateHostInput) 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 *UpdateHostInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateHostInput"} + if s.HostArn == nil { + invalidParams.Add(request.NewErrParamRequired("HostArn")) } - if s.Tags == nil { - invalidParams.Add(request.NewErrParamRequired("Tags")) + if s.ProviderEndpoint != nil && len(*s.ProviderEndpoint) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProviderEndpoint", 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.VpcConfiguration != nil { + if err := s.VpcConfiguration.Validate(); err != nil { + invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) } } @@ -2594,19 +7285,25 @@ func (s *TagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { - s.ResourceArn = &v +// SetHostArn sets the HostArn field's value. +func (s *UpdateHostInput) SetHostArn(v string) *UpdateHostInput { + s.HostArn = &v + return s +} + +// SetProviderEndpoint sets the ProviderEndpoint field's value. +func (s *UpdateHostInput) SetProviderEndpoint(v string) *UpdateHostInput { + s.ProviderEndpoint = &v return s } -// SetTags sets the Tags field's value. -func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { - s.Tags = v +// SetVpcConfiguration sets the VpcConfiguration field's value. +func (s *UpdateHostInput) SetVpcConfiguration(v *VpcConfiguration) *UpdateHostInput { + s.VpcConfiguration = v return s } -type TagResourceOutput struct { +type UpdateHostOutput struct { _ struct{} `type:"structure"` } @@ -2615,7 +7312,7 @@ type TagResourceOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s TagResourceOutput) String() string { +func (s UpdateHostOutput) String() string { return awsutil.Prettify(s) } @@ -2624,12 +7321,12 @@ func (s TagResourceOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s TagResourceOutput) GoString() string { +func (s UpdateHostOutput) GoString() string { return s.String() } -// The operation is not supported. Check the connection status and try again. -type UnsupportedOperationException struct { +// The update is out of sync. Try syncing again. +type UpdateOutOfSyncException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2641,7 +7338,7 @@ type UnsupportedOperationException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UnsupportedOperationException) String() string { +func (s UpdateOutOfSyncException) String() string { return awsutil.Prettify(s) } @@ -2650,23 +7347,23 @@ func (s UnsupportedOperationException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UnsupportedOperationException) GoString() string { +func (s UpdateOutOfSyncException) GoString() string { return s.String() } -func newErrorUnsupportedOperationException(v protocol.ResponseMetadata) error { - return &UnsupportedOperationException{ +func newErrorUpdateOutOfSyncException(v protocol.ResponseMetadata) error { + return &UpdateOutOfSyncException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *UnsupportedOperationException) Code() string { - return "UnsupportedOperationException" +func (s *UpdateOutOfSyncException) Code() string { + return "UpdateOutOfSyncException" } // Message returns the exception's message. -func (s *UnsupportedOperationException) Message() string { +func (s *UpdateOutOfSyncException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -2674,36 +7371,101 @@ func (s *UnsupportedOperationException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *UnsupportedOperationException) OrigErr() error { +func (s *UpdateOutOfSyncException) OrigErr() error { return nil } -func (s *UnsupportedOperationException) Error() string { +func (s *UpdateOutOfSyncException) 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 *UnsupportedOperationException) StatusCode() int { +func (s *UpdateOutOfSyncException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *UnsupportedOperationException) RequestID() string { +func (s *UpdateOutOfSyncException) RequestID() string { return s.RespMetadata.RequestID } -type UntagResourceInput struct { +type UpdateRepositoryLinkInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource to remove tags from. + // The Amazon Resource Name (ARN) of the connection for the repository link + // to be updated. The updated connection ARN must have the same providerType + // (such as GitHub) as the original connection ARN for the repo link. + ConnectionArn *string `type:"string"` + + // The Amazon Resource Name (ARN) of the encryption key for the repository link + // to be updated. + EncryptionKeyArn *string `min:"1" type:"string"` + + // The ID of the repository link to be updated. // - // ResourceArn is a required field - ResourceArn *string `min:"1" type:"string" required:"true"` + // RepositoryLinkId is a required field + RepositoryLinkId *string `type:"string" required:"true"` +} - // The list of keys for the tags to be removed from the resource. +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRepositoryLinkInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRepositoryLinkInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateRepositoryLinkInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateRepositoryLinkInput"} + if s.EncryptionKeyArn != nil && len(*s.EncryptionKeyArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EncryptionKeyArn", 1)) + } + if s.RepositoryLinkId == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryLinkId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConnectionArn sets the ConnectionArn field's value. +func (s *UpdateRepositoryLinkInput) SetConnectionArn(v string) *UpdateRepositoryLinkInput { + s.ConnectionArn = &v + return s +} + +// SetEncryptionKeyArn sets the EncryptionKeyArn field's value. +func (s *UpdateRepositoryLinkInput) SetEncryptionKeyArn(v string) *UpdateRepositoryLinkInput { + s.EncryptionKeyArn = &v + return s +} + +// SetRepositoryLinkId sets the RepositoryLinkId field's value. +func (s *UpdateRepositoryLinkInput) SetRepositoryLinkId(v string) *UpdateRepositoryLinkInput { + s.RepositoryLinkId = &v + return s +} + +type UpdateRepositoryLinkOutput struct { + _ struct{} `type:"structure"` + + // Information about the repository link to be updated. // - // TagKeys is a required field - TagKeys []*string `type:"list" required:"true"` + // RepositoryLinkInfo is a required field + RepositoryLinkInfo *RepositoryLinkInfo `type:"structure" required:"true"` } // String returns the string representation. @@ -2711,7 +7473,7 @@ type UntagResourceInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UntagResourceInput) String() string { +func (s UpdateRepositoryLinkOutput) String() string { return awsutil.Prettify(s) } @@ -2720,21 +7482,81 @@ func (s UntagResourceInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UntagResourceInput) GoString() string { +func (s UpdateRepositoryLinkOutput) GoString() string { + return s.String() +} + +// SetRepositoryLinkInfo sets the RepositoryLinkInfo field's value. +func (s *UpdateRepositoryLinkOutput) SetRepositoryLinkInfo(v *RepositoryLinkInfo) *UpdateRepositoryLinkOutput { + s.RepositoryLinkInfo = v + return s +} + +type UpdateSyncBlockerInput struct { + _ struct{} `type:"structure"` + + // The ID of the sync blocker to be updated. + // + // Id is a required field + Id *string `min:"1" type:"string" required:"true"` + + // The reason for resolving the sync blocker. + // + // ResolvedReason is a required field + ResolvedReason *string `min:"1" type:"string" required:"true"` + + // The name of the resource for the sync blocker to be updated. + // + // ResourceName is a required field + ResourceName *string `min:"1" type:"string" required:"true"` + + // The sync type of the sync blocker to be updated. + // + // SyncType is a required field + SyncType *string `type:"string" required:"true" enum:"SyncConfigurationType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateSyncBlockerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateSyncBlockerInput) 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 *UpdateSyncBlockerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateSyncBlockerInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } - if s.TagKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TagKeys")) + if s.ResolvedReason == nil { + invalidParams.Add(request.NewErrParamRequired("ResolvedReason")) + } + if s.ResolvedReason != nil && len(*s.ResolvedReason) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolvedReason", 1)) + } + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + if s.ResourceName != nil && len(*s.ResourceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceName", 1)) + } + if s.SyncType == nil { + invalidParams.Add(request.NewErrParamRequired("SyncType")) } if invalidParams.Len() > 0 { @@ -2743,20 +7565,45 @@ func (s *UntagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { - s.ResourceArn = &v +// SetId sets the Id field's value. +func (s *UpdateSyncBlockerInput) SetId(v string) *UpdateSyncBlockerInput { + s.Id = &v return s } -// SetTagKeys sets the TagKeys field's value. -func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { - s.TagKeys = v +// SetResolvedReason sets the ResolvedReason field's value. +func (s *UpdateSyncBlockerInput) SetResolvedReason(v string) *UpdateSyncBlockerInput { + s.ResolvedReason = &v return s } -type UntagResourceOutput struct { +// SetResourceName sets the ResourceName field's value. +func (s *UpdateSyncBlockerInput) SetResourceName(v string) *UpdateSyncBlockerInput { + s.ResourceName = &v + return s +} + +// SetSyncType sets the SyncType field's value. +func (s *UpdateSyncBlockerInput) SetSyncType(v string) *UpdateSyncBlockerInput { + s.SyncType = &v + return s +} + +type UpdateSyncBlockerOutput struct { _ struct{} `type:"structure"` + + // The parent resource name for the sync blocker. + ParentResourceName *string `min:"1" type:"string"` + + // The resource name for the sync blocker. + // + // ResourceName is a required field + ResourceName *string `min:"1" type:"string" required:"true"` + + // Information about the sync blocker to be updated. + // + // SyncBlocker is a required field + SyncBlocker *SyncBlocker `type:"structure" required:"true"` } // String returns the string representation. @@ -2764,7 +7611,7 @@ type UntagResourceOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UntagResourceOutput) String() string { +func (s UpdateSyncBlockerOutput) String() string { return awsutil.Prettify(s) } @@ -2773,25 +7620,53 @@ func (s UntagResourceOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UntagResourceOutput) GoString() string { +func (s UpdateSyncBlockerOutput) GoString() string { return s.String() } -type UpdateHostInput struct { +// SetParentResourceName sets the ParentResourceName field's value. +func (s *UpdateSyncBlockerOutput) SetParentResourceName(v string) *UpdateSyncBlockerOutput { + s.ParentResourceName = &v + return s +} + +// SetResourceName sets the ResourceName field's value. +func (s *UpdateSyncBlockerOutput) SetResourceName(v string) *UpdateSyncBlockerOutput { + s.ResourceName = &v + return s +} + +// SetSyncBlocker sets the SyncBlocker field's value. +func (s *UpdateSyncBlockerOutput) SetSyncBlocker(v *SyncBlocker) *UpdateSyncBlockerOutput { + s.SyncBlocker = v + return s +} + +type UpdateSyncConfigurationInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the host to be updated. + // The branch for the sync configuration to be updated. + Branch *string `min:"1" type:"string"` + + // The configuration file for the sync configuration to be updated. + ConfigFile *string `type:"string"` + + // The ID of the repository link for the sync configuration to be updated. + RepositoryLinkId *string `type:"string"` + + // The name of the Amazon Web Services resource for the sync configuration to + // be updated. // - // HostArn is a required field - HostArn *string `type:"string" required:"true"` + // ResourceName is a required field + ResourceName *string `min:"1" type:"string" required:"true"` - // The URL or endpoint of the host to be updated. - ProviderEndpoint *string `min:"1" type:"string"` + // The ARN of the IAM role for the sync configuration to be updated. + RoleArn *string `min:"1" type:"string"` - // The VPC configuration of the host to be updated. A VPC must be configured - // and the infrastructure to be represented by the host must already be connected - // to the VPC. - VpcConfiguration *VpcConfiguration `type:"structure"` + // The sync type for the sync configuration to be updated. + // + // SyncType is a required field + SyncType *string `type:"string" required:"true" enum:"SyncConfigurationType"` } // String returns the string representation. @@ -2799,7 +7674,7 @@ type UpdateHostInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateHostInput) String() string { +func (s UpdateSyncConfigurationInput) String() string { return awsutil.Prettify(s) } @@ -2808,23 +7683,27 @@ func (s UpdateHostInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateHostInput) GoString() string { +func (s UpdateSyncConfigurationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateHostInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateHostInput"} - if s.HostArn == nil { - invalidParams.Add(request.NewErrParamRequired("HostArn")) +func (s *UpdateSyncConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateSyncConfigurationInput"} + if s.Branch != nil && len(*s.Branch) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Branch", 1)) } - if s.ProviderEndpoint != nil && len(*s.ProviderEndpoint) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ProviderEndpoint", 1)) + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) } - if s.VpcConfiguration != nil { - if err := s.VpcConfiguration.Validate(); err != nil { - invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) - } + if s.ResourceName != nil && len(*s.ResourceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceName", 1)) + } + if s.RoleArn != nil && len(*s.RoleArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) + } + if s.SyncType == nil { + invalidParams.Add(request.NewErrParamRequired("SyncType")) } if invalidParams.Len() > 0 { @@ -2833,26 +7712,49 @@ func (s *UpdateHostInput) Validate() error { return nil } -// SetHostArn sets the HostArn field's value. -func (s *UpdateHostInput) SetHostArn(v string) *UpdateHostInput { - s.HostArn = &v +// SetBranch sets the Branch field's value. +func (s *UpdateSyncConfigurationInput) SetBranch(v string) *UpdateSyncConfigurationInput { + s.Branch = &v return s } -// SetProviderEndpoint sets the ProviderEndpoint field's value. -func (s *UpdateHostInput) SetProviderEndpoint(v string) *UpdateHostInput { - s.ProviderEndpoint = &v +// SetConfigFile sets the ConfigFile field's value. +func (s *UpdateSyncConfigurationInput) SetConfigFile(v string) *UpdateSyncConfigurationInput { + s.ConfigFile = &v return s } -// SetVpcConfiguration sets the VpcConfiguration field's value. -func (s *UpdateHostInput) SetVpcConfiguration(v *VpcConfiguration) *UpdateHostInput { - s.VpcConfiguration = v +// SetRepositoryLinkId sets the RepositoryLinkId field's value. +func (s *UpdateSyncConfigurationInput) SetRepositoryLinkId(v string) *UpdateSyncConfigurationInput { + s.RepositoryLinkId = &v return s } -type UpdateHostOutput struct { +// SetResourceName sets the ResourceName field's value. +func (s *UpdateSyncConfigurationInput) SetResourceName(v string) *UpdateSyncConfigurationInput { + s.ResourceName = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *UpdateSyncConfigurationInput) SetRoleArn(v string) *UpdateSyncConfigurationInput { + s.RoleArn = &v + return s +} + +// SetSyncType sets the SyncType field's value. +func (s *UpdateSyncConfigurationInput) SetSyncType(v string) *UpdateSyncConfigurationInput { + s.SyncType = &v + return s +} + +type UpdateSyncConfigurationOutput struct { _ struct{} `type:"structure"` + + // The information returned for the sync configuration to be updated. + // + // SyncConfiguration is a required field + SyncConfiguration *SyncConfiguration `type:"structure" required:"true"` } // String returns the string representation. @@ -2860,7 +7762,7 @@ type UpdateHostOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateHostOutput) String() string { +func (s UpdateSyncConfigurationOutput) String() string { return awsutil.Prettify(s) } @@ -2869,10 +7771,16 @@ func (s UpdateHostOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateHostOutput) GoString() string { +func (s UpdateSyncConfigurationOutput) GoString() string { return s.String() } +// SetSyncConfiguration sets the SyncConfiguration field's value. +func (s *UpdateSyncConfigurationOutput) SetSyncConfiguration(v *SyncConfiguration) *UpdateSyncConfigurationOutput { + s.SyncConfiguration = v + return s +} + // The VPC configuration provisioned for the host. type VpcConfiguration struct { _ struct{} `type:"structure"` @@ -2973,6 +7881,34 @@ func (s *VpcConfiguration) SetVpcId(v string) *VpcConfiguration { return s } +const ( + // BlockerStatusActive is a BlockerStatus enum value + BlockerStatusActive = "ACTIVE" + + // BlockerStatusResolved is a BlockerStatus enum value + BlockerStatusResolved = "RESOLVED" +) + +// BlockerStatus_Values returns all elements of the BlockerStatus enum +func BlockerStatus_Values() []string { + return []string{ + BlockerStatusActive, + BlockerStatusResolved, + } +} + +const ( + // BlockerTypeAutomated is a BlockerType enum value + BlockerTypeAutomated = "AUTOMATED" +) + +// BlockerType_Values returns all elements of the BlockerType enum +func BlockerType_Values() []string { + return []string{ + BlockerTypeAutomated, + } +} + const ( // ConnectionStatusPending is a ConnectionStatus enum value ConnectionStatusPending = "PENDING" @@ -3016,3 +7952,67 @@ func ProviderType_Values() []string { ProviderTypeGitLab, } } + +const ( + // RepositorySyncStatusFailed is a RepositorySyncStatus enum value + RepositorySyncStatusFailed = "FAILED" + + // RepositorySyncStatusInitiated is a RepositorySyncStatus enum value + RepositorySyncStatusInitiated = "INITIATED" + + // RepositorySyncStatusInProgress is a RepositorySyncStatus enum value + RepositorySyncStatusInProgress = "IN_PROGRESS" + + // RepositorySyncStatusSucceeded is a RepositorySyncStatus enum value + RepositorySyncStatusSucceeded = "SUCCEEDED" + + // RepositorySyncStatusQueued is a RepositorySyncStatus enum value + RepositorySyncStatusQueued = "QUEUED" +) + +// RepositorySyncStatus_Values returns all elements of the RepositorySyncStatus enum +func RepositorySyncStatus_Values() []string { + return []string{ + RepositorySyncStatusFailed, + RepositorySyncStatusInitiated, + RepositorySyncStatusInProgress, + RepositorySyncStatusSucceeded, + RepositorySyncStatusQueued, + } +} + +const ( + // ResourceSyncStatusFailed is a ResourceSyncStatus enum value + ResourceSyncStatusFailed = "FAILED" + + // ResourceSyncStatusInitiated is a ResourceSyncStatus enum value + ResourceSyncStatusInitiated = "INITIATED" + + // ResourceSyncStatusInProgress is a ResourceSyncStatus enum value + ResourceSyncStatusInProgress = "IN_PROGRESS" + + // ResourceSyncStatusSucceeded is a ResourceSyncStatus enum value + ResourceSyncStatusSucceeded = "SUCCEEDED" +) + +// ResourceSyncStatus_Values returns all elements of the ResourceSyncStatus enum +func ResourceSyncStatus_Values() []string { + return []string{ + ResourceSyncStatusFailed, + ResourceSyncStatusInitiated, + ResourceSyncStatusInProgress, + ResourceSyncStatusSucceeded, + } +} + +const ( + // SyncConfigurationTypeCfnStackSync is a SyncConfigurationType enum value + SyncConfigurationTypeCfnStackSync = "CFN_STACK_SYNC" +) + +// SyncConfigurationType_Values returns all elements of the SyncConfigurationType enum +func SyncConfigurationType_Values() []string { + return []string{ + SyncConfigurationTypeCfnStackSync, + } +} diff --git a/service/codestarconnections/codestarconnectionsiface/interface.go b/service/codestarconnections/codestarconnectionsiface/interface.go index 902cf7e5142..fd26f3fd334 100644 --- a/service/codestarconnections/codestarconnectionsiface/interface.go +++ b/service/codestarconnections/codestarconnectionsiface/interface.go @@ -68,6 +68,14 @@ type CodeStarConnectionsAPI interface { CreateHostWithContext(aws.Context, *codestarconnections.CreateHostInput, ...request.Option) (*codestarconnections.CreateHostOutput, error) CreateHostRequest(*codestarconnections.CreateHostInput) (*request.Request, *codestarconnections.CreateHostOutput) + CreateRepositoryLink(*codestarconnections.CreateRepositoryLinkInput) (*codestarconnections.CreateRepositoryLinkOutput, error) + CreateRepositoryLinkWithContext(aws.Context, *codestarconnections.CreateRepositoryLinkInput, ...request.Option) (*codestarconnections.CreateRepositoryLinkOutput, error) + CreateRepositoryLinkRequest(*codestarconnections.CreateRepositoryLinkInput) (*request.Request, *codestarconnections.CreateRepositoryLinkOutput) + + CreateSyncConfiguration(*codestarconnections.CreateSyncConfigurationInput) (*codestarconnections.CreateSyncConfigurationOutput, error) + CreateSyncConfigurationWithContext(aws.Context, *codestarconnections.CreateSyncConfigurationInput, ...request.Option) (*codestarconnections.CreateSyncConfigurationOutput, error) + CreateSyncConfigurationRequest(*codestarconnections.CreateSyncConfigurationInput) (*request.Request, *codestarconnections.CreateSyncConfigurationOutput) + DeleteConnection(*codestarconnections.DeleteConnectionInput) (*codestarconnections.DeleteConnectionOutput, error) DeleteConnectionWithContext(aws.Context, *codestarconnections.DeleteConnectionInput, ...request.Option) (*codestarconnections.DeleteConnectionOutput, error) DeleteConnectionRequest(*codestarconnections.DeleteConnectionInput) (*request.Request, *codestarconnections.DeleteConnectionOutput) @@ -76,6 +84,14 @@ type CodeStarConnectionsAPI interface { DeleteHostWithContext(aws.Context, *codestarconnections.DeleteHostInput, ...request.Option) (*codestarconnections.DeleteHostOutput, error) DeleteHostRequest(*codestarconnections.DeleteHostInput) (*request.Request, *codestarconnections.DeleteHostOutput) + DeleteRepositoryLink(*codestarconnections.DeleteRepositoryLinkInput) (*codestarconnections.DeleteRepositoryLinkOutput, error) + DeleteRepositoryLinkWithContext(aws.Context, *codestarconnections.DeleteRepositoryLinkInput, ...request.Option) (*codestarconnections.DeleteRepositoryLinkOutput, error) + DeleteRepositoryLinkRequest(*codestarconnections.DeleteRepositoryLinkInput) (*request.Request, *codestarconnections.DeleteRepositoryLinkOutput) + + DeleteSyncConfiguration(*codestarconnections.DeleteSyncConfigurationInput) (*codestarconnections.DeleteSyncConfigurationOutput, error) + DeleteSyncConfigurationWithContext(aws.Context, *codestarconnections.DeleteSyncConfigurationInput, ...request.Option) (*codestarconnections.DeleteSyncConfigurationOutput, error) + DeleteSyncConfigurationRequest(*codestarconnections.DeleteSyncConfigurationInput) (*request.Request, *codestarconnections.DeleteSyncConfigurationOutput) + GetConnection(*codestarconnections.GetConnectionInput) (*codestarconnections.GetConnectionOutput, error) GetConnectionWithContext(aws.Context, *codestarconnections.GetConnectionInput, ...request.Option) (*codestarconnections.GetConnectionOutput, error) GetConnectionRequest(*codestarconnections.GetConnectionInput) (*request.Request, *codestarconnections.GetConnectionOutput) @@ -84,6 +100,26 @@ type CodeStarConnectionsAPI interface { GetHostWithContext(aws.Context, *codestarconnections.GetHostInput, ...request.Option) (*codestarconnections.GetHostOutput, error) GetHostRequest(*codestarconnections.GetHostInput) (*request.Request, *codestarconnections.GetHostOutput) + GetRepositoryLink(*codestarconnections.GetRepositoryLinkInput) (*codestarconnections.GetRepositoryLinkOutput, error) + GetRepositoryLinkWithContext(aws.Context, *codestarconnections.GetRepositoryLinkInput, ...request.Option) (*codestarconnections.GetRepositoryLinkOutput, error) + GetRepositoryLinkRequest(*codestarconnections.GetRepositoryLinkInput) (*request.Request, *codestarconnections.GetRepositoryLinkOutput) + + GetRepositorySyncStatus(*codestarconnections.GetRepositorySyncStatusInput) (*codestarconnections.GetRepositorySyncStatusOutput, error) + GetRepositorySyncStatusWithContext(aws.Context, *codestarconnections.GetRepositorySyncStatusInput, ...request.Option) (*codestarconnections.GetRepositorySyncStatusOutput, error) + GetRepositorySyncStatusRequest(*codestarconnections.GetRepositorySyncStatusInput) (*request.Request, *codestarconnections.GetRepositorySyncStatusOutput) + + GetResourceSyncStatus(*codestarconnections.GetResourceSyncStatusInput) (*codestarconnections.GetResourceSyncStatusOutput, error) + GetResourceSyncStatusWithContext(aws.Context, *codestarconnections.GetResourceSyncStatusInput, ...request.Option) (*codestarconnections.GetResourceSyncStatusOutput, error) + GetResourceSyncStatusRequest(*codestarconnections.GetResourceSyncStatusInput) (*request.Request, *codestarconnections.GetResourceSyncStatusOutput) + + GetSyncBlockerSummary(*codestarconnections.GetSyncBlockerSummaryInput) (*codestarconnections.GetSyncBlockerSummaryOutput, error) + GetSyncBlockerSummaryWithContext(aws.Context, *codestarconnections.GetSyncBlockerSummaryInput, ...request.Option) (*codestarconnections.GetSyncBlockerSummaryOutput, error) + GetSyncBlockerSummaryRequest(*codestarconnections.GetSyncBlockerSummaryInput) (*request.Request, *codestarconnections.GetSyncBlockerSummaryOutput) + + GetSyncConfiguration(*codestarconnections.GetSyncConfigurationInput) (*codestarconnections.GetSyncConfigurationOutput, error) + GetSyncConfigurationWithContext(aws.Context, *codestarconnections.GetSyncConfigurationInput, ...request.Option) (*codestarconnections.GetSyncConfigurationOutput, error) + GetSyncConfigurationRequest(*codestarconnections.GetSyncConfigurationInput) (*request.Request, *codestarconnections.GetSyncConfigurationOutput) + ListConnections(*codestarconnections.ListConnectionsInput) (*codestarconnections.ListConnectionsOutput, error) ListConnectionsWithContext(aws.Context, *codestarconnections.ListConnectionsInput, ...request.Option) (*codestarconnections.ListConnectionsOutput, error) ListConnectionsRequest(*codestarconnections.ListConnectionsInput) (*request.Request, *codestarconnections.ListConnectionsOutput) @@ -98,6 +134,24 @@ type CodeStarConnectionsAPI interface { ListHostsPages(*codestarconnections.ListHostsInput, func(*codestarconnections.ListHostsOutput, bool) bool) error ListHostsPagesWithContext(aws.Context, *codestarconnections.ListHostsInput, func(*codestarconnections.ListHostsOutput, bool) bool, ...request.Option) error + ListRepositoryLinks(*codestarconnections.ListRepositoryLinksInput) (*codestarconnections.ListRepositoryLinksOutput, error) + ListRepositoryLinksWithContext(aws.Context, *codestarconnections.ListRepositoryLinksInput, ...request.Option) (*codestarconnections.ListRepositoryLinksOutput, error) + ListRepositoryLinksRequest(*codestarconnections.ListRepositoryLinksInput) (*request.Request, *codestarconnections.ListRepositoryLinksOutput) + + ListRepositoryLinksPages(*codestarconnections.ListRepositoryLinksInput, func(*codestarconnections.ListRepositoryLinksOutput, bool) bool) error + ListRepositoryLinksPagesWithContext(aws.Context, *codestarconnections.ListRepositoryLinksInput, func(*codestarconnections.ListRepositoryLinksOutput, bool) bool, ...request.Option) error + + ListRepositorySyncDefinitions(*codestarconnections.ListRepositorySyncDefinitionsInput) (*codestarconnections.ListRepositorySyncDefinitionsOutput, error) + ListRepositorySyncDefinitionsWithContext(aws.Context, *codestarconnections.ListRepositorySyncDefinitionsInput, ...request.Option) (*codestarconnections.ListRepositorySyncDefinitionsOutput, error) + ListRepositorySyncDefinitionsRequest(*codestarconnections.ListRepositorySyncDefinitionsInput) (*request.Request, *codestarconnections.ListRepositorySyncDefinitionsOutput) + + ListSyncConfigurations(*codestarconnections.ListSyncConfigurationsInput) (*codestarconnections.ListSyncConfigurationsOutput, error) + ListSyncConfigurationsWithContext(aws.Context, *codestarconnections.ListSyncConfigurationsInput, ...request.Option) (*codestarconnections.ListSyncConfigurationsOutput, error) + ListSyncConfigurationsRequest(*codestarconnections.ListSyncConfigurationsInput) (*request.Request, *codestarconnections.ListSyncConfigurationsOutput) + + ListSyncConfigurationsPages(*codestarconnections.ListSyncConfigurationsInput, func(*codestarconnections.ListSyncConfigurationsOutput, bool) bool) error + ListSyncConfigurationsPagesWithContext(aws.Context, *codestarconnections.ListSyncConfigurationsInput, func(*codestarconnections.ListSyncConfigurationsOutput, bool) bool, ...request.Option) error + ListTagsForResource(*codestarconnections.ListTagsForResourceInput) (*codestarconnections.ListTagsForResourceOutput, error) ListTagsForResourceWithContext(aws.Context, *codestarconnections.ListTagsForResourceInput, ...request.Option) (*codestarconnections.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*codestarconnections.ListTagsForResourceInput) (*request.Request, *codestarconnections.ListTagsForResourceOutput) @@ -113,6 +167,18 @@ type CodeStarConnectionsAPI interface { UpdateHost(*codestarconnections.UpdateHostInput) (*codestarconnections.UpdateHostOutput, error) UpdateHostWithContext(aws.Context, *codestarconnections.UpdateHostInput, ...request.Option) (*codestarconnections.UpdateHostOutput, error) UpdateHostRequest(*codestarconnections.UpdateHostInput) (*request.Request, *codestarconnections.UpdateHostOutput) + + UpdateRepositoryLink(*codestarconnections.UpdateRepositoryLinkInput) (*codestarconnections.UpdateRepositoryLinkOutput, error) + UpdateRepositoryLinkWithContext(aws.Context, *codestarconnections.UpdateRepositoryLinkInput, ...request.Option) (*codestarconnections.UpdateRepositoryLinkOutput, error) + UpdateRepositoryLinkRequest(*codestarconnections.UpdateRepositoryLinkInput) (*request.Request, *codestarconnections.UpdateRepositoryLinkOutput) + + UpdateSyncBlocker(*codestarconnections.UpdateSyncBlockerInput) (*codestarconnections.UpdateSyncBlockerOutput, error) + UpdateSyncBlockerWithContext(aws.Context, *codestarconnections.UpdateSyncBlockerInput, ...request.Option) (*codestarconnections.UpdateSyncBlockerOutput, error) + UpdateSyncBlockerRequest(*codestarconnections.UpdateSyncBlockerInput) (*request.Request, *codestarconnections.UpdateSyncBlockerOutput) + + UpdateSyncConfiguration(*codestarconnections.UpdateSyncConfigurationInput) (*codestarconnections.UpdateSyncConfigurationOutput, error) + UpdateSyncConfigurationWithContext(aws.Context, *codestarconnections.UpdateSyncConfigurationInput, ...request.Option) (*codestarconnections.UpdateSyncConfigurationOutput, error) + UpdateSyncConfigurationRequest(*codestarconnections.UpdateSyncConfigurationInput) (*request.Request, *codestarconnections.UpdateSyncConfigurationOutput) } var _ CodeStarConnectionsAPI = (*codestarconnections.CodeStarConnections)(nil) diff --git a/service/codestarconnections/errors.go b/service/codestarconnections/errors.go index e29878b6028..270e0c07c32 100644 --- a/service/codestarconnections/errors.go +++ b/service/codestarconnections/errors.go @@ -8,18 +8,56 @@ import ( const ( + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // You do not have sufficient access to perform this action. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConcurrentModificationException for service response error code + // "ConcurrentModificationException". + // + // Exception thrown as a result of concurrent modification to an application. + // For example, two individuals attempting to edit the same application at the + // same time. + ErrCodeConcurrentModificationException = "ConcurrentModificationException" + + // ErrCodeConditionalCheckFailedException for service response error code + // "ConditionalCheckFailedException". + // + // The conditional check failed. Try again later. + ErrCodeConditionalCheckFailedException = "ConditionalCheckFailedException" + // ErrCodeConflictException for service response error code // "ConflictException". // // Two conflicting operations have been made on the same resource. ErrCodeConflictException = "ConflictException" + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // Received an internal server exception. Try again later. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeInvalidInputException for service response error code + // "InvalidInputException". + // + // The input is not valid. Verify that the action is typed correctly. + ErrCodeInvalidInputException = "InvalidInputException" + // ErrCodeLimitExceededException for service response error code // "LimitExceededException". // // Exceeded the maximum limit for connections. ErrCodeLimitExceededException = "LimitExceededException" + // ErrCodeResourceAlreadyExistsException for service response error code + // "ResourceAlreadyExistsException". + // + // Unable to create resource. Resource already exists. + ErrCodeResourceAlreadyExistsException = "ResourceAlreadyExistsException" + // ErrCodeResourceNotFoundException for service response error code // "ResourceNotFoundException". // @@ -32,17 +70,65 @@ const ( // Resource not found. Verify the ARN for the host resource and try again. ErrCodeResourceUnavailableException = "ResourceUnavailableException" + // ErrCodeRetryLatestCommitFailedException for service response error code + // "RetryLatestCommitFailedException". + // + // Retrying the latest commit failed. Try again later. + ErrCodeRetryLatestCommitFailedException = "RetryLatestCommitFailedException" + + // ErrCodeSyncBlockerDoesNotExistException for service response error code + // "SyncBlockerDoesNotExistException". + // + // Unable to continue. The sync blocker does not exist. + ErrCodeSyncBlockerDoesNotExistException = "SyncBlockerDoesNotExistException" + + // ErrCodeSyncConfigurationStillExistsException for service response error code + // "SyncConfigurationStillExistsException". + // + // Unable to continue. The sync blocker still exists. + ErrCodeSyncConfigurationStillExistsException = "SyncConfigurationStillExistsException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // The request was denied due to request throttling. + ErrCodeThrottlingException = "ThrottlingException" + // ErrCodeUnsupportedOperationException for service response error code // "UnsupportedOperationException". // // The operation is not supported. Check the connection status and try again. ErrCodeUnsupportedOperationException = "UnsupportedOperationException" + + // ErrCodeUnsupportedProviderTypeException for service response error code + // "UnsupportedProviderTypeException". + // + // The specified provider type is not supported for connections. + ErrCodeUnsupportedProviderTypeException = "UnsupportedProviderTypeException" + + // ErrCodeUpdateOutOfSyncException for service response error code + // "UpdateOutOfSyncException". + // + // The update is out of sync. Try syncing again. + ErrCodeUpdateOutOfSyncException = "UpdateOutOfSyncException" ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ - "ConflictException": newErrorConflictException, - "LimitExceededException": newErrorLimitExceededException, - "ResourceNotFoundException": newErrorResourceNotFoundException, - "ResourceUnavailableException": newErrorResourceUnavailableException, - "UnsupportedOperationException": newErrorUnsupportedOperationException, + "AccessDeniedException": newErrorAccessDeniedException, + "ConcurrentModificationException": newErrorConcurrentModificationException, + "ConditionalCheckFailedException": newErrorConditionalCheckFailedException, + "ConflictException": newErrorConflictException, + "InternalServerException": newErrorInternalServerException, + "InvalidInputException": newErrorInvalidInputException, + "LimitExceededException": newErrorLimitExceededException, + "ResourceAlreadyExistsException": newErrorResourceAlreadyExistsException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ResourceUnavailableException": newErrorResourceUnavailableException, + "RetryLatestCommitFailedException": newErrorRetryLatestCommitFailedException, + "SyncBlockerDoesNotExistException": newErrorSyncBlockerDoesNotExistException, + "SyncConfigurationStillExistsException": newErrorSyncConfigurationStillExistsException, + "ThrottlingException": newErrorThrottlingException, + "UnsupportedOperationException": newErrorUnsupportedOperationException, + "UnsupportedProviderTypeException": newErrorUnsupportedProviderTypeException, + "UpdateOutOfSyncException": newErrorUpdateOutOfSyncException, } diff --git a/service/connect/api.go b/service/connect/api.go index d86debd9381..8b5d6ad46ab 100644 --- a/service/connect/api.go +++ b/service/connect/api.go @@ -67739,6 +67739,9 @@ const ( // IntegrationTypeWisdomKnowledgeBase is a IntegrationType enum value IntegrationTypeWisdomKnowledgeBase = "WISDOM_KNOWLEDGE_BASE" + // IntegrationTypeWisdomQuickResponses is a IntegrationType enum value + IntegrationTypeWisdomQuickResponses = "WISDOM_QUICK_RESPONSES" + // IntegrationTypeCasesDomain is a IntegrationType enum value IntegrationTypeCasesDomain = "CASES_DOMAIN" @@ -67757,6 +67760,7 @@ func IntegrationType_Values() []string { IntegrationTypePinpointApp, IntegrationTypeWisdomAssistant, IntegrationTypeWisdomKnowledgeBase, + IntegrationTypeWisdomQuickResponses, IntegrationTypeCasesDomain, IntegrationTypeApplication, IntegrationTypeFileScanner, @@ -67812,9 +67816,6 @@ func LexVersion_Values() []string { } const ( - // ListFlowAssociationResourceTypeSmsPhoneNumber is a ListFlowAssociationResourceType enum value - ListFlowAssociationResourceTypeSmsPhoneNumber = "SMS_PHONE_NUMBER" - // ListFlowAssociationResourceTypeVoicePhoneNumber is a ListFlowAssociationResourceType enum value ListFlowAssociationResourceTypeVoicePhoneNumber = "VOICE_PHONE_NUMBER" ) @@ -67822,7 +67823,6 @@ const ( // ListFlowAssociationResourceType_Values returns all elements of the ListFlowAssociationResourceType enum func ListFlowAssociationResourceType_Values() []string { return []string{ - ListFlowAssociationResourceTypeSmsPhoneNumber, ListFlowAssociationResourceTypeVoicePhoneNumber, } } diff --git a/service/connectwisdomservice/api.go b/service/connectwisdomservice/api.go index 73f6625915e..2a3119a5bb8 100644 --- a/service/connectwisdomservice/api.go +++ b/service/connectwisdomservice/api.go @@ -412,6 +412,102 @@ func (c *ConnectWisdomService) CreateKnowledgeBaseWithContext(ctx aws.Context, i return out, req.Send() } +const opCreateQuickResponse = "CreateQuickResponse" + +// CreateQuickResponseRequest generates a "aws/request.Request" representing the +// client's request for the CreateQuickResponse operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateQuickResponse for more information on using the CreateQuickResponse +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateQuickResponseRequest method. +// req, resp := client.CreateQuickResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/CreateQuickResponse +func (c *ConnectWisdomService) CreateQuickResponseRequest(input *CreateQuickResponseInput) (req *request.Request, output *CreateQuickResponseOutput) { + op := &request.Operation{ + Name: opCreateQuickResponse, + HTTPMethod: "POST", + HTTPPath: "/knowledgeBases/{knowledgeBaseId}/quickResponses", + } + + if input == nil { + input = &CreateQuickResponseInput{} + } + + output = &CreateQuickResponseOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateQuickResponse API operation for Amazon Connect Wisdom Service. +// +// Creates a Wisdom quick response. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Wisdom Service's +// API operation CreateQuickResponse for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// The request could not be processed because of conflict in the current state +// of the resource. For example, if you're using a Create API (such as CreateAssistant) +// that accepts name, a conflicting resource (usually with the same name) is +// being created or mutated. +// +// - ValidationException +// The input fails to satisfy the constraints specified by a service. +// +// - ServiceQuotaExceededException +// You've exceeded your service quota. To perform the requested action, remove +// some of the relevant resources, or use service quotas to request a service +// quota increase. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/CreateQuickResponse +func (c *ConnectWisdomService) CreateQuickResponse(input *CreateQuickResponseInput) (*CreateQuickResponseOutput, error) { + req, out := c.CreateQuickResponseRequest(input) + return out, req.Send() +} + +// CreateQuickResponseWithContext is the same as CreateQuickResponse with the addition of +// the ability to pass a context and additional request options. +// +// See CreateQuickResponse for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectWisdomService) CreateQuickResponseWithContext(ctx aws.Context, input *CreateQuickResponseInput, opts ...request.Option) (*CreateQuickResponseOutput, error) { + req, out := c.CreateQuickResponseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateSession = "CreateSession" // CreateSessionRequest generates a "aws/request.Request" representing the @@ -760,6 +856,98 @@ func (c *ConnectWisdomService) DeleteContentWithContext(ctx aws.Context, input * return out, req.Send() } +const opDeleteImportJob = "DeleteImportJob" + +// DeleteImportJobRequest generates a "aws/request.Request" representing the +// client's request for the DeleteImportJob operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteImportJob for more information on using the DeleteImportJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteImportJobRequest method. +// req, resp := client.DeleteImportJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/DeleteImportJob +func (c *ConnectWisdomService) DeleteImportJobRequest(input *DeleteImportJobInput) (req *request.Request, output *DeleteImportJobOutput) { + op := &request.Operation{ + Name: opDeleteImportJob, + HTTPMethod: "DELETE", + HTTPPath: "/knowledgeBases/{knowledgeBaseId}/importJobs/{importJobId}", + } + + if input == nil { + input = &DeleteImportJobInput{} + } + + output = &DeleteImportJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteImportJob API operation for Amazon Connect Wisdom Service. +// +// Deletes the quick response import job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Wisdom Service's +// API operation DeleteImportJob for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// The request could not be processed because of conflict in the current state +// of the resource. For example, if you're using a Create API (such as CreateAssistant) +// that accepts name, a conflicting resource (usually with the same name) is +// being created or mutated. +// +// - ValidationException +// The input fails to satisfy the constraints specified by a service. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/DeleteImportJob +func (c *ConnectWisdomService) DeleteImportJob(input *DeleteImportJobInput) (*DeleteImportJobOutput, error) { + req, out := c.DeleteImportJobRequest(input) + return out, req.Send() +} + +// DeleteImportJobWithContext is the same as DeleteImportJob with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteImportJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectWisdomService) DeleteImportJobWithContext(ctx aws.Context, input *DeleteImportJobInput, opts ...request.Option) (*DeleteImportJobOutput, error) { + req, out := c.DeleteImportJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteKnowledgeBase = "DeleteKnowledgeBase" // DeleteKnowledgeBaseRequest generates a "aws/request.Request" representing the @@ -860,6 +1048,92 @@ func (c *ConnectWisdomService) DeleteKnowledgeBaseWithContext(ctx aws.Context, i return out, req.Send() } +const opDeleteQuickResponse = "DeleteQuickResponse" + +// DeleteQuickResponseRequest generates a "aws/request.Request" representing the +// client's request for the DeleteQuickResponse operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteQuickResponse for more information on using the DeleteQuickResponse +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteQuickResponseRequest method. +// req, resp := client.DeleteQuickResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/DeleteQuickResponse +func (c *ConnectWisdomService) DeleteQuickResponseRequest(input *DeleteQuickResponseInput) (req *request.Request, output *DeleteQuickResponseOutput) { + op := &request.Operation{ + Name: opDeleteQuickResponse, + HTTPMethod: "DELETE", + HTTPPath: "/knowledgeBases/{knowledgeBaseId}/quickResponses/{quickResponseId}", + } + + if input == nil { + input = &DeleteQuickResponseInput{} + } + + output = &DeleteQuickResponseOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteQuickResponse API operation for Amazon Connect Wisdom Service. +// +// Deletes a quick response. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Wisdom Service's +// API operation DeleteQuickResponse for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input fails to satisfy the constraints specified by a service. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/DeleteQuickResponse +func (c *ConnectWisdomService) DeleteQuickResponse(input *DeleteQuickResponseInput) (*DeleteQuickResponseOutput, error) { + req, out := c.DeleteQuickResponseRequest(input) + return out, req.Send() +} + +// DeleteQuickResponseWithContext is the same as DeleteQuickResponse with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteQuickResponse for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectWisdomService) DeleteQuickResponseWithContext(ctx aws.Context, input *DeleteQuickResponseInput, opts ...request.Option) (*DeleteQuickResponseOutput, error) { + req, out := c.DeleteQuickResponseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetAssistant = "GetAssistant" // GetAssistantRequest generates a "aws/request.Request" representing the @@ -1200,57 +1474,57 @@ func (c *ConnectWisdomService) GetContentSummaryWithContext(ctx aws.Context, inp return out, req.Send() } -const opGetKnowledgeBase = "GetKnowledgeBase" +const opGetImportJob = "GetImportJob" -// GetKnowledgeBaseRequest generates a "aws/request.Request" representing the -// client's request for the GetKnowledgeBase operation. The "output" return +// GetImportJobRequest generates a "aws/request.Request" representing the +// client's request for the GetImportJob operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetKnowledgeBase for more information on using the GetKnowledgeBase +// See GetImportJob for more information on using the GetImportJob // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetKnowledgeBaseRequest method. -// req, resp := client.GetKnowledgeBaseRequest(params) +// // Example sending a request using the GetImportJobRequest method. +// req, resp := client.GetImportJobRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/GetKnowledgeBase -func (c *ConnectWisdomService) GetKnowledgeBaseRequest(input *GetKnowledgeBaseInput) (req *request.Request, output *GetKnowledgeBaseOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/GetImportJob +func (c *ConnectWisdomService) GetImportJobRequest(input *GetImportJobInput) (req *request.Request, output *GetImportJobOutput) { op := &request.Operation{ - Name: opGetKnowledgeBase, + Name: opGetImportJob, HTTPMethod: "GET", - HTTPPath: "/knowledgeBases/{knowledgeBaseId}", + HTTPPath: "/knowledgeBases/{knowledgeBaseId}/importJobs/{importJobId}", } if input == nil { - input = &GetKnowledgeBaseInput{} + input = &GetImportJobInput{} } - output = &GetKnowledgeBaseOutput{} + output = &GetImportJobOutput{} req = c.newRequest(op, input, output) return } -// GetKnowledgeBase API operation for Amazon Connect Wisdom Service. +// GetImportJob API operation for Amazon Connect Wisdom Service. // -// Retrieves information about the knowledge base. +// Retrieves the started import job. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Connect Wisdom Service's -// API operation GetKnowledgeBase for usage and error information. +// API operation GetImportJob for usage and error information. // // Returned Error Types: // @@ -1263,70 +1537,240 @@ func (c *ConnectWisdomService) GetKnowledgeBaseRequest(input *GetKnowledgeBaseIn // - ResourceNotFoundException // The specified resource does not exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/GetKnowledgeBase -func (c *ConnectWisdomService) GetKnowledgeBase(input *GetKnowledgeBaseInput) (*GetKnowledgeBaseOutput, error) { - req, out := c.GetKnowledgeBaseRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/GetImportJob +func (c *ConnectWisdomService) GetImportJob(input *GetImportJobInput) (*GetImportJobOutput, error) { + req, out := c.GetImportJobRequest(input) return out, req.Send() } -// GetKnowledgeBaseWithContext is the same as GetKnowledgeBase with the addition of +// GetImportJobWithContext is the same as GetImportJob with the addition of // the ability to pass a context and additional request options. // -// See GetKnowledgeBase for details on how to use this API operation. +// See GetImportJob for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *ConnectWisdomService) GetKnowledgeBaseWithContext(ctx aws.Context, input *GetKnowledgeBaseInput, opts ...request.Option) (*GetKnowledgeBaseOutput, error) { - req, out := c.GetKnowledgeBaseRequest(input) +func (c *ConnectWisdomService) GetImportJobWithContext(ctx aws.Context, input *GetImportJobInput, opts ...request.Option) (*GetImportJobOutput, error) { + req, out := c.GetImportJobRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRecommendations = "GetRecommendations" +const opGetKnowledgeBase = "GetKnowledgeBase" -// GetRecommendationsRequest generates a "aws/request.Request" representing the -// client's request for the GetRecommendations operation. The "output" return +// GetKnowledgeBaseRequest generates a "aws/request.Request" representing the +// client's request for the GetKnowledgeBase operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRecommendations for more information on using the GetRecommendations +// See GetKnowledgeBase for more information on using the GetKnowledgeBase // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetRecommendationsRequest method. -// req, resp := client.GetRecommendationsRequest(params) +// // Example sending a request using the GetKnowledgeBaseRequest method. +// req, resp := client.GetKnowledgeBaseRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/GetRecommendations -func (c *ConnectWisdomService) GetRecommendationsRequest(input *GetRecommendationsInput) (req *request.Request, output *GetRecommendationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/GetKnowledgeBase +func (c *ConnectWisdomService) GetKnowledgeBaseRequest(input *GetKnowledgeBaseInput) (req *request.Request, output *GetKnowledgeBaseOutput) { op := &request.Operation{ - Name: opGetRecommendations, + Name: opGetKnowledgeBase, HTTPMethod: "GET", - HTTPPath: "/assistants/{assistantId}/sessions/{sessionId}/recommendations", + HTTPPath: "/knowledgeBases/{knowledgeBaseId}", } if input == nil { - input = &GetRecommendationsInput{} + input = &GetKnowledgeBaseInput{} } - output = &GetRecommendationsOutput{} + output = &GetKnowledgeBaseOutput{} req = c.newRequest(op, input, output) return } -// GetRecommendations API operation for Amazon Connect Wisdom Service. +// GetKnowledgeBase API operation for Amazon Connect Wisdom Service. +// +// Retrieves information about the knowledge base. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Wisdom Service's +// API operation GetKnowledgeBase for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input fails to satisfy the constraints specified by a service. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/GetKnowledgeBase +func (c *ConnectWisdomService) GetKnowledgeBase(input *GetKnowledgeBaseInput) (*GetKnowledgeBaseOutput, error) { + req, out := c.GetKnowledgeBaseRequest(input) + return out, req.Send() +} + +// GetKnowledgeBaseWithContext is the same as GetKnowledgeBase with the addition of +// the ability to pass a context and additional request options. +// +// See GetKnowledgeBase for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectWisdomService) GetKnowledgeBaseWithContext(ctx aws.Context, input *GetKnowledgeBaseInput, opts ...request.Option) (*GetKnowledgeBaseOutput, error) { + req, out := c.GetKnowledgeBaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetQuickResponse = "GetQuickResponse" + +// GetQuickResponseRequest generates a "aws/request.Request" representing the +// client's request for the GetQuickResponse operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetQuickResponse for more information on using the GetQuickResponse +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetQuickResponseRequest method. +// req, resp := client.GetQuickResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/GetQuickResponse +func (c *ConnectWisdomService) GetQuickResponseRequest(input *GetQuickResponseInput) (req *request.Request, output *GetQuickResponseOutput) { + op := &request.Operation{ + Name: opGetQuickResponse, + HTTPMethod: "GET", + HTTPPath: "/knowledgeBases/{knowledgeBaseId}/quickResponses/{quickResponseId}", + } + + if input == nil { + input = &GetQuickResponseInput{} + } + + output = &GetQuickResponseOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetQuickResponse API operation for Amazon Connect Wisdom Service. +// +// Retrieves the quick response. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Wisdom Service's +// API operation GetQuickResponse for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input fails to satisfy the constraints specified by a service. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/GetQuickResponse +func (c *ConnectWisdomService) GetQuickResponse(input *GetQuickResponseInput) (*GetQuickResponseOutput, error) { + req, out := c.GetQuickResponseRequest(input) + return out, req.Send() +} + +// GetQuickResponseWithContext is the same as GetQuickResponse with the addition of +// the ability to pass a context and additional request options. +// +// See GetQuickResponse for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectWisdomService) GetQuickResponseWithContext(ctx aws.Context, input *GetQuickResponseInput, opts ...request.Option) (*GetQuickResponseOutput, error) { + req, out := c.GetQuickResponseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetRecommendations = "GetRecommendations" + +// GetRecommendationsRequest generates a "aws/request.Request" representing the +// client's request for the GetRecommendations operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetRecommendations for more information on using the GetRecommendations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetRecommendationsRequest method. +// req, resp := client.GetRecommendationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/GetRecommendations +func (c *ConnectWisdomService) GetRecommendationsRequest(input *GetRecommendationsInput) (req *request.Request, output *GetRecommendationsOutput) { + op := &request.Operation{ + Name: opGetRecommendations, + HTTPMethod: "GET", + HTTPPath: "/assistants/{assistantId}/sessions/{sessionId}/recommendations", + } + + if input == nil { + input = &GetRecommendationsInput{} + } + + output = &GetRecommendationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetRecommendations API operation for Amazon Connect Wisdom Service. // // Retrieves recommendations for the specified session. To avoid retrieving // the same recommendations in subsequent calls, use NotifyRecommendationsReceived @@ -1884,36 +2328,36 @@ func (c *ConnectWisdomService) ListContentsPagesWithContext(ctx aws.Context, inp return p.Err() } -const opListKnowledgeBases = "ListKnowledgeBases" +const opListImportJobs = "ListImportJobs" -// ListKnowledgeBasesRequest generates a "aws/request.Request" representing the -// client's request for the ListKnowledgeBases operation. The "output" return +// ListImportJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListImportJobs operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListKnowledgeBases for more information on using the ListKnowledgeBases +// See ListImportJobs for more information on using the ListImportJobs // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListKnowledgeBasesRequest method. -// req, resp := client.ListKnowledgeBasesRequest(params) +// // Example sending a request using the ListImportJobsRequest method. +// req, resp := client.ListImportJobsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/ListKnowledgeBases -func (c *ConnectWisdomService) ListKnowledgeBasesRequest(input *ListKnowledgeBasesInput) (req *request.Request, output *ListKnowledgeBasesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/ListImportJobs +func (c *ConnectWisdomService) ListImportJobsRequest(input *ListImportJobsInput) (req *request.Request, output *ListImportJobsOutput) { op := &request.Operation{ - Name: opListKnowledgeBases, + Name: opListImportJobs, HTTPMethod: "GET", - HTTPPath: "/knowledgeBases", + HTTPPath: "/knowledgeBases/{knowledgeBaseId}/importJobs", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -1923,24 +2367,24 @@ func (c *ConnectWisdomService) ListKnowledgeBasesRequest(input *ListKnowledgeBas } if input == nil { - input = &ListKnowledgeBasesInput{} + input = &ListImportJobsInput{} } - output = &ListKnowledgeBasesOutput{} + output = &ListImportJobsOutput{} req = c.newRequest(op, input, output) return } -// ListKnowledgeBases API operation for Amazon Connect Wisdom Service. +// ListImportJobs API operation for Amazon Connect Wisdom Service. // -// Lists the knowledge bases. +// Lists information about import jobs. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Connect Wisdom Service's -// API operation ListKnowledgeBases for usage and error information. +// API operation ListImportJobs for usage and error information. // // Returned Error Types: // @@ -1950,64 +2394,64 @@ func (c *ConnectWisdomService) ListKnowledgeBasesRequest(input *ListKnowledgeBas // - AccessDeniedException // You do not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/ListKnowledgeBases -func (c *ConnectWisdomService) ListKnowledgeBases(input *ListKnowledgeBasesInput) (*ListKnowledgeBasesOutput, error) { - req, out := c.ListKnowledgeBasesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/ListImportJobs +func (c *ConnectWisdomService) ListImportJobs(input *ListImportJobsInput) (*ListImportJobsOutput, error) { + req, out := c.ListImportJobsRequest(input) return out, req.Send() } -// ListKnowledgeBasesWithContext is the same as ListKnowledgeBases with the addition of +// ListImportJobsWithContext is the same as ListImportJobs with the addition of // the ability to pass a context and additional request options. // -// See ListKnowledgeBases for details on how to use this API operation. +// See ListImportJobs for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *ConnectWisdomService) ListKnowledgeBasesWithContext(ctx aws.Context, input *ListKnowledgeBasesInput, opts ...request.Option) (*ListKnowledgeBasesOutput, error) { - req, out := c.ListKnowledgeBasesRequest(input) +func (c *ConnectWisdomService) ListImportJobsWithContext(ctx aws.Context, input *ListImportJobsInput, opts ...request.Option) (*ListImportJobsOutput, error) { + req, out := c.ListImportJobsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListKnowledgeBasesPages iterates over the pages of a ListKnowledgeBases operation, +// ListImportJobsPages iterates over the pages of a ListImportJobs operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListKnowledgeBases method for more information on how to use this operation. +// See ListImportJobs 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 ListKnowledgeBases operation. +// // Example iterating over at most 3 pages of a ListImportJobs operation. // pageNum := 0 -// err := client.ListKnowledgeBasesPages(params, -// func(page *connectwisdomservice.ListKnowledgeBasesOutput, lastPage bool) bool { +// err := client.ListImportJobsPages(params, +// func(page *connectwisdomservice.ListImportJobsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *ConnectWisdomService) ListKnowledgeBasesPages(input *ListKnowledgeBasesInput, fn func(*ListKnowledgeBasesOutput, bool) bool) error { - return c.ListKnowledgeBasesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *ConnectWisdomService) ListImportJobsPages(input *ListImportJobsInput, fn func(*ListImportJobsOutput, bool) bool) error { + return c.ListImportJobsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListKnowledgeBasesPagesWithContext same as ListKnowledgeBasesPages except +// ListImportJobsPagesWithContext same as ListImportJobsPages 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 *ConnectWisdomService) ListKnowledgeBasesPagesWithContext(ctx aws.Context, input *ListKnowledgeBasesInput, fn func(*ListKnowledgeBasesOutput, bool) bool, opts ...request.Option) error { +func (c *ConnectWisdomService) ListImportJobsPagesWithContext(ctx aws.Context, input *ListImportJobsInput, fn func(*ListImportJobsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListKnowledgeBasesInput + var inCpy *ListImportJobsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListKnowledgeBasesRequest(inCpy) + req, _ := c.ListImportJobsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2015,7 +2459,7 @@ func (c *ConnectWisdomService) ListKnowledgeBasesPagesWithContext(ctx aws.Contex } for p.Next() { - if !fn(p.Page().(*ListKnowledgeBasesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListImportJobsOutput), !p.HasNextPage()) { break } } @@ -2023,98 +2467,379 @@ func (c *ConnectWisdomService) ListKnowledgeBasesPagesWithContext(ctx aws.Contex return p.Err() } -const opListTagsForResource = "ListTagsForResource" +const opListKnowledgeBases = "ListKnowledgeBases" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// ListKnowledgeBasesRequest generates a "aws/request.Request" representing the +// client's request for the ListKnowledgeBases operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 ListKnowledgeBases for more information on using the ListKnowledgeBases // API call, and error handling. // // This method is useful when you want to 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 ListKnowledgeBasesRequest method. +// req, resp := client.ListKnowledgeBasesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/ListTagsForResource -func (c *ConnectWisdomService) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/ListKnowledgeBases +func (c *ConnectWisdomService) ListKnowledgeBasesRequest(input *ListKnowledgeBasesInput) (req *request.Request, output *ListKnowledgeBasesOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opListKnowledgeBases, HTTPMethod: "GET", - HTTPPath: "/tags/{resourceArn}", + HTTPPath: "/knowledgeBases", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &ListTagsForResourceInput{} + input = &ListKnowledgeBasesInput{} } - output = &ListTagsForResourceOutput{} + output = &ListKnowledgeBasesOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for Amazon Connect Wisdom Service. +// ListKnowledgeBases API operation for Amazon Connect Wisdom Service. // -// Lists the tags for the specified resource. +// Lists the knowledge bases. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Connect Wisdom Service's -// API operation ListTagsForResource for usage and error information. +// API operation ListKnowledgeBases for usage and error information. // // Returned Error Types: -// - ResourceNotFoundException -// The specified resource does not exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/ListTagsForResource -func (c *ConnectWisdomService) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// - ValidationException +// The input fails to satisfy the constraints specified by a service. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/ListKnowledgeBases +func (c *ConnectWisdomService) ListKnowledgeBases(input *ListKnowledgeBasesInput) (*ListKnowledgeBasesOutput, error) { + req, out := c.ListKnowledgeBasesRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// ListKnowledgeBasesWithContext is the same as ListKnowledgeBases 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 ListKnowledgeBases for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *ConnectWisdomService) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *ConnectWisdomService) ListKnowledgeBasesWithContext(ctx aws.Context, input *ListKnowledgeBasesInput, opts ...request.Option) (*ListKnowledgeBasesOutput, error) { + req, out := c.ListKnowledgeBasesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opNotifyRecommendationsReceived = "NotifyRecommendationsReceived" - -// NotifyRecommendationsReceivedRequest generates a "aws/request.Request" representing the -// client's request for the NotifyRecommendationsReceived operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. +// ListKnowledgeBasesPages iterates over the pages of a ListKnowledgeBases 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 ListKnowledgeBases method for more information on how to use this operation. // -// See NotifyRecommendationsReceived for more information on using the NotifyRecommendationsReceived -// 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 +// // Example iterating over at most 3 pages of a ListKnowledgeBases operation. +// pageNum := 0 +// err := client.ListKnowledgeBasesPages(params, +// func(page *connectwisdomservice.ListKnowledgeBasesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *ConnectWisdomService) ListKnowledgeBasesPages(input *ListKnowledgeBasesInput, fn func(*ListKnowledgeBasesOutput, bool) bool) error { + return c.ListKnowledgeBasesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListKnowledgeBasesPagesWithContext same as ListKnowledgeBasesPages 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 *ConnectWisdomService) ListKnowledgeBasesPagesWithContext(ctx aws.Context, input *ListKnowledgeBasesInput, fn func(*ListKnowledgeBasesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListKnowledgeBasesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListKnowledgeBasesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListKnowledgeBasesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListQuickResponses = "ListQuickResponses" + +// ListQuickResponsesRequest generates a "aws/request.Request" representing the +// client's request for the ListQuickResponses operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListQuickResponses for more information on using the ListQuickResponses +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListQuickResponsesRequest method. +// req, resp := client.ListQuickResponsesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/ListQuickResponses +func (c *ConnectWisdomService) ListQuickResponsesRequest(input *ListQuickResponsesInput) (req *request.Request, output *ListQuickResponsesOutput) { + op := &request.Operation{ + Name: opListQuickResponses, + HTTPMethod: "GET", + HTTPPath: "/knowledgeBases/{knowledgeBaseId}/quickResponses", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListQuickResponsesInput{} + } + + output = &ListQuickResponsesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListQuickResponses API operation for Amazon Connect Wisdom Service. +// +// Lists information about quick response. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Wisdom Service's +// API operation ListQuickResponses for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input fails to satisfy the constraints specified by a service. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/ListQuickResponses +func (c *ConnectWisdomService) ListQuickResponses(input *ListQuickResponsesInput) (*ListQuickResponsesOutput, error) { + req, out := c.ListQuickResponsesRequest(input) + return out, req.Send() +} + +// ListQuickResponsesWithContext is the same as ListQuickResponses with the addition of +// the ability to pass a context and additional request options. +// +// See ListQuickResponses for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectWisdomService) ListQuickResponsesWithContext(ctx aws.Context, input *ListQuickResponsesInput, opts ...request.Option) (*ListQuickResponsesOutput, error) { + req, out := c.ListQuickResponsesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListQuickResponsesPages iterates over the pages of a ListQuickResponses operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListQuickResponses 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 ListQuickResponses operation. +// pageNum := 0 +// err := client.ListQuickResponsesPages(params, +// func(page *connectwisdomservice.ListQuickResponsesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *ConnectWisdomService) ListQuickResponsesPages(input *ListQuickResponsesInput, fn func(*ListQuickResponsesOutput, bool) bool) error { + return c.ListQuickResponsesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListQuickResponsesPagesWithContext same as ListQuickResponsesPages 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 *ConnectWisdomService) ListQuickResponsesPagesWithContext(ctx aws.Context, input *ListQuickResponsesInput, fn func(*ListQuickResponsesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListQuickResponsesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListQuickResponsesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListQuickResponsesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/ListTagsForResource +func (c *ConnectWisdomService) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon Connect Wisdom Service. +// +// Lists the tags for the specified resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Wisdom Service's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// - ResourceNotFoundException +// The specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/ListTagsForResource +func (c *ConnectWisdomService) 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 *ConnectWisdomService) 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 opNotifyRecommendationsReceived = "NotifyRecommendationsReceived" + +// NotifyRecommendationsReceivedRequest generates a "aws/request.Request" representing the +// client's request for the NotifyRecommendationsReceived operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See NotifyRecommendationsReceived for more information on using the NotifyRecommendationsReceived +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the NotifyRecommendationsReceivedRequest method. @@ -2251,6 +2976,12 @@ func (c *ConnectWisdomService) QueryAssistantRequest(input *QueryAssistantInput) // // Returned Error Types: // +// - RequestTimeoutException +// The request reached the service more than 15 minutes after the date stamp +// on the request or more than 15 minutes after the request expiration date +// (such as for pre-signed URLs), or the date stamp on the request is more than +// 15 minutes in the future. +// // - ValidationException // The input fails to satisfy the constraints specified by a service. // @@ -2562,36 +3293,36 @@ func (c *ConnectWisdomService) SearchContentPagesWithContext(ctx aws.Context, in return p.Err() } -const opSearchSessions = "SearchSessions" +const opSearchQuickResponses = "SearchQuickResponses" -// SearchSessionsRequest generates a "aws/request.Request" representing the -// client's request for the SearchSessions operation. The "output" return +// SearchQuickResponsesRequest generates a "aws/request.Request" representing the +// client's request for the SearchQuickResponses operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See SearchSessions for more information on using the SearchSessions +// See SearchQuickResponses for more information on using the SearchQuickResponses // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the SearchSessionsRequest method. -// req, resp := client.SearchSessionsRequest(params) +// // Example sending a request using the SearchQuickResponsesRequest method. +// req, resp := client.SearchQuickResponsesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/SearchSessions -func (c *ConnectWisdomService) SearchSessionsRequest(input *SearchSessionsInput) (req *request.Request, output *SearchSessionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/SearchQuickResponses +func (c *ConnectWisdomService) SearchQuickResponsesRequest(input *SearchQuickResponsesInput) (req *request.Request, output *SearchQuickResponsesOutput) { op := &request.Operation{ - Name: opSearchSessions, + Name: opSearchQuickResponses, HTTPMethod: "POST", - HTTPPath: "/assistants/{assistantId}/searchSessions", + HTTPPath: "/knowledgeBases/{knowledgeBaseId}/search/quickResponses", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -2601,10 +3332,158 @@ func (c *ConnectWisdomService) SearchSessionsRequest(input *SearchSessionsInput) } if input == nil { - input = &SearchSessionsInput{} + input = &SearchQuickResponsesInput{} } - output = &SearchSessionsOutput{} + output = &SearchQuickResponsesOutput{} + req = c.newRequest(op, input, output) + return +} + +// SearchQuickResponses API operation for Amazon Connect Wisdom Service. +// +// Searches existing Wisdom quick responses in a Wisdom knowledge base. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Wisdom Service's +// API operation SearchQuickResponses for usage and error information. +// +// Returned Error Types: +// +// - RequestTimeoutException +// The request reached the service more than 15 minutes after the date stamp +// on the request or more than 15 minutes after the request expiration date +// (such as for pre-signed URLs), or the date stamp on the request is more than +// 15 minutes in the future. +// +// - ValidationException +// The input fails to satisfy the constraints specified by a service. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/SearchQuickResponses +func (c *ConnectWisdomService) SearchQuickResponses(input *SearchQuickResponsesInput) (*SearchQuickResponsesOutput, error) { + req, out := c.SearchQuickResponsesRequest(input) + return out, req.Send() +} + +// SearchQuickResponsesWithContext is the same as SearchQuickResponses with the addition of +// the ability to pass a context and additional request options. +// +// See SearchQuickResponses for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectWisdomService) SearchQuickResponsesWithContext(ctx aws.Context, input *SearchQuickResponsesInput, opts ...request.Option) (*SearchQuickResponsesOutput, error) { + req, out := c.SearchQuickResponsesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// SearchQuickResponsesPages iterates over the pages of a SearchQuickResponses operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchQuickResponses 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 SearchQuickResponses operation. +// pageNum := 0 +// err := client.SearchQuickResponsesPages(params, +// func(page *connectwisdomservice.SearchQuickResponsesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *ConnectWisdomService) SearchQuickResponsesPages(input *SearchQuickResponsesInput, fn func(*SearchQuickResponsesOutput, bool) bool) error { + return c.SearchQuickResponsesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchQuickResponsesPagesWithContext same as SearchQuickResponsesPages 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 *ConnectWisdomService) SearchQuickResponsesPagesWithContext(ctx aws.Context, input *SearchQuickResponsesInput, fn func(*SearchQuickResponsesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchQuickResponsesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchQuickResponsesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*SearchQuickResponsesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opSearchSessions = "SearchSessions" + +// SearchSessionsRequest generates a "aws/request.Request" representing the +// client's request for the SearchSessions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SearchSessions for more information on using the SearchSessions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the SearchSessionsRequest method. +// req, resp := client.SearchSessionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/SearchSessions +func (c *ConnectWisdomService) SearchSessionsRequest(input *SearchSessionsInput) (req *request.Request, output *SearchSessionsOutput) { + op := &request.Operation{ + Name: opSearchSessions, + HTTPMethod: "POST", + HTTPPath: "/assistants/{assistantId}/searchSessions", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &SearchSessionsInput{} + } + + output = &SearchSessionsOutput{} req = c.newRequest(op, input, output) return } @@ -2794,6 +3673,108 @@ func (c *ConnectWisdomService) StartContentUploadWithContext(ctx aws.Context, in return out, req.Send() } +const opStartImportJob = "StartImportJob" + +// StartImportJobRequest generates a "aws/request.Request" representing the +// client's request for the StartImportJob operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartImportJob for more information on using the StartImportJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the StartImportJobRequest method. +// req, resp := client.StartImportJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/StartImportJob +func (c *ConnectWisdomService) StartImportJobRequest(input *StartImportJobInput) (req *request.Request, output *StartImportJobOutput) { + op := &request.Operation{ + Name: opStartImportJob, + HTTPMethod: "POST", + HTTPPath: "/knowledgeBases/{knowledgeBaseId}/importJobs", + } + + if input == nil { + input = &StartImportJobInput{} + } + + output = &StartImportJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartImportJob API operation for Amazon Connect Wisdom Service. +// +// Start an asynchronous job to import Wisdom resources from an uploaded source +// file. Before calling this API, use StartContentUpload (https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html) +// to upload an asset that contains the resource data. +// +// - For importing Wisdom quick responses, you need to upload a csv file +// including the quick responses. For information about how to format the +// csv file for importing quick responses, see Import quick responses (https://docs.aws.amazon.com/console/connect/quick-responses/add-data). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Wisdom Service's +// API operation StartImportJob for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// The request could not be processed because of conflict in the current state +// of the resource. For example, if you're using a Create API (such as CreateAssistant) +// that accepts name, a conflicting resource (usually with the same name) is +// being created or mutated. +// +// - ValidationException +// The input fails to satisfy the constraints specified by a service. +// +// - ServiceQuotaExceededException +// You've exceeded your service quota. To perform the requested action, remove +// some of the relevant resources, or use service quotas to request a service +// quota increase. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/StartImportJob +func (c *ConnectWisdomService) StartImportJob(input *StartImportJobInput) (*StartImportJobOutput, error) { + req, out := c.StartImportJobRequest(input) + return out, req.Send() +} + +// StartImportJobWithContext is the same as StartImportJob with the addition of +// the ability to pass a context and additional request options. +// +// See StartImportJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectWisdomService) StartImportJobWithContext(ctx aws.Context, input *StartImportJobInput, opts ...request.Option) (*StartImportJobOutput, error) { + req, out := c.StartImportJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the @@ -3135,53 +4116,148 @@ func (c *ConnectWisdomService) UpdateKnowledgeBaseTemplateUriWithContext(ctx aws return out, req.Send() } -// You do not have sufficient access to perform this action. -type AccessDeniedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"message" type:"string"` -} +const opUpdateQuickResponse = "UpdateQuickResponse" -// String returns the string representation. +// UpdateQuickResponseRequest generates a "aws/request.Request" representing the +// client's request for the UpdateQuickResponse operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccessDeniedException) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccessDeniedException) GoString() string { - return s.String() -} - -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, +// See UpdateQuickResponse for more information on using the UpdateQuickResponse +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateQuickResponseRequest method. +// req, resp := client.UpdateQuickResponseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/UpdateQuickResponse +func (c *ConnectWisdomService) UpdateQuickResponseRequest(input *UpdateQuickResponseInput) (req *request.Request, output *UpdateQuickResponseOutput) { + op := &request.Operation{ + Name: opUpdateQuickResponse, + HTTPMethod: "POST", + HTTPPath: "/knowledgeBases/{knowledgeBaseId}/quickResponses/{quickResponseId}", } -} -// 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_ + if input == nil { + input = &UpdateQuickResponseInput{} } - return "" + + output = &UpdateQuickResponseOutput{} + req = c.newRequest(op, input, output) + return } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccessDeniedException) OrigErr() error { +// UpdateQuickResponse API operation for Amazon Connect Wisdom Service. +// +// Updates an existing Wisdom quick response. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Wisdom Service's +// API operation UpdateQuickResponse for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// The request could not be processed because of conflict in the current state +// of the resource. For example, if you're using a Create API (such as CreateAssistant) +// that accepts name, a conflicting resource (usually with the same name) is +// being created or mutated. +// +// - ValidationException +// The input fails to satisfy the constraints specified by a service. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - PreconditionFailedException +// The provided revisionId does not match, indicating the content has been modified +// since it was last read. +// +// - ResourceNotFoundException +// The specified resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/UpdateQuickResponse +func (c *ConnectWisdomService) UpdateQuickResponse(input *UpdateQuickResponseInput) (*UpdateQuickResponseOutput, error) { + req, out := c.UpdateQuickResponseRequest(input) + return out, req.Send() +} + +// UpdateQuickResponseWithContext is the same as UpdateQuickResponse with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateQuickResponse for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ConnectWisdomService) UpdateQuickResponseWithContext(ctx aws.Context, input *UpdateQuickResponseInput, opts ...request.Option) (*UpdateQuickResponseOutput, error) { + req, out := c.UpdateQuickResponseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// You do not have sufficient access to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +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 } @@ -3407,7 +4483,8 @@ func (s *AssistantAssociationData) SetTags(v map[string]*string) *AssistantAssoc type AssistantAssociationInputData struct { _ struct{} `type:"structure"` - // The identifier of the knowledge base. + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. KnowledgeBaseId *string `locationName:"knowledgeBaseId" type:"string"` } @@ -3592,10 +4669,11 @@ type AssistantData struct { // The configuration information for the customer managed key used for encryption. // - // This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey - // permissions to the IAM identity using the key to invoke Wisdom. To use Wisdom - // with chat, the key policy must also allow kms:Decrypt, kms:GenerateDataKey*, - // and kms:DescribeKey permissions to the connect.amazonaws.com service principal. + // This KMS key must have a policy that allows kms:CreateGrant, kms:DescribeKey, + // and kms:Decrypt/kms:GenerateDataKey permissions to the IAM identity using + // the key to invoke Wisdom. To use Wisdom with chat, the key policy must also + // allow kms:Decrypt, kms:GenerateDataKey*, and kms:DescribeKey permissions + // to the connect.amazonaws.com service principal. // // For more information about setting up a customer managed key for Wisdom, // see Enable Amazon Connect Wisdom for your instance (https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html). @@ -3747,10 +4825,11 @@ type AssistantSummary struct { // The configuration information for the customer managed key used for encryption. // - // This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey - // permissions to the IAM identity using the key to invoke Wisdom. To use Wisdom - // with chat, the key policy must also allow kms:Decrypt, kms:GenerateDataKey*, - // and kms:DescribeKey permissions to the connect.amazonaws.com service principal. + // This KMS key must have a policy that allows kms:CreateGrant, kms:DescribeKey, + // and kms:Decrypt/kms:GenerateDataKey permissions to the IAM identity using + // the key to invoke Wisdom. To use Wisdom with chat, the key policy must also + // allow kms:Decrypt, kms:GenerateDataKey*, and kms:DescribeKey permissions + // to the connect.amazonaws.com service principal. // // For more information about setting up a customer managed key for Wisdom, // see Enable Amazon Connect Wisdom for your instance (https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html). @@ -3842,6 +4921,53 @@ func (s *AssistantSummary) SetType(v string) *AssistantSummary { return s } +// The configuration information of the external data source. +type Configuration struct { + _ struct{} `type:"structure"` + + // The configuration information of the Amazon Connect data source. + ConnectConfiguration *ConnectConfiguration `locationName:"connectConfiguration" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Configuration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Configuration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Configuration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Configuration"} + if s.ConnectConfiguration != nil { + if err := s.ConnectConfiguration.Validate(); err != nil { + invalidParams.AddNested("ConnectConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConnectConfiguration sets the ConnectConfiguration field's value. +func (s *Configuration) SetConnectConfiguration(v *ConnectConfiguration) *Configuration { + s.ConnectConfiguration = v + return s +} + // The request could not be processed because of conflict in the current state // of the resource. For example, if you're using a Create API (such as CreateAssistant) // that accepts name, a conflicting resource (usually with the same name) is @@ -3909,6 +5035,52 @@ func (s *ConflictException) RequestID() string { return s.RespMetadata.RequestID } +// The configuration information of the Amazon Connect data source. +type ConnectConfiguration struct { + _ struct{} `type:"structure"` + + // The identifier of the Amazon Connect instance. You can find the instanceId + // in the ARN of the instance. + InstanceId *string `locationName:"instanceId" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ConnectConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConnectConfiguration"} + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ConnectConfiguration) SetInstanceId(v string) *ConnectConfiguration { + s.InstanceId = &v + return s +} + // Information about the content. type ContentData struct { _ struct{} `type:"structure"` @@ -3933,7 +5105,8 @@ type ContentData struct { // KnowledgeBaseArn is a required field KnowledgeBaseArn *string `locationName:"knowledgeBaseArn" type:"string" required:"true"` - // The identifier of the knowledge base. + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. // // KnowledgeBaseId is a required field KnowledgeBaseId *string `locationName:"knowledgeBaseId" type:"string" required:"true"` @@ -4102,7 +5275,8 @@ type ContentReference struct { // The Amazon Resource Name (ARN) of the knowledge base. KnowledgeBaseArn *string `locationName:"knowledgeBaseArn" type:"string"` - // The identifier of the knowledge base. + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. KnowledgeBaseId *string `locationName:"knowledgeBaseId" type:"string"` } @@ -4172,7 +5346,8 @@ type ContentSummary struct { // KnowledgeBaseArn is a required field KnowledgeBaseArn *string `locationName:"knowledgeBaseArn" type:"string" required:"true"` - // The identifier of the knowledge base. + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. // // KnowledgeBaseId is a required field KnowledgeBaseId *string `locationName:"knowledgeBaseId" type:"string" required:"true"` @@ -4445,10 +5620,11 @@ type CreateAssistantInput struct { // The configuration information for the customer managed key used for encryption. // - // The customer managed key must have a policy that allows kms:CreateGrant and - // kms:DescribeKey permissions to the IAM identity using the key to invoke Wisdom. - // To use Wisdom with chat, the key policy must also allow kms:Decrypt, kms:GenerateDataKey*, - // and kms:DescribeKey permissions to the connect.amazonaws.com service principal. + // The customer managed key must have a policy that allows kms:CreateGrant, + // kms:DescribeKey, and kms:Decrypt/kms:GenerateDataKey permissions to the IAM + // identity using the key to invoke Wisdom. To use Wisdom with chat, the key + // policy must also allow kms:Decrypt, kms:GenerateDataKey*, and kms:DescribeKey + // permissions to the connect.amazonaws.com service principal. // // For more information about setting up a customer managed key for Wisdom, // see Enable Amazon Connect Wisdom for your instance (https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html). @@ -4587,8 +5763,9 @@ type CreateContentInput struct { // idempotent APIs (https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - // The identifier of the knowledge base. Can be either the ID or the ARN. URLs - // cannot contain the ARN. + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN. URLs cannot contain the ARN. // // KnowledgeBaseId is a required field KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` @@ -4787,8 +5964,9 @@ type CreateKnowledgeBaseInput struct { // The configuration information for the customer managed key used for encryption. // - // This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey - // permissions to the IAM identity using the key to invoke Wisdom. + // This KMS key must have a policy that allows kms:CreateGrant, kms:DescribeKey, + // and kms:Decrypt/kms:GenerateDataKey permissions to the IAM identity using + // the key to invoke Wisdom. // // For more information about setting up a customer managed key for Wisdom, // see Enable Amazon Connect Wisdom for your instance (https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html). @@ -4939,14 +6117,11 @@ func (s *CreateKnowledgeBaseOutput) SetKnowledgeBase(v *KnowledgeBaseData) *Crea return s } -type CreateSessionInput struct { +type CreateQuickResponseInput struct { _ struct{} `type:"structure"` - // The identifier of the Wisdom assistant. Can be either the ID or the ARN. - // URLs cannot contain the ARN. - // - // AssistantId is a required field - AssistantId *string `location:"uri" locationName:"assistantId" type:"string" required:"true"` + // The Amazon Connect channels this quick response applies to. + Channels []*string `locationName:"channels" type:"list"` // A unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. If not provided, the Amazon Web Services SDK populates this @@ -4954,14 +6129,51 @@ type CreateSessionInput struct { // idempotent APIs (https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` - // The description. + // The content of the quick response. + // + // Content is a required field + Content *QuickResponseDataProvider `locationName:"content" type:"structure" required:"true"` + + // The media type of the quick response content. + // + // * Use application/x.quickresponse;format=plain for a quick response written + // in plain text. + // + // * Use application/x.quickresponse;format=markdown for a quick response + // written in richtext. + ContentType *string `locationName:"contentType" type:"string"` + + // The description of the quick response. Description *string `locationName:"description" min:"1" type:"string"` - // The name of the session. + // The configuration information of the user groups that the quick response + // is accessible to. + GroupingConfiguration *GroupingConfiguration `locationName:"groupingConfiguration" type:"structure"` + + // Whether the quick response is active. + IsActive *bool `locationName:"isActive" type:"boolean"` + + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN. URLs cannot contain the ARN. + // + // KnowledgeBaseId is a required field + KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` + + // The language code value for the language in which the quick response is written. + // The supported language codes include de_DE, en_US, es_ES, fr_FR, id_ID, it_IT, + // ja_JP, ko_KR, pt_BR, zh_CN, zh_TW + Language *string `locationName:"language" min:"2" type:"string"` + + // The name of the quick response. // // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // The shortcut key of the quick response. The value should be unique across + // the knowledge base. + ShortcutKey *string `locationName:"shortcutKey" min:"1" type:"string"` + // The tags used to organize, track, or control access for this resource. Tags map[string]*string `locationName:"tags" type:"map"` } @@ -4971,7 +6183,7 @@ type CreateSessionInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSessionInput) String() string { +func (s CreateQuickResponseInput) String() string { return awsutil.Prettify(s) } @@ -4980,31 +6192,50 @@ func (s CreateSessionInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSessionInput) GoString() string { +func (s CreateQuickResponseInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateSessionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateSessionInput"} - if s.AssistantId == nil { - invalidParams.Add(request.NewErrParamRequired("AssistantId")) - } - if s.AssistantId != nil && len(*s.AssistantId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AssistantId", 1)) - } +func (s *CreateQuickResponseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateQuickResponseInput"} if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } + if s.Content == nil { + invalidParams.Add(request.NewErrParamRequired("Content")) + } if s.Description != nil && len(*s.Description) < 1 { invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } + if s.KnowledgeBaseId == nil { + invalidParams.Add(request.NewErrParamRequired("KnowledgeBaseId")) + } + if s.KnowledgeBaseId != nil && len(*s.KnowledgeBaseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KnowledgeBaseId", 1)) + } + if s.Language != nil && len(*s.Language) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Language", 2)) + } 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.ShortcutKey != nil && len(*s.ShortcutKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ShortcutKey", 1)) + } + if s.Content != nil { + if err := s.Content.Validate(); err != nil { + invalidParams.AddNested("Content", err.(request.ErrInvalidParams)) + } + } + if s.GroupingConfiguration != nil { + if err := s.GroupingConfiguration.Validate(); err != nil { + invalidParams.AddNested("GroupingConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -5012,41 +6243,83 @@ func (s *CreateSessionInput) Validate() error { return nil } -// SetAssistantId sets the AssistantId field's value. -func (s *CreateSessionInput) SetAssistantId(v string) *CreateSessionInput { - s.AssistantId = &v +// SetChannels sets the Channels field's value. +func (s *CreateQuickResponseInput) SetChannels(v []*string) *CreateQuickResponseInput { + s.Channels = v return s } // SetClientToken sets the ClientToken field's value. -func (s *CreateSessionInput) SetClientToken(v string) *CreateSessionInput { +func (s *CreateQuickResponseInput) SetClientToken(v string) *CreateQuickResponseInput { s.ClientToken = &v return s } +// SetContent sets the Content field's value. +func (s *CreateQuickResponseInput) SetContent(v *QuickResponseDataProvider) *CreateQuickResponseInput { + s.Content = v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *CreateQuickResponseInput) SetContentType(v string) *CreateQuickResponseInput { + s.ContentType = &v + return s +} + // SetDescription sets the Description field's value. -func (s *CreateSessionInput) SetDescription(v string) *CreateSessionInput { +func (s *CreateQuickResponseInput) SetDescription(v string) *CreateQuickResponseInput { s.Description = &v return s } +// SetGroupingConfiguration sets the GroupingConfiguration field's value. +func (s *CreateQuickResponseInput) SetGroupingConfiguration(v *GroupingConfiguration) *CreateQuickResponseInput { + s.GroupingConfiguration = v + return s +} + +// SetIsActive sets the IsActive field's value. +func (s *CreateQuickResponseInput) SetIsActive(v bool) *CreateQuickResponseInput { + s.IsActive = &v + return s +} + +// SetKnowledgeBaseId sets the KnowledgeBaseId field's value. +func (s *CreateQuickResponseInput) SetKnowledgeBaseId(v string) *CreateQuickResponseInput { + s.KnowledgeBaseId = &v + return s +} + +// SetLanguage sets the Language field's value. +func (s *CreateQuickResponseInput) SetLanguage(v string) *CreateQuickResponseInput { + s.Language = &v + return s +} + // SetName sets the Name field's value. -func (s *CreateSessionInput) SetName(v string) *CreateSessionInput { +func (s *CreateQuickResponseInput) SetName(v string) *CreateQuickResponseInput { s.Name = &v return s } +// SetShortcutKey sets the ShortcutKey field's value. +func (s *CreateQuickResponseInput) SetShortcutKey(v string) *CreateQuickResponseInput { + s.ShortcutKey = &v + return s +} + // SetTags sets the Tags field's value. -func (s *CreateSessionInput) SetTags(v map[string]*string) *CreateSessionInput { +func (s *CreateQuickResponseInput) SetTags(v map[string]*string) *CreateQuickResponseInput { s.Tags = v return s } -type CreateSessionOutput struct { +type CreateQuickResponseOutput struct { _ struct{} `type:"structure"` - // The session. - Session *SessionData `locationName:"session" type:"structure"` + // The quick response. + QuickResponse *QuickResponseData `locationName:"quickResponse" type:"structure"` } // String returns the string representation. @@ -5054,7 +6327,7 @@ type CreateSessionOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSessionOutput) String() string { +func (s CreateQuickResponseOutput) String() string { return awsutil.Prettify(s) } @@ -5063,35 +6336,169 @@ func (s CreateSessionOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSessionOutput) GoString() string { +func (s CreateQuickResponseOutput) GoString() string { return s.String() } -// SetSession sets the Session field's value. -func (s *CreateSessionOutput) SetSession(v *SessionData) *CreateSessionOutput { - s.Session = v +// SetQuickResponse sets the QuickResponse field's value. +func (s *CreateQuickResponseOutput) SetQuickResponse(v *QuickResponseData) *CreateQuickResponseOutput { + s.QuickResponse = v return s } -type DeleteAssistantAssociationInput struct { - _ struct{} `type:"structure" nopayload:"true"` - - // The identifier of the assistant association. Can be either the ID or the - // ARN. URLs cannot contain the ARN. - // - // AssistantAssociationId is a required field - AssistantAssociationId *string `location:"uri" locationName:"assistantAssociationId" type:"string" required:"true"` +type CreateSessionInput struct { + _ struct{} `type:"structure"` // The identifier of the Wisdom assistant. Can be either the ID or the ARN. // URLs cannot contain the ARN. // // AssistantId is a required field AssistantId *string `location:"uri" locationName:"assistantId" type:"string" required:"true"` -} -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. If not provided, the Amazon Web Services SDK populates this + // field. For more information about idempotency, see Making retries safe with + // idempotent APIs (https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The description. + Description *string `locationName:"description" min:"1" type:"string"` + + // The name of the session. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The tags used to organize, track, or control access for this resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSessionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSessionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSessionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSessionInput"} + if s.AssistantId == nil { + invalidParams.Add(request.NewErrParamRequired("AssistantId")) + } + if s.AssistantId != nil && len(*s.AssistantId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssistantId", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssistantId sets the AssistantId field's value. +func (s *CreateSessionInput) SetAssistantId(v string) *CreateSessionInput { + s.AssistantId = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateSessionInput) SetClientToken(v string) *CreateSessionInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateSessionInput) SetDescription(v string) *CreateSessionInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateSessionInput) SetName(v string) *CreateSessionInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateSessionInput) SetTags(v map[string]*string) *CreateSessionInput { + s.Tags = v + return s +} + +type CreateSessionOutput struct { + _ struct{} `type:"structure"` + + // The session. + Session *SessionData `locationName:"session" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSessionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSessionOutput) GoString() string { + return s.String() +} + +// SetSession sets the Session field's value. +func (s *CreateSessionOutput) SetSession(v *SessionData) *CreateSessionOutput { + s.Session = v + return s +} + +type DeleteAssistantAssociationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the assistant association. Can be either the ID or the + // ARN. URLs cannot contain the ARN. + // + // AssistantAssociationId is a required field + AssistantAssociationId *string `location:"uri" locationName:"assistantAssociationId" type:"string" required:"true"` + + // The identifier of the Wisdom assistant. Can be either the ID or the ARN. + // URLs cannot contain the ARN. + // + // AssistantId is a required field + AssistantId *string `location:"uri" locationName:"assistantId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeleteAssistantAssociationInput) String() string { @@ -5244,8 +6651,9 @@ type DeleteContentInput struct { // ContentId is a required field ContentId *string `location:"uri" locationName:"contentId" type:"string" required:"true"` - // The identifier of the knowledge base. Can be either the ID or the ARN. URLs - // cannot contain the ARN. + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN. URLs cannot contain the ARN. // // KnowledgeBaseId is a required field KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` @@ -5325,11 +6733,16 @@ func (s DeleteContentOutput) GoString() string { return s.String() } -type DeleteKnowledgeBaseInput struct { +type DeleteImportJobInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The knowledge base to delete content from. Can be either the ID or the ARN. - // URLs cannot contain the ARN. + // The identifier of the import job to be deleted. + // + // ImportJobId is a required field + ImportJobId *string `location:"uri" locationName:"importJobId" type:"string" required:"true"` + + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. // // KnowledgeBaseId is a required field KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` @@ -5340,7 +6753,7 @@ type DeleteKnowledgeBaseInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteKnowledgeBaseInput) String() string { +func (s DeleteImportJobInput) String() string { return awsutil.Prettify(s) } @@ -5349,13 +6762,19 @@ func (s DeleteKnowledgeBaseInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteKnowledgeBaseInput) GoString() string { +func (s DeleteImportJobInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteKnowledgeBaseInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteKnowledgeBaseInput"} +func (s *DeleteImportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteImportJobInput"} + if s.ImportJobId == nil { + invalidParams.Add(request.NewErrParamRequired("ImportJobId")) + } + if s.ImportJobId != nil && len(*s.ImportJobId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImportJobId", 1)) + } if s.KnowledgeBaseId == nil { invalidParams.Add(request.NewErrParamRequired("KnowledgeBaseId")) } @@ -5369,13 +6788,19 @@ func (s *DeleteKnowledgeBaseInput) Validate() error { return nil } +// SetImportJobId sets the ImportJobId field's value. +func (s *DeleteImportJobInput) SetImportJobId(v string) *DeleteImportJobInput { + s.ImportJobId = &v + return s +} + // SetKnowledgeBaseId sets the KnowledgeBaseId field's value. -func (s *DeleteKnowledgeBaseInput) SetKnowledgeBaseId(v string) *DeleteKnowledgeBaseInput { +func (s *DeleteImportJobInput) SetKnowledgeBaseId(v string) *DeleteImportJobInput { s.KnowledgeBaseId = &v return s } -type DeleteKnowledgeBaseOutput struct { +type DeleteImportJobOutput struct { _ struct{} `type:"structure"` } @@ -5384,7 +6809,7 @@ type DeleteKnowledgeBaseOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteKnowledgeBaseOutput) String() string { +func (s DeleteImportJobOutput) String() string { return awsutil.Prettify(s) } @@ -5393,24 +6818,18 @@ func (s DeleteKnowledgeBaseOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteKnowledgeBaseOutput) GoString() string { +func (s DeleteImportJobOutput) GoString() string { return s.String() } -// The document. -type Document struct { - _ struct{} `type:"structure"` +type DeleteKnowledgeBaseInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // A reference to the content resource. + // The knowledge base to delete content from. Can be either the ID or the ARN. + // URLs cannot contain the ARN. // - // ContentReference is a required field - ContentReference *ContentReference `locationName:"contentReference" type:"structure" required:"true"` - - // The excerpt from the document. - Excerpt *DocumentText `locationName:"excerpt" type:"structure"` - - // The title of the document. - Title *DocumentText `locationName:"title" type:"structure"` + // KnowledgeBaseId is a required field + KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` } // String returns the string representation. @@ -5418,7 +6837,7 @@ type Document struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Document) String() string { +func (s DeleteKnowledgeBaseInput) String() string { return awsutil.Prettify(s) } @@ -5427,41 +6846,34 @@ func (s Document) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Document) GoString() string { +func (s DeleteKnowledgeBaseInput) GoString() string { return s.String() } -// SetContentReference sets the ContentReference field's value. -func (s *Document) SetContentReference(v *ContentReference) *Document { - s.ContentReference = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteKnowledgeBaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteKnowledgeBaseInput"} + if s.KnowledgeBaseId == nil { + invalidParams.Add(request.NewErrParamRequired("KnowledgeBaseId")) + } + if s.KnowledgeBaseId != nil && len(*s.KnowledgeBaseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KnowledgeBaseId", 1)) + } -// SetExcerpt sets the Excerpt field's value. -func (s *Document) SetExcerpt(v *DocumentText) *Document { - s.Excerpt = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTitle sets the Title field's value. -func (s *Document) SetTitle(v *DocumentText) *Document { - s.Title = v +// SetKnowledgeBaseId sets the KnowledgeBaseId field's value. +func (s *DeleteKnowledgeBaseInput) SetKnowledgeBaseId(v string) *DeleteKnowledgeBaseInput { + s.KnowledgeBaseId = &v return s } -// The text of the document. -type DocumentText struct { +type DeleteKnowledgeBaseOutput struct { _ struct{} `type:"structure"` - - // Highlights in the document text. - Highlights []*Highlight `locationName:"highlights" type:"list"` - - // Text in the document. - // - // Text is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by DocumentText's - // String and GoString methods. - Text *string `locationName:"text" type:"string" sensitive:"true"` } // String returns the string representation. @@ -5469,7 +6881,7 @@ type DocumentText struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DocumentText) String() string { +func (s DeleteKnowledgeBaseOutput) String() string { return awsutil.Prettify(s) } @@ -5478,38 +6890,279 @@ func (s DocumentText) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DocumentText) GoString() string { +func (s DeleteKnowledgeBaseOutput) GoString() string { return s.String() } -// SetHighlights sets the Highlights field's value. -func (s *DocumentText) SetHighlights(v []*Highlight) *DocumentText { - s.Highlights = v - return s -} - -// SetText sets the Text field's value. -func (s *DocumentText) SetText(v string) *DocumentText { - s.Text = &v - return s -} - -// A search filter. -type Filter struct { - _ struct{} `type:"structure"` +type DeleteQuickResponseInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The field on which to filter. + // The knowledge base from which the quick response is deleted. The identifier + // of the knowledge base. This should not be a QUICK_RESPONSES type knowledge + // base if you're storing Wisdom Content resource to it. // - // Field is a required field - Field *string `locationName:"field" type:"string" required:"true" enum:"FilterField"` + // KnowledgeBaseId is a required field + KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` - // The operator to use for comparing the field’s value with the provided value. + // The identifier of the quick response to delete. // - // Operator is a required field - Operator *string `locationName:"operator" type:"string" required:"true" enum:"FilterOperator"` + // QuickResponseId is a required field + QuickResponseId *string `location:"uri" locationName:"quickResponseId" type:"string" required:"true"` +} - // The desired field value on which to filter. - // +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteQuickResponseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteQuickResponseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteQuickResponseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteQuickResponseInput"} + if s.KnowledgeBaseId == nil { + invalidParams.Add(request.NewErrParamRequired("KnowledgeBaseId")) + } + if s.KnowledgeBaseId != nil && len(*s.KnowledgeBaseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KnowledgeBaseId", 1)) + } + if s.QuickResponseId == nil { + invalidParams.Add(request.NewErrParamRequired("QuickResponseId")) + } + if s.QuickResponseId != nil && len(*s.QuickResponseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QuickResponseId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKnowledgeBaseId sets the KnowledgeBaseId field's value. +func (s *DeleteQuickResponseInput) SetKnowledgeBaseId(v string) *DeleteQuickResponseInput { + s.KnowledgeBaseId = &v + return s +} + +// SetQuickResponseId sets the QuickResponseId field's value. +func (s *DeleteQuickResponseInput) SetQuickResponseId(v string) *DeleteQuickResponseInput { + s.QuickResponseId = &v + return s +} + +type DeleteQuickResponseOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteQuickResponseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteQuickResponseOutput) GoString() string { + return s.String() +} + +// The document. +type Document struct { + _ struct{} `type:"structure"` + + // A reference to the content resource. + // + // ContentReference is a required field + ContentReference *ContentReference `locationName:"contentReference" type:"structure" required:"true"` + + // The excerpt from the document. + Excerpt *DocumentText `locationName:"excerpt" type:"structure"` + + // The title of the document. + Title *DocumentText `locationName:"title" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Document) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Document) GoString() string { + return s.String() +} + +// SetContentReference sets the ContentReference field's value. +func (s *Document) SetContentReference(v *ContentReference) *Document { + s.ContentReference = v + return s +} + +// SetExcerpt sets the Excerpt field's value. +func (s *Document) SetExcerpt(v *DocumentText) *Document { + s.Excerpt = v + return s +} + +// SetTitle sets the Title field's value. +func (s *Document) SetTitle(v *DocumentText) *Document { + s.Title = v + return s +} + +// The text of the document. +type DocumentText struct { + _ struct{} `type:"structure"` + + // Highlights in the document text. + Highlights []*Highlight `locationName:"highlights" type:"list"` + + // Text in the document. + // + // Text is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by DocumentText's + // String and GoString methods. + Text *string `locationName:"text" type:"string" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DocumentText) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DocumentText) GoString() string { + return s.String() +} + +// SetHighlights sets the Highlights field's value. +func (s *DocumentText) SetHighlights(v []*Highlight) *DocumentText { + s.Highlights = v + return s +} + +// SetText sets the Text field's value. +func (s *DocumentText) SetText(v string) *DocumentText { + s.Text = &v + return s +} + +// The configuration information of the external data source. +type ExternalSourceConfiguration struct { + _ struct{} `type:"structure"` + + // The configuration information of the external data source. + // + // Configuration is a required field + Configuration *Configuration `locationName:"configuration" type:"structure" required:"true"` + + // The type of the external data source. + // + // Source is a required field + Source *string `locationName:"source" type:"string" required:"true" enum:"ExternalSource"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExternalSourceConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExternalSourceConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExternalSourceConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExternalSourceConfiguration"} + if s.Configuration == nil { + invalidParams.Add(request.NewErrParamRequired("Configuration")) + } + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) + } + if s.Configuration != nil { + if err := s.Configuration.Validate(); err != nil { + invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfiguration sets the Configuration field's value. +func (s *ExternalSourceConfiguration) SetConfiguration(v *Configuration) *ExternalSourceConfiguration { + s.Configuration = v + return s +} + +// SetSource sets the Source field's value. +func (s *ExternalSourceConfiguration) SetSource(v string) *ExternalSourceConfiguration { + s.Source = &v + return s +} + +// A search filter. +type Filter struct { + _ struct{} `type:"structure"` + + // The field on which to filter. + // + // Field is a required field + Field *string `locationName:"field" type:"string" required:"true" enum:"FilterField"` + + // The operator to use for comparing the field’s value with the provided value. + // + // Operator is a required field + Operator *string `locationName:"operator" type:"string" required:"true" enum:"FilterOperator"` + + // The desired field value on which to filter. + // // Value is a required field Value *string `locationName:"value" min:"1" type:"string" required:"true"` } @@ -5761,8 +7414,9 @@ type GetContentInput struct { // ContentId is a required field ContentId *string `location:"uri" locationName:"contentId" type:"string" required:"true"` - // The identifier of the knowledge base. Can be either the ID or the ARN. URLs - // cannot contain the ARN. + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN. URLs cannot contain the ARN. // // KnowledgeBaseId is a required field KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` @@ -5860,8 +7514,9 @@ type GetContentSummaryInput struct { // ContentId is a required field ContentId *string `location:"uri" locationName:"contentId" type:"string" required:"true"` - // The identifier of the knowledge base. Can be either the ID or the ARN. URLs - // cannot contain the ARN. + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN. URLs cannot contain the ARN. // // KnowledgeBaseId is a required field KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` @@ -5950,11 +7605,15 @@ func (s *GetContentSummaryOutput) SetContentSummary(v *ContentSummary) *GetConte return s } -type GetKnowledgeBaseInput struct { +type GetImportJobInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The identifier of the knowledge base. Can be either the ID or the ARN. URLs - // cannot contain the ARN. + // The identifier of the import job to retrieve. + // + // ImportJobId is a required field + ImportJobId *string `location:"uri" locationName:"importJobId" type:"string" required:"true"` + + // The identifier of the knowledge base that the import job belongs to. // // KnowledgeBaseId is a required field KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` @@ -5965,7 +7624,7 @@ type GetKnowledgeBaseInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetKnowledgeBaseInput) String() string { +func (s GetImportJobInput) String() string { return awsutil.Prettify(s) } @@ -5974,13 +7633,19 @@ func (s GetKnowledgeBaseInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetKnowledgeBaseInput) GoString() string { +func (s GetImportJobInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetKnowledgeBaseInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetKnowledgeBaseInput"} +func (s *GetImportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetImportJobInput"} + if s.ImportJobId == nil { + invalidParams.Add(request.NewErrParamRequired("ImportJobId")) + } + if s.ImportJobId != nil && len(*s.ImportJobId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImportJobId", 1)) + } if s.KnowledgeBaseId == nil { invalidParams.Add(request.NewErrParamRequired("KnowledgeBaseId")) } @@ -5994,17 +7659,23 @@ func (s *GetKnowledgeBaseInput) Validate() error { return nil } +// SetImportJobId sets the ImportJobId field's value. +func (s *GetImportJobInput) SetImportJobId(v string) *GetImportJobInput { + s.ImportJobId = &v + return s +} + // SetKnowledgeBaseId sets the KnowledgeBaseId field's value. -func (s *GetKnowledgeBaseInput) SetKnowledgeBaseId(v string) *GetKnowledgeBaseInput { +func (s *GetImportJobInput) SetKnowledgeBaseId(v string) *GetImportJobInput { s.KnowledgeBaseId = &v return s } -type GetKnowledgeBaseOutput struct { +type GetImportJobOutput struct { _ struct{} `type:"structure"` - // The knowledge base. - KnowledgeBase *KnowledgeBaseData `locationName:"knowledgeBase" type:"structure"` + // The import job. + ImportJob *ImportJobData `locationName:"importJob" type:"structure"` } // String returns the string representation. @@ -6012,7 +7683,7 @@ type GetKnowledgeBaseOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetKnowledgeBaseOutput) String() string { +func (s GetImportJobOutput) String() string { return awsutil.Prettify(s) } @@ -6021,27 +7692,207 @@ func (s GetKnowledgeBaseOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetKnowledgeBaseOutput) GoString() string { +func (s GetImportJobOutput) GoString() string { return s.String() } -// SetKnowledgeBase sets the KnowledgeBase field's value. -func (s *GetKnowledgeBaseOutput) SetKnowledgeBase(v *KnowledgeBaseData) *GetKnowledgeBaseOutput { - s.KnowledgeBase = v +// SetImportJob sets the ImportJob field's value. +func (s *GetImportJobOutput) SetImportJob(v *ImportJobData) *GetImportJobOutput { + s.ImportJob = v return s } -type GetRecommendationsInput struct { +type GetKnowledgeBaseInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The identifier of the Wisdom assistant. Can be either the ID or the ARN. - // URLs cannot contain the ARN. + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN. URLs cannot contain the ARN. // - // AssistantId is a required field - AssistantId *string `location:"uri" locationName:"assistantId" type:"string" required:"true"` + // KnowledgeBaseId is a required field + KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` +} - // The maximum number of results to return per page. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetKnowledgeBaseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetKnowledgeBaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetKnowledgeBaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetKnowledgeBaseInput"} + if s.KnowledgeBaseId == nil { + invalidParams.Add(request.NewErrParamRequired("KnowledgeBaseId")) + } + if s.KnowledgeBaseId != nil && len(*s.KnowledgeBaseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KnowledgeBaseId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKnowledgeBaseId sets the KnowledgeBaseId field's value. +func (s *GetKnowledgeBaseInput) SetKnowledgeBaseId(v string) *GetKnowledgeBaseInput { + s.KnowledgeBaseId = &v + return s +} + +type GetKnowledgeBaseOutput struct { + _ struct{} `type:"structure"` + + // The knowledge base. + KnowledgeBase *KnowledgeBaseData `locationName:"knowledgeBase" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetKnowledgeBaseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetKnowledgeBaseOutput) GoString() string { + return s.String() +} + +// SetKnowledgeBase sets the KnowledgeBase field's value. +func (s *GetKnowledgeBaseOutput) SetKnowledgeBase(v *KnowledgeBaseData) *GetKnowledgeBaseOutput { + s.KnowledgeBase = v + return s +} + +type GetQuickResponseInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the knowledge base. This should be a QUICK_RESPONSES type + // knowledge base. + // + // KnowledgeBaseId is a required field + KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` + + // The identifier of the quick response. + // + // QuickResponseId is a required field + QuickResponseId *string `location:"uri" locationName:"quickResponseId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQuickResponseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQuickResponseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetQuickResponseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetQuickResponseInput"} + if s.KnowledgeBaseId == nil { + invalidParams.Add(request.NewErrParamRequired("KnowledgeBaseId")) + } + if s.KnowledgeBaseId != nil && len(*s.KnowledgeBaseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KnowledgeBaseId", 1)) + } + if s.QuickResponseId == nil { + invalidParams.Add(request.NewErrParamRequired("QuickResponseId")) + } + if s.QuickResponseId != nil && len(*s.QuickResponseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QuickResponseId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKnowledgeBaseId sets the KnowledgeBaseId field's value. +func (s *GetQuickResponseInput) SetKnowledgeBaseId(v string) *GetQuickResponseInput { + s.KnowledgeBaseId = &v + return s +} + +// SetQuickResponseId sets the QuickResponseId field's value. +func (s *GetQuickResponseInput) SetQuickResponseId(v string) *GetQuickResponseInput { + s.QuickResponseId = &v + return s +} + +type GetQuickResponseOutput struct { + _ struct{} `type:"structure"` + + // The quick response. + QuickResponse *QuickResponseData `locationName:"quickResponse" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQuickResponseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQuickResponseOutput) GoString() string { + return s.String() +} + +// SetQuickResponse sets the QuickResponse field's value. +func (s *GetQuickResponseOutput) SetQuickResponse(v *QuickResponseData) *GetQuickResponseOutput { + s.QuickResponse = v + return s +} + +type GetRecommendationsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the Wisdom assistant. Can be either the ID or the ARN. + // URLs cannot contain the ARN. + // + // AssistantId is a required field + AssistantId *string `location:"uri" locationName:"assistantId" type:"string" required:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // The identifier of the session. Can be either the ID or the ARN. URLs cannot // contain the ARN. @@ -6264,16 +8115,31 @@ func (s *GetSessionOutput) SetSession(v *SessionData) *GetSessionOutput { return s } -// Offset specification to describe highlighting of document excerpts for rendering -// search results and recommendations. -type Highlight struct { +// The configuration information of the grouping of Wisdom users. +type GroupingConfiguration struct { _ struct{} `type:"structure"` - // The offset for the start of the highlight. - BeginOffsetInclusive *int64 `locationName:"beginOffsetInclusive" type:"integer"` + // The criteria used for grouping Wisdom users. + // + // The following is the list of supported criteria values. + // + // * RoutingProfileArn: Grouping the users by their Amazon Connect routing + // profile ARN (https://docs.aws.amazon.com/connect/latest/APIReference/API_RoutingProfile.html). + // User should have SearchRoutingProfile (https://docs.aws.amazon.com/connect/latest/APIReference/API_SearchRoutingProfiles.html) + // and DescribeRoutingProfile (https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeRoutingProfile.html) + // permissions when setting criteria to this value. + // + // Criteria is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GroupingConfiguration's + // String and GoString methods. + Criteria *string `locationName:"criteria" min:"1" type:"string" sensitive:"true"` - // The offset for the end of the highlight. - EndOffsetExclusive *int64 `locationName:"endOffsetExclusive" type:"integer"` + // The list of values that define different groups of Wisdom users. + // + // * When setting criteria to RoutingProfileArn, you need to provide a list + // of ARNs of Amazon Connect routing profiles (https://docs.aws.amazon.com/connect/latest/APIReference/API_RoutingProfile.html) + // as values of this parameter. + Values []*string `locationName:"values" type:"list"` } // String returns the string representation. @@ -6281,7 +8147,7 @@ type Highlight struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Highlight) String() string { +func (s GroupingConfiguration) String() string { return awsutil.Prettify(s) } @@ -6290,31 +8156,45 @@ func (s Highlight) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Highlight) GoString() string { +func (s GroupingConfiguration) GoString() string { return s.String() } -// SetBeginOffsetInclusive sets the BeginOffsetInclusive field's value. -func (s *Highlight) SetBeginOffsetInclusive(v int64) *Highlight { - s.BeginOffsetInclusive = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *GroupingConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GroupingConfiguration"} + if s.Criteria != nil && len(*s.Criteria) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Criteria", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCriteria sets the Criteria field's value. +func (s *GroupingConfiguration) SetCriteria(v string) *GroupingConfiguration { + s.Criteria = &v return s } -// SetEndOffsetExclusive sets the EndOffsetExclusive field's value. -func (s *Highlight) SetEndOffsetExclusive(v int64) *Highlight { - s.EndOffsetExclusive = &v +// SetValues sets the Values field's value. +func (s *GroupingConfiguration) SetValues(v []*string) *GroupingConfiguration { + s.Values = v return s } -// Association information about the knowledge base. -type KnowledgeBaseAssociationData struct { +// Offset specification to describe highlighting of document excerpts for rendering +// search results and recommendations. +type Highlight struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the knowledge base. - KnowledgeBaseArn *string `locationName:"knowledgeBaseArn" type:"string"` + // The offset for the start of the highlight. + BeginOffsetInclusive *int64 `locationName:"beginOffsetInclusive" type:"integer"` - // The identifier of the knowledge base. - KnowledgeBaseId *string `locationName:"knowledgeBaseId" type:"string"` + // The offset for the end of the highlight. + EndOffsetExclusive *int64 `locationName:"endOffsetExclusive" type:"integer"` } // String returns the string representation. @@ -6322,7 +8202,7 @@ type KnowledgeBaseAssociationData struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s KnowledgeBaseAssociationData) String() string { +func (s Highlight) String() string { return awsutil.Prettify(s) } @@ -6331,76 +8211,94 @@ func (s KnowledgeBaseAssociationData) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s KnowledgeBaseAssociationData) GoString() string { +func (s Highlight) GoString() string { return s.String() } -// SetKnowledgeBaseArn sets the KnowledgeBaseArn field's value. -func (s *KnowledgeBaseAssociationData) SetKnowledgeBaseArn(v string) *KnowledgeBaseAssociationData { - s.KnowledgeBaseArn = &v +// SetBeginOffsetInclusive sets the BeginOffsetInclusive field's value. +func (s *Highlight) SetBeginOffsetInclusive(v int64) *Highlight { + s.BeginOffsetInclusive = &v return s } -// SetKnowledgeBaseId sets the KnowledgeBaseId field's value. -func (s *KnowledgeBaseAssociationData) SetKnowledgeBaseId(v string) *KnowledgeBaseAssociationData { - s.KnowledgeBaseId = &v +// SetEndOffsetExclusive sets the EndOffsetExclusive field's value. +func (s *Highlight) SetEndOffsetExclusive(v int64) *Highlight { + s.EndOffsetExclusive = &v return s } -// Information about the knowledge base. -type KnowledgeBaseData struct { +// Summary information about the import job. +type ImportJobData struct { _ struct{} `type:"structure"` - // The description. - Description *string `locationName:"description" min:"1" type:"string"` + // The timestamp when the import job was created. + // + // CreatedTime is a required field + CreatedTime *time.Time `locationName:"createdTime" type:"timestamp" timestampFormat:"unixTimestamp" required:"true"` + + // The configuration information of the external data source. + ExternalSourceConfiguration *ExternalSourceConfiguration `locationName:"externalSourceConfiguration" type:"structure"` + + // The link to donwload the information of resource data that failed to be imported. + // + // FailedRecordReport is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ImportJobData's + // String and GoString methods. + FailedRecordReport *string `locationName:"failedRecordReport" min:"1" type:"string" sensitive:"true"` + + // The identifier of the import job. + // + // ImportJobId is a required field + ImportJobId *string `locationName:"importJobId" type:"string" required:"true"` + + // The type of the import job. + // + // ImportJobType is a required field + ImportJobType *string `locationName:"importJobType" type:"string" required:"true" enum:"ImportJobType"` // The Amazon Resource Name (ARN) of the knowledge base. // // KnowledgeBaseArn is a required field KnowledgeBaseArn *string `locationName:"knowledgeBaseArn" type:"string" required:"true"` - // The identifier of the knowledge base. + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. // // KnowledgeBaseId is a required field KnowledgeBaseId *string `locationName:"knowledgeBaseId" type:"string" required:"true"` - // The type of knowledge base. + // The timestamp when the import job data was last modified. // - // KnowledgeBaseType is a required field - KnowledgeBaseType *string `locationName:"knowledgeBaseType" type:"string" required:"true" enum:"KnowledgeBaseType"` + // LastModifiedTime is a required field + LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp" timestampFormat:"unixTimestamp" required:"true"` - // An epoch timestamp indicating the most recent content modification inside - // the knowledge base. If no content exists in a knowledge base, this value - // is unset. - LastContentModificationTime *time.Time `locationName:"lastContentModificationTime" type:"timestamp" timestampFormat:"unixTimestamp"` + // The metadata fields of the imported Wisdom resources. + Metadata map[string]*string `locationName:"metadata" type:"map"` - // The name of the knowledge base. + // The status of the import job. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"ImportJobStatus"` - // Information about how to render the content. - RenderingConfiguration *RenderingConfiguration `locationName:"renderingConfiguration" type:"structure"` + // A pointer to the uploaded asset. This value is returned by StartContentUpload + // (https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html). + // + // UploadId is a required field + UploadId *string `locationName:"uploadId" min:"1" type:"string" required:"true"` - // The configuration information for the customer managed key used for encryption. + // The download link to the resource file that is uploaded to the import job. // - // This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey - // permissions to the IAM identity using the key to invoke Wisdom. + // Url is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ImportJobData's + // String and GoString methods. // - // For more information about setting up a customer managed key for Wisdom, - // see Enable Amazon Connect Wisdom for your instance (https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html). - ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"serverSideEncryptionConfiguration" type:"structure"` - - // Source configuration information about the knowledge base. - SourceConfiguration *SourceConfiguration `locationName:"sourceConfiguration" type:"structure"` + // Url is a required field + Url *string `locationName:"url" min:"1" type:"string" required:"true" sensitive:"true"` - // The status of the knowledge base. + // The expiration time of the URL as an epoch timestamp. // - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"KnowledgeBaseStatus"` - - // The tags used to organize, track, or control access for this resource. - Tags map[string]*string `locationName:"tags" type:"map"` + // UrlExpiry is a required field + UrlExpiry *time.Time `locationName:"urlExpiry" type:"timestamp" timestampFormat:"unixTimestamp" required:"true"` } // String returns the string representation. @@ -6408,7 +8306,335 @@ type KnowledgeBaseData struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s KnowledgeBaseData) String() string { +func (s ImportJobData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImportJobData) GoString() string { + return s.String() +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *ImportJobData) SetCreatedTime(v time.Time) *ImportJobData { + s.CreatedTime = &v + return s +} + +// SetExternalSourceConfiguration sets the ExternalSourceConfiguration field's value. +func (s *ImportJobData) SetExternalSourceConfiguration(v *ExternalSourceConfiguration) *ImportJobData { + s.ExternalSourceConfiguration = v + return s +} + +// SetFailedRecordReport sets the FailedRecordReport field's value. +func (s *ImportJobData) SetFailedRecordReport(v string) *ImportJobData { + s.FailedRecordReport = &v + return s +} + +// SetImportJobId sets the ImportJobId field's value. +func (s *ImportJobData) SetImportJobId(v string) *ImportJobData { + s.ImportJobId = &v + return s +} + +// SetImportJobType sets the ImportJobType field's value. +func (s *ImportJobData) SetImportJobType(v string) *ImportJobData { + s.ImportJobType = &v + return s +} + +// SetKnowledgeBaseArn sets the KnowledgeBaseArn field's value. +func (s *ImportJobData) SetKnowledgeBaseArn(v string) *ImportJobData { + s.KnowledgeBaseArn = &v + return s +} + +// SetKnowledgeBaseId sets the KnowledgeBaseId field's value. +func (s *ImportJobData) SetKnowledgeBaseId(v string) *ImportJobData { + s.KnowledgeBaseId = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *ImportJobData) SetLastModifiedTime(v time.Time) *ImportJobData { + s.LastModifiedTime = &v + return s +} + +// SetMetadata sets the Metadata field's value. +func (s *ImportJobData) SetMetadata(v map[string]*string) *ImportJobData { + s.Metadata = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ImportJobData) SetStatus(v string) *ImportJobData { + s.Status = &v + return s +} + +// SetUploadId sets the UploadId field's value. +func (s *ImportJobData) SetUploadId(v string) *ImportJobData { + s.UploadId = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *ImportJobData) SetUrl(v string) *ImportJobData { + s.Url = &v + return s +} + +// SetUrlExpiry sets the UrlExpiry field's value. +func (s *ImportJobData) SetUrlExpiry(v time.Time) *ImportJobData { + s.UrlExpiry = &v + return s +} + +// Summary information about the import job. +type ImportJobSummary struct { + _ struct{} `type:"structure"` + + // The timestamp when the import job was created. + // + // CreatedTime is a required field + CreatedTime *time.Time `locationName:"createdTime" type:"timestamp" timestampFormat:"unixTimestamp" required:"true"` + + // The configuration information of the external source that the resource data + // are imported from. + ExternalSourceConfiguration *ExternalSourceConfiguration `locationName:"externalSourceConfiguration" type:"structure"` + + // The identifier of the import job. + // + // ImportJobId is a required field + ImportJobId *string `locationName:"importJobId" type:"string" required:"true"` + + // The type of import job. + // + // ImportJobType is a required field + ImportJobType *string `locationName:"importJobType" type:"string" required:"true" enum:"ImportJobType"` + + // The Amazon Resource Name (ARN) of the knowledge base. + // + // KnowledgeBaseArn is a required field + KnowledgeBaseArn *string `locationName:"knowledgeBaseArn" type:"string" required:"true"` + + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. + // + // KnowledgeBaseId is a required field + KnowledgeBaseId *string `locationName:"knowledgeBaseId" type:"string" required:"true"` + + // The timestamp when the import job was last modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp" timestampFormat:"unixTimestamp" required:"true"` + + // The metadata fields of the imported Wisdom resources. + Metadata map[string]*string `locationName:"metadata" type:"map"` + + // The status of the import job. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"ImportJobStatus"` + + // A pointer to the uploaded asset. This value is returned by StartContentUpload + // (https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html). + // + // UploadId is a required field + UploadId *string `locationName:"uploadId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImportJobSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImportJobSummary) GoString() string { + return s.String() +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *ImportJobSummary) SetCreatedTime(v time.Time) *ImportJobSummary { + s.CreatedTime = &v + return s +} + +// SetExternalSourceConfiguration sets the ExternalSourceConfiguration field's value. +func (s *ImportJobSummary) SetExternalSourceConfiguration(v *ExternalSourceConfiguration) *ImportJobSummary { + s.ExternalSourceConfiguration = v + return s +} + +// SetImportJobId sets the ImportJobId field's value. +func (s *ImportJobSummary) SetImportJobId(v string) *ImportJobSummary { + s.ImportJobId = &v + return s +} + +// SetImportJobType sets the ImportJobType field's value. +func (s *ImportJobSummary) SetImportJobType(v string) *ImportJobSummary { + s.ImportJobType = &v + return s +} + +// SetKnowledgeBaseArn sets the KnowledgeBaseArn field's value. +func (s *ImportJobSummary) SetKnowledgeBaseArn(v string) *ImportJobSummary { + s.KnowledgeBaseArn = &v + return s +} + +// SetKnowledgeBaseId sets the KnowledgeBaseId field's value. +func (s *ImportJobSummary) SetKnowledgeBaseId(v string) *ImportJobSummary { + s.KnowledgeBaseId = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *ImportJobSummary) SetLastModifiedTime(v time.Time) *ImportJobSummary { + s.LastModifiedTime = &v + return s +} + +// SetMetadata sets the Metadata field's value. +func (s *ImportJobSummary) SetMetadata(v map[string]*string) *ImportJobSummary { + s.Metadata = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ImportJobSummary) SetStatus(v string) *ImportJobSummary { + s.Status = &v + return s +} + +// SetUploadId sets the UploadId field's value. +func (s *ImportJobSummary) SetUploadId(v string) *ImportJobSummary { + s.UploadId = &v + return s +} + +// Association information about the knowledge base. +type KnowledgeBaseAssociationData struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the knowledge base. + KnowledgeBaseArn *string `locationName:"knowledgeBaseArn" type:"string"` + + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. + KnowledgeBaseId *string `locationName:"knowledgeBaseId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KnowledgeBaseAssociationData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KnowledgeBaseAssociationData) GoString() string { + return s.String() +} + +// SetKnowledgeBaseArn sets the KnowledgeBaseArn field's value. +func (s *KnowledgeBaseAssociationData) SetKnowledgeBaseArn(v string) *KnowledgeBaseAssociationData { + s.KnowledgeBaseArn = &v + return s +} + +// SetKnowledgeBaseId sets the KnowledgeBaseId field's value. +func (s *KnowledgeBaseAssociationData) SetKnowledgeBaseId(v string) *KnowledgeBaseAssociationData { + s.KnowledgeBaseId = &v + return s +} + +// Information about the knowledge base. +type KnowledgeBaseData struct { + _ struct{} `type:"structure"` + + // The description. + Description *string `locationName:"description" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the knowledge base. + // + // KnowledgeBaseArn is a required field + KnowledgeBaseArn *string `locationName:"knowledgeBaseArn" type:"string" required:"true"` + + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. + // + // KnowledgeBaseId is a required field + KnowledgeBaseId *string `locationName:"knowledgeBaseId" type:"string" required:"true"` + + // The type of knowledge base. + // + // KnowledgeBaseType is a required field + KnowledgeBaseType *string `locationName:"knowledgeBaseType" type:"string" required:"true" enum:"KnowledgeBaseType"` + + // An epoch timestamp indicating the most recent content modification inside + // the knowledge base. If no content exists in a knowledge base, this value + // is unset. + LastContentModificationTime *time.Time `locationName:"lastContentModificationTime" type:"timestamp" timestampFormat:"unixTimestamp"` + + // The name of the knowledge base. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // Information about how to render the content. + RenderingConfiguration *RenderingConfiguration `locationName:"renderingConfiguration" type:"structure"` + + // The configuration information for the customer managed key used for encryption. + // + // This KMS key must have a policy that allows kms:CreateGrant, kms:DescribeKey, + // and kms:Decrypt/kms:GenerateDataKey permissions to the IAM identity using + // the key to invoke Wisdom. + // + // For more information about setting up a customer managed key for Wisdom, + // see Enable Amazon Connect Wisdom for your instance (https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html). + ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"serverSideEncryptionConfiguration" type:"structure"` + + // Source configuration information about the knowledge base. + SourceConfiguration *SourceConfiguration `locationName:"sourceConfiguration" type:"structure"` + + // The status of the knowledge base. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"KnowledgeBaseStatus"` + + // The tags used to organize, track, or control access for this resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KnowledgeBaseData) String() string { return awsutil.Prettify(s) } @@ -6499,7 +8725,8 @@ type KnowledgeBaseSummary struct { // KnowledgeBaseArn is a required field KnowledgeBaseArn *string `locationName:"knowledgeBaseArn" type:"string" required:"true"` - // The identifier of the knowledge base. + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. // // KnowledgeBaseId is a required field KnowledgeBaseId *string `locationName:"knowledgeBaseId" type:"string" required:"true"` @@ -6519,8 +8746,9 @@ type KnowledgeBaseSummary struct { // The configuration information for the customer managed key used for encryption. // - // This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey - // permissions to the IAM identity using the key to invoke Wisdom. + // This KMS key must have a policy that allows kms:CreateGrant, kms:DescribeKey, + // kms:Decrypt/kms:GenerateDataKey permissions to the IAM identity using the + // key to invoke Wisdom. // // For more information about setting up a customer managed key for Wisdom, // see Enable Amazon Connect Wisdom for your instance (https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html). @@ -6835,8 +9063,9 @@ func (s *ListAssistantsOutput) SetNextToken(v string) *ListAssistantsOutput { type ListContentsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The identifier of the knowledge base. Can be either the ID or the ARN. URLs - // cannot contain the ARN. + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN. URLs cannot contain the ARN. // // KnowledgeBaseId is a required field KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` @@ -6949,7 +9178,126 @@ func (s *ListContentsOutput) SetNextToken(v string) *ListContentsOutput { return s } -type ListKnowledgeBasesInput struct { +type ListImportJobsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN. URLs cannot contain the ARN. + // + // KnowledgeBaseId is a required field + KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListImportJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListImportJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListImportJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListImportJobsInput"} + if s.KnowledgeBaseId == nil { + invalidParams.Add(request.NewErrParamRequired("KnowledgeBaseId")) + } + if s.KnowledgeBaseId != nil && len(*s.KnowledgeBaseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KnowledgeBaseId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKnowledgeBaseId sets the KnowledgeBaseId field's value. +func (s *ListImportJobsInput) SetKnowledgeBaseId(v string) *ListImportJobsInput { + s.KnowledgeBaseId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListImportJobsInput) SetMaxResults(v int64) *ListImportJobsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListImportJobsInput) SetNextToken(v string) *ListImportJobsInput { + s.NextToken = &v + return s +} + +type ListImportJobsOutput struct { + _ struct{} `type:"structure"` + + // Summary information about the import jobs. + // + // ImportJobSummaries is a required field + ImportJobSummaries []*ImportJobSummary `locationName:"importJobSummaries" type:"list" required:"true"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListImportJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListImportJobsOutput) GoString() string { + return s.String() +} + +// SetImportJobSummaries sets the ImportJobSummaries field's value. +func (s *ListImportJobsOutput) SetImportJobSummaries(v []*ImportJobSummary) *ListImportJobsOutput { + s.ImportJobSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListImportJobsOutput) SetNextToken(v string) *ListImportJobsOutput { + s.NextToken = &v + return s +} + +type ListKnowledgeBasesInput struct { _ struct{} `type:"structure" nopayload:"true"` // The maximum number of results to return per page. @@ -7048,6 +9396,125 @@ func (s *ListKnowledgeBasesOutput) SetNextToken(v string) *ListKnowledgeBasesOut return s } +type ListQuickResponsesInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN. URLs cannot contain the ARN. + // + // KnowledgeBaseId is a required field + KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListQuickResponsesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListQuickResponsesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListQuickResponsesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListQuickResponsesInput"} + if s.KnowledgeBaseId == nil { + invalidParams.Add(request.NewErrParamRequired("KnowledgeBaseId")) + } + if s.KnowledgeBaseId != nil && len(*s.KnowledgeBaseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KnowledgeBaseId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKnowledgeBaseId sets the KnowledgeBaseId field's value. +func (s *ListQuickResponsesInput) SetKnowledgeBaseId(v string) *ListQuickResponsesInput { + s.KnowledgeBaseId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListQuickResponsesInput) SetMaxResults(v int64) *ListQuickResponsesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListQuickResponsesInput) SetNextToken(v string) *ListQuickResponsesInput { + s.NextToken = &v + return s +} + +type ListQuickResponsesOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // Summary information about the quick responses. + // + // QuickResponseSummaries is a required field + QuickResponseSummaries []*QuickResponseSummary `locationName:"quickResponseSummaries" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListQuickResponsesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListQuickResponsesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListQuickResponsesOutput) SetNextToken(v string) *ListQuickResponsesOutput { + s.NextToken = &v + return s +} + +// SetQuickResponseSummaries sets the QuickResponseSummaries field's value. +func (s *ListQuickResponsesOutput) SetQuickResponseSummaries(v []*QuickResponseSummary) *ListQuickResponsesOutput { + s.QuickResponseSummaries = v + return s +} + type ListTagsForResourceInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -7512,18 +9979,1175 @@ func (s QueryRecommendationTriggerData) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s QueryRecommendationTriggerData) GoString() string { - return s.String() +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QueryRecommendationTriggerData) GoString() string { + return s.String() +} + +// SetText sets the Text field's value. +func (s *QueryRecommendationTriggerData) SetText(v string) *QueryRecommendationTriggerData { + s.Text = &v + return s +} + +// The container quick response content. +type QuickResponseContentProvider struct { + _ struct{} `type:"structure"` + + // The content of the quick response. + // + // Content is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by QuickResponseContentProvider's + // String and GoString methods. + Content *string `locationName:"content" min:"1" type:"string" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseContentProvider) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseContentProvider) GoString() string { + return s.String() +} + +// SetContent sets the Content field's value. +func (s *QuickResponseContentProvider) SetContent(v string) *QuickResponseContentProvider { + s.Content = &v + return s +} + +// The content of the quick response stored in different media types. +type QuickResponseContents struct { + _ struct{} `type:"structure"` + + // The container quick response content. + Markdown *QuickResponseContentProvider `locationName:"markdown" type:"structure"` + + // The container quick response content. + PlainText *QuickResponseContentProvider `locationName:"plainText" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseContents) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseContents) GoString() string { + return s.String() +} + +// SetMarkdown sets the Markdown field's value. +func (s *QuickResponseContents) SetMarkdown(v *QuickResponseContentProvider) *QuickResponseContents { + s.Markdown = v + return s +} + +// SetPlainText sets the PlainText field's value. +func (s *QuickResponseContents) SetPlainText(v *QuickResponseContentProvider) *QuickResponseContents { + s.PlainText = v + return s +} + +// Information about the quick response. +type QuickResponseData struct { + _ struct{} `type:"structure"` + + // The Amazon Connect contact channels this quick response applies to. The supported + // contact channel types include Chat. + Channels []*string `locationName:"channels" type:"list"` + + // The media type of the quick response content. + // + // * Use application/x.quickresponse;format=plain for quick response written + // in plain text. + // + // * Use application/x.quickresponse;format=markdown for quick response written + // in richtext. + // + // ContentType is a required field + ContentType *string `locationName:"contentType" type:"string" required:"true"` + + // The contents of the quick response. + Contents *QuickResponseContents `locationName:"contents" type:"structure"` + + // The timestamp when the quick response was created. + // + // CreatedTime is a required field + CreatedTime *time.Time `locationName:"createdTime" type:"timestamp" timestampFormat:"unixTimestamp" required:"true"` + + // The description of the quick response. + Description *string `locationName:"description" min:"1" type:"string"` + + // The configuration information of the user groups that the quick response + // is accessible to. + GroupingConfiguration *GroupingConfiguration `locationName:"groupingConfiguration" type:"structure"` + + // Whether the quick response is active. + IsActive *bool `locationName:"isActive" type:"boolean"` + + // The Amazon Resource Name (ARN) of the knowledge base. + // + // KnowledgeBaseArn is a required field + KnowledgeBaseArn *string `locationName:"knowledgeBaseArn" type:"string" required:"true"` + + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN. URLs cannot contain the ARN. + // + // KnowledgeBaseId is a required field + KnowledgeBaseId *string `locationName:"knowledgeBaseId" type:"string" required:"true"` + + // The language code value for the language in which the quick response is written. + Language *string `locationName:"language" min:"2" type:"string"` + + // The Amazon Resource Name (ARN) of the user who last updated the quick response + // data. + LastModifiedBy *string `locationName:"lastModifiedBy" min:"1" type:"string"` + + // The timestamp when the quick response data was last modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp" timestampFormat:"unixTimestamp" required:"true"` + + // The name of the quick response. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the quick response. + // + // QuickResponseArn is a required field + QuickResponseArn *string `locationName:"quickResponseArn" type:"string" required:"true"` + + // The identifier of the quick response. + // + // QuickResponseId is a required field + QuickResponseId *string `locationName:"quickResponseId" type:"string" required:"true"` + + // The shortcut key of the quick response. The value should be unique across + // the knowledge base. + ShortcutKey *string `locationName:"shortcutKey" min:"1" type:"string"` + + // The status of the quick response data. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"QuickResponseStatus"` + + // The tags used to organize, track, or control access for this resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseData) GoString() string { + return s.String() +} + +// SetChannels sets the Channels field's value. +func (s *QuickResponseData) SetChannels(v []*string) *QuickResponseData { + s.Channels = v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *QuickResponseData) SetContentType(v string) *QuickResponseData { + s.ContentType = &v + return s +} + +// SetContents sets the Contents field's value. +func (s *QuickResponseData) SetContents(v *QuickResponseContents) *QuickResponseData { + s.Contents = v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *QuickResponseData) SetCreatedTime(v time.Time) *QuickResponseData { + s.CreatedTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *QuickResponseData) SetDescription(v string) *QuickResponseData { + s.Description = &v + return s +} + +// SetGroupingConfiguration sets the GroupingConfiguration field's value. +func (s *QuickResponseData) SetGroupingConfiguration(v *GroupingConfiguration) *QuickResponseData { + s.GroupingConfiguration = v + return s +} + +// SetIsActive sets the IsActive field's value. +func (s *QuickResponseData) SetIsActive(v bool) *QuickResponseData { + s.IsActive = &v + return s +} + +// SetKnowledgeBaseArn sets the KnowledgeBaseArn field's value. +func (s *QuickResponseData) SetKnowledgeBaseArn(v string) *QuickResponseData { + s.KnowledgeBaseArn = &v + return s +} + +// SetKnowledgeBaseId sets the KnowledgeBaseId field's value. +func (s *QuickResponseData) SetKnowledgeBaseId(v string) *QuickResponseData { + s.KnowledgeBaseId = &v + return s +} + +// SetLanguage sets the Language field's value. +func (s *QuickResponseData) SetLanguage(v string) *QuickResponseData { + s.Language = &v + return s +} + +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *QuickResponseData) SetLastModifiedBy(v string) *QuickResponseData { + s.LastModifiedBy = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *QuickResponseData) SetLastModifiedTime(v time.Time) *QuickResponseData { + s.LastModifiedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *QuickResponseData) SetName(v string) *QuickResponseData { + s.Name = &v + return s +} + +// SetQuickResponseArn sets the QuickResponseArn field's value. +func (s *QuickResponseData) SetQuickResponseArn(v string) *QuickResponseData { + s.QuickResponseArn = &v + return s +} + +// SetQuickResponseId sets the QuickResponseId field's value. +func (s *QuickResponseData) SetQuickResponseId(v string) *QuickResponseData { + s.QuickResponseId = &v + return s +} + +// SetShortcutKey sets the ShortcutKey field's value. +func (s *QuickResponseData) SetShortcutKey(v string) *QuickResponseData { + s.ShortcutKey = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *QuickResponseData) SetStatus(v string) *QuickResponseData { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *QuickResponseData) SetTags(v map[string]*string) *QuickResponseData { + s.Tags = v + return s +} + +// The container of quick response data. +type QuickResponseDataProvider struct { + _ struct{} `type:"structure"` + + // The content of the quick response. + // + // Content is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by QuickResponseDataProvider's + // String and GoString methods. + Content *string `locationName:"content" min:"1" type:"string" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseDataProvider) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseDataProvider) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *QuickResponseDataProvider) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "QuickResponseDataProvider"} + if s.Content != nil && len(*s.Content) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Content", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContent sets the Content field's value. +func (s *QuickResponseDataProvider) SetContent(v string) *QuickResponseDataProvider { + s.Content = &v + return s +} + +// The quick response fields to filter the quick response query results by. +// +// The following is the list of supported field names. +// +// - name +// +// - description +// +// - shortcutKey +// +// - isActive +// +// - channels +// +// - language +// +// - contentType +// +// - createdTime +// +// - lastModifiedTime +// +// - lastModifiedBy +// +// - groupingConfiguration.criteria +// +// - groupingConfiguration.values +type QuickResponseFilterField struct { + _ struct{} `type:"structure"` + + // Whether to treat null value as a match for the attribute field. + IncludeNoExistence *bool `locationName:"includeNoExistence" type:"boolean"` + + // The name of the attribute field to filter the quick responses by. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The operator to use for filtering. + // + // Operator is a required field + Operator *string `locationName:"operator" type:"string" required:"true" enum:"QuickResponseFilterOperator"` + + // The values of attribute field to filter the quick response by. + Values []*string `locationName:"values" min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseFilterField) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseFilterField) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *QuickResponseFilterField) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "QuickResponseFilterField"} + 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.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIncludeNoExistence sets the IncludeNoExistence field's value. +func (s *QuickResponseFilterField) SetIncludeNoExistence(v bool) *QuickResponseFilterField { + s.IncludeNoExistence = &v + return s +} + +// SetName sets the Name field's value. +func (s *QuickResponseFilterField) SetName(v string) *QuickResponseFilterField { + s.Name = &v + return s +} + +// SetOperator sets the Operator field's value. +func (s *QuickResponseFilterField) SetOperator(v string) *QuickResponseFilterField { + s.Operator = &v + return s +} + +// SetValues sets the Values field's value. +func (s *QuickResponseFilterField) SetValues(v []*string) *QuickResponseFilterField { + s.Values = v + return s +} + +// The quick response fields to order the quick response query results by. +// +// The following is the list of supported field names. +// +// - name +// +// - description +// +// - shortcutKey +// +// - isActive +// +// - channels +// +// - language +// +// - contentType +// +// - createdTime +// +// - lastModifiedTime +// +// - lastModifiedBy +// +// - groupingConfiguration.criteria +// +// - groupingConfiguration.values +type QuickResponseOrderField struct { + _ struct{} `type:"structure"` + + // The name of the attribute to order the quick response query results by. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The order at which the quick responses are sorted by. + Order *string `locationName:"order" type:"string" enum:"Order"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseOrderField) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseOrderField) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *QuickResponseOrderField) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "QuickResponseOrderField"} + 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 *QuickResponseOrderField) SetName(v string) *QuickResponseOrderField { + s.Name = &v + return s +} + +// SetOrder sets the Order field's value. +func (s *QuickResponseOrderField) SetOrder(v string) *QuickResponseOrderField { + s.Order = &v + return s +} + +// The quick response fields to query quick responses by. +// +// The following is the list of supported field names. +// +// - content +// +// - name +// +// - description +// +// - shortcutKey +type QuickResponseQueryField struct { + _ struct{} `type:"structure"` + + // Whether the query expects only exact matches on the attribute field values. + // The results of the query will only include exact matches if this parameter + // is set to false. + AllowFuzziness *bool `locationName:"allowFuzziness" type:"boolean"` + + // The name of the attribute to query the quick responses by. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The operator to use for matching attribute field values in the query. + // + // Operator is a required field + Operator *string `locationName:"operator" type:"string" required:"true" enum:"QuickResponseQueryOperator"` + + // The importance of the attribute field when calculating query result relevancy + // scores. The value set for this parameter affects the ordering of search results. + Priority *string `locationName:"priority" type:"string" enum:"Priority"` + + // The values of the attribute to query the quick responses by. + // + // Values is a required field + Values []*string `locationName:"values" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseQueryField) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseQueryField) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *QuickResponseQueryField) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "QuickResponseQueryField"} + 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.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowFuzziness sets the AllowFuzziness field's value. +func (s *QuickResponseQueryField) SetAllowFuzziness(v bool) *QuickResponseQueryField { + s.AllowFuzziness = &v + return s +} + +// SetName sets the Name field's value. +func (s *QuickResponseQueryField) SetName(v string) *QuickResponseQueryField { + s.Name = &v + return s +} + +// SetOperator sets the Operator field's value. +func (s *QuickResponseQueryField) SetOperator(v string) *QuickResponseQueryField { + s.Operator = &v + return s +} + +// SetPriority sets the Priority field's value. +func (s *QuickResponseQueryField) SetPriority(v string) *QuickResponseQueryField { + s.Priority = &v + return s +} + +// SetValues sets the Values field's value. +func (s *QuickResponseQueryField) SetValues(v []*string) *QuickResponseQueryField { + s.Values = v + return s +} + +// Information about the import job. +type QuickResponseSearchExpression struct { + _ struct{} `type:"structure"` + + // The configuration of filtering rules applied to quick response query results. + Filters []*QuickResponseFilterField `locationName:"filters" type:"list"` + + // The quick response attribute fields on which the query results are ordered. + OrderOnField *QuickResponseOrderField `locationName:"orderOnField" type:"structure"` + + // The quick response query expressions. + Queries []*QuickResponseQueryField `locationName:"queries" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseSearchExpression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseSearchExpression) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *QuickResponseSearchExpression) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "QuickResponseSearchExpression"} + 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.OrderOnField != nil { + if err := s.OrderOnField.Validate(); err != nil { + invalidParams.AddNested("OrderOnField", err.(request.ErrInvalidParams)) + } + } + if s.Queries != nil { + for i, v := range s.Queries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Queries", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *QuickResponseSearchExpression) SetFilters(v []*QuickResponseFilterField) *QuickResponseSearchExpression { + s.Filters = v + return s +} + +// SetOrderOnField sets the OrderOnField field's value. +func (s *QuickResponseSearchExpression) SetOrderOnField(v *QuickResponseOrderField) *QuickResponseSearchExpression { + s.OrderOnField = v + return s +} + +// SetQueries sets the Queries field's value. +func (s *QuickResponseSearchExpression) SetQueries(v []*QuickResponseQueryField) *QuickResponseSearchExpression { + s.Queries = v + return s +} + +// The result of quick response search. +type QuickResponseSearchResultData struct { + _ struct{} `type:"structure"` + + // The user defined contact attributes that are resolved when the search result + // is returned. + // + // AttributesInterpolated is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by QuickResponseSearchResultData's + // String and GoString methods. + AttributesInterpolated []*string `locationName:"attributesInterpolated" type:"list" sensitive:"true"` + + // The user defined contact attributes that are not resolved when the search + // result is returned. + // + // AttributesNotInterpolated is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by QuickResponseSearchResultData's + // String and GoString methods. + AttributesNotInterpolated []*string `locationName:"attributesNotInterpolated" type:"list" sensitive:"true"` + + // The Amazon Connect contact channels this quick response applies to. The supported + // contact channel types include Chat. + Channels []*string `locationName:"channels" type:"list"` + + // The media type of the quick response content. + // + // * Use application/x.quickresponse;format=plain for quick response written + // in plain text. + // + // * Use application/x.quickresponse;format=markdown for quick response written + // in richtext. + // + // ContentType is a required field + ContentType *string `locationName:"contentType" type:"string" required:"true"` + + // The contents of the quick response. + // + // Contents is a required field + Contents *QuickResponseContents `locationName:"contents" type:"structure" required:"true"` + + // The timestamp when the quick response was created. + // + // CreatedTime is a required field + CreatedTime *time.Time `locationName:"createdTime" type:"timestamp" timestampFormat:"unixTimestamp" required:"true"` + + // The description of the quick response. + Description *string `locationName:"description" min:"1" type:"string"` + + // The configuration information of the user groups that the quick response + // is accessible to. + GroupingConfiguration *GroupingConfiguration `locationName:"groupingConfiguration" type:"structure"` + + // Whether the quick response is active. + // + // IsActive is a required field + IsActive *bool `locationName:"isActive" type:"boolean" required:"true"` + + // The Amazon Resource Name (ARN) of the knowledge base. + // + // KnowledgeBaseArn is a required field + KnowledgeBaseArn *string `locationName:"knowledgeBaseArn" type:"string" required:"true"` + + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN. URLs cannot contain the ARN. + // + // KnowledgeBaseId is a required field + KnowledgeBaseId *string `locationName:"knowledgeBaseId" type:"string" required:"true"` + + // The language code value for the language in which the quick response is written. + Language *string `locationName:"language" min:"2" type:"string"` + + // The Amazon Resource Name (ARN) of the user who last updated the quick response + // search result data. + LastModifiedBy *string `locationName:"lastModifiedBy" min:"1" type:"string"` + + // The timestamp when the quick response search result data was last modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp" timestampFormat:"unixTimestamp" required:"true"` + + // The name of the quick response. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the quick response. + // + // QuickResponseArn is a required field + QuickResponseArn *string `locationName:"quickResponseArn" type:"string" required:"true"` + + // The identifier of the quick response. + // + // QuickResponseId is a required field + QuickResponseId *string `locationName:"quickResponseId" type:"string" required:"true"` + + // The shortcut key of the quick response. The value should be unique across + // the knowledge base. + ShortcutKey *string `locationName:"shortcutKey" min:"1" type:"string"` + + // The resource status of the quick response. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"QuickResponseStatus"` + + // The tags used to organize, track, or control access for this resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseSearchResultData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseSearchResultData) GoString() string { + return s.String() +} + +// SetAttributesInterpolated sets the AttributesInterpolated field's value. +func (s *QuickResponseSearchResultData) SetAttributesInterpolated(v []*string) *QuickResponseSearchResultData { + s.AttributesInterpolated = v + return s +} + +// SetAttributesNotInterpolated sets the AttributesNotInterpolated field's value. +func (s *QuickResponseSearchResultData) SetAttributesNotInterpolated(v []*string) *QuickResponseSearchResultData { + s.AttributesNotInterpolated = v + return s +} + +// SetChannels sets the Channels field's value. +func (s *QuickResponseSearchResultData) SetChannels(v []*string) *QuickResponseSearchResultData { + s.Channels = v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *QuickResponseSearchResultData) SetContentType(v string) *QuickResponseSearchResultData { + s.ContentType = &v + return s +} + +// SetContents sets the Contents field's value. +func (s *QuickResponseSearchResultData) SetContents(v *QuickResponseContents) *QuickResponseSearchResultData { + s.Contents = v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *QuickResponseSearchResultData) SetCreatedTime(v time.Time) *QuickResponseSearchResultData { + s.CreatedTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *QuickResponseSearchResultData) SetDescription(v string) *QuickResponseSearchResultData { + s.Description = &v + return s +} + +// SetGroupingConfiguration sets the GroupingConfiguration field's value. +func (s *QuickResponseSearchResultData) SetGroupingConfiguration(v *GroupingConfiguration) *QuickResponseSearchResultData { + s.GroupingConfiguration = v + return s +} + +// SetIsActive sets the IsActive field's value. +func (s *QuickResponseSearchResultData) SetIsActive(v bool) *QuickResponseSearchResultData { + s.IsActive = &v + return s +} + +// SetKnowledgeBaseArn sets the KnowledgeBaseArn field's value. +func (s *QuickResponseSearchResultData) SetKnowledgeBaseArn(v string) *QuickResponseSearchResultData { + s.KnowledgeBaseArn = &v + return s +} + +// SetKnowledgeBaseId sets the KnowledgeBaseId field's value. +func (s *QuickResponseSearchResultData) SetKnowledgeBaseId(v string) *QuickResponseSearchResultData { + s.KnowledgeBaseId = &v + return s +} + +// SetLanguage sets the Language field's value. +func (s *QuickResponseSearchResultData) SetLanguage(v string) *QuickResponseSearchResultData { + s.Language = &v + return s +} + +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *QuickResponseSearchResultData) SetLastModifiedBy(v string) *QuickResponseSearchResultData { + s.LastModifiedBy = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *QuickResponseSearchResultData) SetLastModifiedTime(v time.Time) *QuickResponseSearchResultData { + s.LastModifiedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *QuickResponseSearchResultData) SetName(v string) *QuickResponseSearchResultData { + s.Name = &v + return s +} + +// SetQuickResponseArn sets the QuickResponseArn field's value. +func (s *QuickResponseSearchResultData) SetQuickResponseArn(v string) *QuickResponseSearchResultData { + s.QuickResponseArn = &v + return s +} + +// SetQuickResponseId sets the QuickResponseId field's value. +func (s *QuickResponseSearchResultData) SetQuickResponseId(v string) *QuickResponseSearchResultData { + s.QuickResponseId = &v + return s +} + +// SetShortcutKey sets the ShortcutKey field's value. +func (s *QuickResponseSearchResultData) SetShortcutKey(v string) *QuickResponseSearchResultData { + s.ShortcutKey = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *QuickResponseSearchResultData) SetStatus(v string) *QuickResponseSearchResultData { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *QuickResponseSearchResultData) SetTags(v map[string]*string) *QuickResponseSearchResultData { + s.Tags = v + return s +} + +// The summary information about the quick response. +type QuickResponseSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Connect contact channels this quick response applies to. The supported + // contact channel types include Chat. + Channels []*string `locationName:"channels" type:"list"` + + // The media type of the quick response content. + // + // * Use application/x.quickresponse;format=plain for quick response written + // in plain text. + // + // * Use application/x.quickresponse;format=markdown for quick response written + // in richtext. + // + // ContentType is a required field + ContentType *string `locationName:"contentType" type:"string" required:"true"` + + // The timestamp when the quick response was created. + // + // CreatedTime is a required field + CreatedTime *time.Time `locationName:"createdTime" type:"timestamp" timestampFormat:"unixTimestamp" required:"true"` + + // The description of the quick response. + Description *string `locationName:"description" min:"1" type:"string"` + + // Whether the quick response is active. + IsActive *bool `locationName:"isActive" type:"boolean"` + + // The Amazon Resource Name (ARN) of the knowledge base. + // + // KnowledgeBaseArn is a required field + KnowledgeBaseArn *string `locationName:"knowledgeBaseArn" type:"string" required:"true"` + + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. + // + // KnowledgeBaseId is a required field + KnowledgeBaseId *string `locationName:"knowledgeBaseId" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the user who last updated the quick response + // data. + LastModifiedBy *string `locationName:"lastModifiedBy" min:"1" type:"string"` + + // The timestamp when the quick response summary was last modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp" timestampFormat:"unixTimestamp" required:"true"` + + // The name of the quick response. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the quick response. + // + // QuickResponseArn is a required field + QuickResponseArn *string `locationName:"quickResponseArn" type:"string" required:"true"` + + // The identifier of the quick response. + // + // QuickResponseId is a required field + QuickResponseId *string `locationName:"quickResponseId" type:"string" required:"true"` + + // The resource status of the quick response. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"QuickResponseStatus"` + + // The tags used to organize, track, or control access for this resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QuickResponseSummary) GoString() string { + return s.String() +} + +// SetChannels sets the Channels field's value. +func (s *QuickResponseSummary) SetChannels(v []*string) *QuickResponseSummary { + s.Channels = v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *QuickResponseSummary) SetContentType(v string) *QuickResponseSummary { + s.ContentType = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *QuickResponseSummary) SetCreatedTime(v time.Time) *QuickResponseSummary { + s.CreatedTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *QuickResponseSummary) SetDescription(v string) *QuickResponseSummary { + s.Description = &v + return s +} + +// SetIsActive sets the IsActive field's value. +func (s *QuickResponseSummary) SetIsActive(v bool) *QuickResponseSummary { + s.IsActive = &v + return s +} + +// SetKnowledgeBaseArn sets the KnowledgeBaseArn field's value. +func (s *QuickResponseSummary) SetKnowledgeBaseArn(v string) *QuickResponseSummary { + s.KnowledgeBaseArn = &v + return s +} + +// SetKnowledgeBaseId sets the KnowledgeBaseId field's value. +func (s *QuickResponseSummary) SetKnowledgeBaseId(v string) *QuickResponseSummary { + s.KnowledgeBaseId = &v + return s +} + +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *QuickResponseSummary) SetLastModifiedBy(v string) *QuickResponseSummary { + s.LastModifiedBy = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *QuickResponseSummary) SetLastModifiedTime(v time.Time) *QuickResponseSummary { + s.LastModifiedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *QuickResponseSummary) SetName(v string) *QuickResponseSummary { + s.Name = &v + return s +} + +// SetQuickResponseArn sets the QuickResponseArn field's value. +func (s *QuickResponseSummary) SetQuickResponseArn(v string) *QuickResponseSummary { + s.QuickResponseArn = &v + return s +} + +// SetQuickResponseId sets the QuickResponseId field's value. +func (s *QuickResponseSummary) SetQuickResponseId(v string) *QuickResponseSummary { + s.QuickResponseId = &v + return s } -// SetText sets the Text field's value. -func (s *QueryRecommendationTriggerData) SetText(v string) *QueryRecommendationTriggerData { - s.Text = &v +// SetStatus sets the Status field's value. +func (s *QuickResponseSummary) SetStatus(v string) *QuickResponseSummary { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *QuickResponseSummary) SetTags(v map[string]*string) *QuickResponseSummary { + s.Tags = v return s } @@ -7720,8 +11344,9 @@ func (s *RecommendationTriggerData) SetQuery(v *QueryRecommendationTriggerData) type RemoveKnowledgeBaseTemplateUriInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The identifier of the knowledge base. Can be either the ID or the ARN. URLs - // cannot contain the ARN. + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN. URLs cannot contain the ARN. // // KnowledgeBaseId is a required field KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` @@ -7847,6 +11472,73 @@ func (s *RenderingConfiguration) SetTemplateUri(v string) *RenderingConfiguratio return s } +// The request reached the service more than 15 minutes after the date stamp +// on the request or more than 15 minutes after the request expiration date +// (such as for pre-signed URLs), or the date stamp on the request is more than +// 15 minutes in the future. +type RequestTimeoutException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RequestTimeoutException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RequestTimeoutException) GoString() string { + return s.String() +} + +func newErrorRequestTimeoutException(v protocol.ResponseMetadata) error { + return &RequestTimeoutException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *RequestTimeoutException) Code() string { + return "RequestTimeoutException" +} + +// Message returns the exception's message. +func (s *RequestTimeoutException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *RequestTimeoutException) OrigErr() error { + return nil +} + +func (s *RequestTimeoutException) 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 *RequestTimeoutException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *RequestTimeoutException) RequestID() string { + return s.RespMetadata.RequestID +} + // The specified resource does not exist. type ResourceNotFoundException struct { _ struct{} `type:"structure"` @@ -7962,17 +11654,220 @@ func (s *ResultData) SetRelevanceScore(v float64) *ResultData { return s } -// SetResultId sets the ResultId field's value. -func (s *ResultData) SetResultId(v string) *ResultData { - s.ResultId = &v +// SetResultId sets the ResultId field's value. +func (s *ResultData) SetResultId(v string) *ResultData { + s.ResultId = &v + return s +} + +type SearchContentInput struct { + _ struct{} `type:"structure"` + + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN. URLs cannot contain the ARN. + // + // KnowledgeBaseId is a required field + KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` + + // The search expression to filter results. + // + // SearchExpression is a required field + SearchExpression *SearchExpression `locationName:"searchExpression" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchContentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchContentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchContentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchContentInput"} + if s.KnowledgeBaseId == nil { + invalidParams.Add(request.NewErrParamRequired("KnowledgeBaseId")) + } + if s.KnowledgeBaseId != nil && len(*s.KnowledgeBaseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KnowledgeBaseId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.SearchExpression == nil { + invalidParams.Add(request.NewErrParamRequired("SearchExpression")) + } + if s.SearchExpression != nil { + if err := s.SearchExpression.Validate(); err != nil { + invalidParams.AddNested("SearchExpression", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKnowledgeBaseId sets the KnowledgeBaseId field's value. +func (s *SearchContentInput) SetKnowledgeBaseId(v string) *SearchContentInput { + s.KnowledgeBaseId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *SearchContentInput) SetMaxResults(v int64) *SearchContentInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchContentInput) SetNextToken(v string) *SearchContentInput { + s.NextToken = &v + return s +} + +// SetSearchExpression sets the SearchExpression field's value. +func (s *SearchContentInput) SetSearchExpression(v *SearchExpression) *SearchContentInput { + s.SearchExpression = v + return s +} + +type SearchContentOutput struct { + _ struct{} `type:"structure"` + + // Summary information about the content. + // + // ContentSummaries is a required field + ContentSummaries []*ContentSummary `locationName:"contentSummaries" type:"list" required:"true"` + + // If there are additional results, this is the token for the next set of results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchContentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchContentOutput) GoString() string { + return s.String() +} + +// SetContentSummaries sets the ContentSummaries field's value. +func (s *SearchContentOutput) SetContentSummaries(v []*ContentSummary) *SearchContentOutput { + s.ContentSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchContentOutput) SetNextToken(v string) *SearchContentOutput { + s.NextToken = &v + return s +} + +// The search expression. +type SearchExpression struct { + _ struct{} `type:"structure"` + + // The search expression filters. + // + // Filters is a required field + Filters []*Filter `locationName:"filters" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchExpression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchExpression) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchExpression) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchExpression"} + if s.Filters == nil { + invalidParams.Add(request.NewErrParamRequired("Filters")) + } + 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 *SearchExpression) SetFilters(v []*Filter) *SearchExpression { + s.Filters = v return s } -type SearchContentInput struct { +type SearchQuickResponsesInput struct { _ struct{} `type:"structure"` - // The identifier of the knowledge base. Can be either the ID or the ARN. URLs - // cannot contain the ARN. + // The user-defined Amazon Connect contact attributes (https://docs.aws.amazon.com/connect/latest/adminguide/connect-attrib-list.html#user-defined-attributes) + // to be resolved when search results are returned. + // + // Attributes is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by SearchQuickResponsesInput's + // String and GoString methods. + Attributes map[string]*string `locationName:"attributes" type:"map" sensitive:"true"` + + // The identifier of the knowledge base. This should be a QUICK_RESPONSES type + // knowledge base. Can be either the ID or the ARN. URLs cannot contain the + // ARN. // // KnowledgeBaseId is a required field KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` @@ -7984,10 +11879,10 @@ type SearchContentInput struct { // response in the next request to retrieve the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` - // The search expression to filter results. + // The search expression for querying the quick response. // // SearchExpression is a required field - SearchExpression *SearchExpression `locationName:"searchExpression" type:"structure" required:"true"` + SearchExpression *QuickResponseSearchExpression `locationName:"searchExpression" type:"structure" required:"true"` } // String returns the string representation. @@ -7995,7 +11890,7 @@ type SearchContentInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s SearchContentInput) String() string { +func (s SearchQuickResponsesInput) String() string { return awsutil.Prettify(s) } @@ -8004,13 +11899,13 @@ func (s SearchContentInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s SearchContentInput) GoString() string { +func (s SearchQuickResponsesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *SearchContentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SearchContentInput"} +func (s *SearchQuickResponsesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchQuickResponsesInput"} if s.KnowledgeBaseId == nil { invalidParams.Add(request.NewErrParamRequired("KnowledgeBaseId")) } @@ -8038,40 +11933,47 @@ func (s *SearchContentInput) Validate() error { return nil } +// SetAttributes sets the Attributes field's value. +func (s *SearchQuickResponsesInput) SetAttributes(v map[string]*string) *SearchQuickResponsesInput { + s.Attributes = v + return s +} + // SetKnowledgeBaseId sets the KnowledgeBaseId field's value. -func (s *SearchContentInput) SetKnowledgeBaseId(v string) *SearchContentInput { +func (s *SearchQuickResponsesInput) SetKnowledgeBaseId(v string) *SearchQuickResponsesInput { s.KnowledgeBaseId = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *SearchContentInput) SetMaxResults(v int64) *SearchContentInput { +func (s *SearchQuickResponsesInput) SetMaxResults(v int64) *SearchQuickResponsesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *SearchContentInput) SetNextToken(v string) *SearchContentInput { +func (s *SearchQuickResponsesInput) SetNextToken(v string) *SearchQuickResponsesInput { s.NextToken = &v return s } // SetSearchExpression sets the SearchExpression field's value. -func (s *SearchContentInput) SetSearchExpression(v *SearchExpression) *SearchContentInput { +func (s *SearchQuickResponsesInput) SetSearchExpression(v *QuickResponseSearchExpression) *SearchQuickResponsesInput { s.SearchExpression = v return s } -type SearchContentOutput struct { +type SearchQuickResponsesOutput struct { _ struct{} `type:"structure"` - // Summary information about the content. - // - // ContentSummaries is a required field - ContentSummaries []*ContentSummary `locationName:"contentSummaries" type:"list" required:"true"` - - // If there are additional results, this is the token for the next set of results. + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The results of the quick response search. + // + // Results is a required field + Results []*QuickResponseSearchResultData `locationName:"results" type:"list" required:"true"` } // String returns the string representation. @@ -8079,7 +11981,7 @@ type SearchContentOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s SearchContentOutput) String() string { +func (s SearchQuickResponsesOutput) String() string { return awsutil.Prettify(s) } @@ -8088,76 +11990,19 @@ func (s SearchContentOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s SearchContentOutput) GoString() string { +func (s SearchQuickResponsesOutput) GoString() string { return s.String() } -// SetContentSummaries sets the ContentSummaries field's value. -func (s *SearchContentOutput) SetContentSummaries(v []*ContentSummary) *SearchContentOutput { - s.ContentSummaries = v - return s -} - // SetNextToken sets the NextToken field's value. -func (s *SearchContentOutput) SetNextToken(v string) *SearchContentOutput { +func (s *SearchQuickResponsesOutput) SetNextToken(v string) *SearchQuickResponsesOutput { s.NextToken = &v return s } -// The search expression. -type SearchExpression struct { - _ struct{} `type:"structure"` - - // The search expression filters. - // - // Filters is a required field - Filters []*Filter `locationName:"filters" type:"list" required:"true"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s SearchExpression) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s SearchExpression) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *SearchExpression) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SearchExpression"} - if s.Filters == nil { - invalidParams.Add(request.NewErrParamRequired("Filters")) - } - 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 *SearchExpression) SetFilters(v []*Filter) *SearchExpression { - s.Filters = v +// SetResults sets the Results field's value. +func (s *SearchQuickResponsesOutput) SetResults(v []*QuickResponseSearchResultData) *SearchQuickResponsesOutput { + s.Results = v return s } @@ -8650,11 +12495,16 @@ type StartContentUploadInput struct { // ContentType is a required field ContentType *string `locationName:"contentType" type:"string" required:"true"` - // The identifier of the knowledge base. Can be either the ID or the ARN. URLs - // cannot contain the ARN. + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN. URLs cannot contain the ARN. // // KnowledgeBaseId is a required field KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` + + // The expected expiration time of the generated presigned URL, specified in + // minutes. + PresignedUrlTimeToLive *int64 `locationName:"presignedUrlTimeToLive" min:"1" type:"integer"` } // String returns the string representation. @@ -8687,6 +12537,9 @@ func (s *StartContentUploadInput) Validate() error { if s.KnowledgeBaseId != nil && len(*s.KnowledgeBaseId) < 1 { invalidParams.Add(request.NewErrParamMinLen("KnowledgeBaseId", 1)) } + if s.PresignedUrlTimeToLive != nil && *s.PresignedUrlTimeToLive < 1 { + invalidParams.Add(request.NewErrParamMinValue("PresignedUrlTimeToLive", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -8706,6 +12559,12 @@ func (s *StartContentUploadInput) SetKnowledgeBaseId(v string) *StartContentUplo return s } +// SetPresignedUrlTimeToLive sets the PresignedUrlTimeToLive field's value. +func (s *StartContentUploadInput) SetPresignedUrlTimeToLive(v int64) *StartContentUploadInput { + s.PresignedUrlTimeToLive = &v + return s +} + type StartContentUploadOutput struct { _ struct{} `type:"structure"` @@ -8719,19 +12578,192 @@ type StartContentUploadOutput struct { // UploadId is a required field UploadId *string `locationName:"uploadId" min:"1" type:"string" required:"true"` - // The URL of the upload. - // - // Url is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by StartContentUploadOutput's - // String and GoString methods. - // - // Url is a required field - Url *string `locationName:"url" min:"1" type:"string" required:"true" sensitive:"true"` + // The URL of the upload. + // + // Url is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by StartContentUploadOutput's + // String and GoString methods. + // + // Url is a required field + Url *string `locationName:"url" min:"1" type:"string" required:"true" sensitive:"true"` + + // The expiration time of the URL as an epoch timestamp. + // + // UrlExpiry is a required field + UrlExpiry *time.Time `locationName:"urlExpiry" type:"timestamp" timestampFormat:"unixTimestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartContentUploadOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartContentUploadOutput) GoString() string { + return s.String() +} + +// SetHeadersToInclude sets the HeadersToInclude field's value. +func (s *StartContentUploadOutput) SetHeadersToInclude(v map[string]*string) *StartContentUploadOutput { + s.HeadersToInclude = v + return s +} + +// SetUploadId sets the UploadId field's value. +func (s *StartContentUploadOutput) SetUploadId(v string) *StartContentUploadOutput { + s.UploadId = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *StartContentUploadOutput) SetUrl(v string) *StartContentUploadOutput { + s.Url = &v + return s +} + +// SetUrlExpiry sets the UrlExpiry field's value. +func (s *StartContentUploadOutput) SetUrlExpiry(v time.Time) *StartContentUploadOutput { + s.UrlExpiry = &v + return s +} + +type StartImportJobInput struct { + _ struct{} `type:"structure"` + + // The tags used to organize, track, or control access for this resource. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The configuration information of the external source that the resource data + // are imported from. + ExternalSourceConfiguration *ExternalSourceConfiguration `locationName:"externalSourceConfiguration" type:"structure"` + + // The type of the import job. + // + // * For importing quick response resource, set the value to QUICK_RESPONSES. + // + // ImportJobType is a required field + ImportJobType *string `locationName:"importJobType" type:"string" required:"true" enum:"ImportJobType"` + + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN. URLs cannot contain the ARN. + // + // * For importing Wisdom quick responses, this should be a QUICK_RESPONSES + // type knowledge base. + // + // KnowledgeBaseId is a required field + KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` + + // The metadata fields of the imported Wisdom resources. + Metadata map[string]*string `locationName:"metadata" type:"map"` + + // A pointer to the uploaded asset. This value is returned by StartContentUpload + // (https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html). + // + // UploadId is a required field + UploadId *string `locationName:"uploadId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartImportJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartImportJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartImportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartImportJobInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.ImportJobType == nil { + invalidParams.Add(request.NewErrParamRequired("ImportJobType")) + } + if s.KnowledgeBaseId == nil { + invalidParams.Add(request.NewErrParamRequired("KnowledgeBaseId")) + } + if s.KnowledgeBaseId != nil && len(*s.KnowledgeBaseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KnowledgeBaseId", 1)) + } + if s.UploadId == nil { + invalidParams.Add(request.NewErrParamRequired("UploadId")) + } + if s.UploadId != nil && len(*s.UploadId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UploadId", 1)) + } + if s.ExternalSourceConfiguration != nil { + if err := s.ExternalSourceConfiguration.Validate(); err != nil { + invalidParams.AddNested("ExternalSourceConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *StartImportJobInput) SetClientToken(v string) *StartImportJobInput { + s.ClientToken = &v + return s +} + +// SetExternalSourceConfiguration sets the ExternalSourceConfiguration field's value. +func (s *StartImportJobInput) SetExternalSourceConfiguration(v *ExternalSourceConfiguration) *StartImportJobInput { + s.ExternalSourceConfiguration = v + return s +} + +// SetImportJobType sets the ImportJobType field's value. +func (s *StartImportJobInput) SetImportJobType(v string) *StartImportJobInput { + s.ImportJobType = &v + return s +} + +// SetKnowledgeBaseId sets the KnowledgeBaseId field's value. +func (s *StartImportJobInput) SetKnowledgeBaseId(v string) *StartImportJobInput { + s.KnowledgeBaseId = &v + return s +} + +// SetMetadata sets the Metadata field's value. +func (s *StartImportJobInput) SetMetadata(v map[string]*string) *StartImportJobInput { + s.Metadata = v + return s +} + +// SetUploadId sets the UploadId field's value. +func (s *StartImportJobInput) SetUploadId(v string) *StartImportJobInput { + s.UploadId = &v + return s +} + +type StartImportJobOutput struct { + _ struct{} `type:"structure"` - // The expiration time of the URL as an epoch timestamp. - // - // UrlExpiry is a required field - UrlExpiry *time.Time `locationName:"urlExpiry" type:"timestamp" timestampFormat:"unixTimestamp" required:"true"` + // The import job. + ImportJob *ImportJobData `locationName:"importJob" type:"structure"` } // String returns the string representation. @@ -8739,7 +12771,7 @@ type StartContentUploadOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s StartContentUploadOutput) String() string { +func (s StartImportJobOutput) String() string { return awsutil.Prettify(s) } @@ -8748,31 +12780,13 @@ func (s StartContentUploadOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s StartContentUploadOutput) GoString() string { +func (s StartImportJobOutput) GoString() string { return s.String() } -// SetHeadersToInclude sets the HeadersToInclude field's value. -func (s *StartContentUploadOutput) SetHeadersToInclude(v map[string]*string) *StartContentUploadOutput { - s.HeadersToInclude = v - return s -} - -// SetUploadId sets the UploadId field's value. -func (s *StartContentUploadOutput) SetUploadId(v string) *StartContentUploadOutput { - s.UploadId = &v - return s -} - -// SetUrl sets the Url field's value. -func (s *StartContentUploadOutput) SetUrl(v string) *StartContentUploadOutput { - s.Url = &v - return s -} - -// SetUrlExpiry sets the UrlExpiry field's value. -func (s *StartContentUploadOutput) SetUrlExpiry(v time.Time) *StartContentUploadOutput { - s.UrlExpiry = &v +// SetImportJob sets the ImportJob field's value. +func (s *StartImportJobOutput) SetImportJob(v *ImportJobData) *StartImportJobOutput { + s.ImportJob = v return s } @@ -9026,7 +13040,9 @@ type UpdateContentInput struct { // ContentId is a required field ContentId *string `location:"uri" locationName:"contentId" type:"string" required:"true"` - // The identifier of the knowledge base. Can be either the ID or the ARN + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN // // KnowledgeBaseId is a required field KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` @@ -9194,8 +13210,9 @@ func (s *UpdateContentOutput) SetContent(v *ContentData) *UpdateContentOutput { type UpdateKnowledgeBaseTemplateUriInput struct { _ struct{} `type:"structure"` - // The identifier of the knowledge base. Can be either the ID or the ARN. URLs - // cannot contain the ARN. + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN. URLs cannot contain the ARN. // // KnowledgeBaseId is a required field KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` @@ -9289,6 +13306,245 @@ func (s *UpdateKnowledgeBaseTemplateUriOutput) SetKnowledgeBase(v *KnowledgeBase return s } +type UpdateQuickResponseInput struct { + _ struct{} `type:"structure"` + + // The Amazon Connect contact channels this quick response applies to. The supported + // contact channel types include Chat. + Channels []*string `locationName:"channels" type:"list"` + + // The updated content of the quick response. + Content *QuickResponseDataProvider `locationName:"content" type:"structure"` + + // The media type of the quick response content. + // + // * Use application/x.quickresponse;format=plain for quick response written + // in plain text. + // + // * Use application/x.quickresponse;format=markdown for quick response written + // in richtext. + ContentType *string `locationName:"contentType" type:"string"` + + // The updated description of the quick response. + Description *string `locationName:"description" min:"1" type:"string"` + + // The updated grouping configuration of the quick response. + GroupingConfiguration *GroupingConfiguration `locationName:"groupingConfiguration" type:"structure"` + + // Whether the quick response is active. + IsActive *bool `locationName:"isActive" type:"boolean"` + + // The identifier of the knowledge base. This should not be a QUICK_RESPONSES + // type knowledge base if you're storing Wisdom Content resource to it. Can + // be either the ID or the ARN. URLs cannot contain the ARN. + // + // KnowledgeBaseId is a required field + KnowledgeBaseId *string `location:"uri" locationName:"knowledgeBaseId" type:"string" required:"true"` + + // The language code value for the language in which the quick response is written. + // The supported language codes include de_DE, en_US, es_ES, fr_FR, id_ID, it_IT, + // ja_JP, ko_KR, pt_BR, zh_CN, zh_TW + Language *string `locationName:"language" min:"2" type:"string"` + + // The name of the quick response. + Name *string `locationName:"name" min:"1" type:"string"` + + // The identifier of the quick response. + // + // QuickResponseId is a required field + QuickResponseId *string `location:"uri" locationName:"quickResponseId" type:"string" required:"true"` + + // Whether to remove the description from the quick response. + RemoveDescription *bool `locationName:"removeDescription" type:"boolean"` + + // Whether to remove the grouping configuration of the quick response. + RemoveGroupingConfiguration *bool `locationName:"removeGroupingConfiguration" type:"boolean"` + + // Whether to remove the shortcut key of the quick response. + RemoveShortcutKey *bool `locationName:"removeShortcutKey" type:"boolean"` + + // The shortcut key of the quick response. The value should be unique across + // the knowledge base. + ShortcutKey *string `locationName:"shortcutKey" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateQuickResponseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateQuickResponseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateQuickResponseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateQuickResponseInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.KnowledgeBaseId == nil { + invalidParams.Add(request.NewErrParamRequired("KnowledgeBaseId")) + } + if s.KnowledgeBaseId != nil && len(*s.KnowledgeBaseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KnowledgeBaseId", 1)) + } + if s.Language != nil && len(*s.Language) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Language", 2)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.QuickResponseId == nil { + invalidParams.Add(request.NewErrParamRequired("QuickResponseId")) + } + if s.QuickResponseId != nil && len(*s.QuickResponseId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QuickResponseId", 1)) + } + if s.ShortcutKey != nil && len(*s.ShortcutKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ShortcutKey", 1)) + } + if s.Content != nil { + if err := s.Content.Validate(); err != nil { + invalidParams.AddNested("Content", err.(request.ErrInvalidParams)) + } + } + if s.GroupingConfiguration != nil { + if err := s.GroupingConfiguration.Validate(); err != nil { + invalidParams.AddNested("GroupingConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannels sets the Channels field's value. +func (s *UpdateQuickResponseInput) SetChannels(v []*string) *UpdateQuickResponseInput { + s.Channels = v + return s +} + +// SetContent sets the Content field's value. +func (s *UpdateQuickResponseInput) SetContent(v *QuickResponseDataProvider) *UpdateQuickResponseInput { + s.Content = v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *UpdateQuickResponseInput) SetContentType(v string) *UpdateQuickResponseInput { + s.ContentType = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateQuickResponseInput) SetDescription(v string) *UpdateQuickResponseInput { + s.Description = &v + return s +} + +// SetGroupingConfiguration sets the GroupingConfiguration field's value. +func (s *UpdateQuickResponseInput) SetGroupingConfiguration(v *GroupingConfiguration) *UpdateQuickResponseInput { + s.GroupingConfiguration = v + return s +} + +// SetIsActive sets the IsActive field's value. +func (s *UpdateQuickResponseInput) SetIsActive(v bool) *UpdateQuickResponseInput { + s.IsActive = &v + return s +} + +// SetKnowledgeBaseId sets the KnowledgeBaseId field's value. +func (s *UpdateQuickResponseInput) SetKnowledgeBaseId(v string) *UpdateQuickResponseInput { + s.KnowledgeBaseId = &v + return s +} + +// SetLanguage sets the Language field's value. +func (s *UpdateQuickResponseInput) SetLanguage(v string) *UpdateQuickResponseInput { + s.Language = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateQuickResponseInput) SetName(v string) *UpdateQuickResponseInput { + s.Name = &v + return s +} + +// SetQuickResponseId sets the QuickResponseId field's value. +func (s *UpdateQuickResponseInput) SetQuickResponseId(v string) *UpdateQuickResponseInput { + s.QuickResponseId = &v + return s +} + +// SetRemoveDescription sets the RemoveDescription field's value. +func (s *UpdateQuickResponseInput) SetRemoveDescription(v bool) *UpdateQuickResponseInput { + s.RemoveDescription = &v + return s +} + +// SetRemoveGroupingConfiguration sets the RemoveGroupingConfiguration field's value. +func (s *UpdateQuickResponseInput) SetRemoveGroupingConfiguration(v bool) *UpdateQuickResponseInput { + s.RemoveGroupingConfiguration = &v + return s +} + +// SetRemoveShortcutKey sets the RemoveShortcutKey field's value. +func (s *UpdateQuickResponseInput) SetRemoveShortcutKey(v bool) *UpdateQuickResponseInput { + s.RemoveShortcutKey = &v + return s +} + +// SetShortcutKey sets the ShortcutKey field's value. +func (s *UpdateQuickResponseInput) SetShortcutKey(v string) *UpdateQuickResponseInput { + s.ShortcutKey = &v + return s +} + +type UpdateQuickResponseOutput struct { + _ struct{} `type:"structure"` + + // The quick response. + QuickResponse *QuickResponseData `locationName:"quickResponse" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateQuickResponseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateQuickResponseOutput) GoString() string { + return s.String() +} + +// SetQuickResponse sets the QuickResponse field's value. +func (s *UpdateQuickResponseOutput) SetQuickResponse(v *QuickResponseData) *UpdateQuickResponseOutput { + s.QuickResponse = v + return s +} + // The input fails to satisfy the constraints specified by a service. type ValidationException struct { _ struct{} `type:"structure"` @@ -9445,6 +13701,18 @@ func ContentStatus_Values() []string { } } +const ( + // ExternalSourceAmazonConnect is a ExternalSource enum value + ExternalSourceAmazonConnect = "AMAZON_CONNECT" +) + +// ExternalSource_Values returns all elements of the ExternalSource enum +func ExternalSource_Values() []string { + return []string{ + ExternalSourceAmazonConnect, + } +} + const ( // FilterFieldName is a FilterField enum value FilterFieldName = "NAME" @@ -9469,6 +13737,50 @@ func FilterOperator_Values() []string { } } +const ( + // ImportJobStatusStartInProgress is a ImportJobStatus enum value + ImportJobStatusStartInProgress = "START_IN_PROGRESS" + + // ImportJobStatusFailed is a ImportJobStatus enum value + ImportJobStatusFailed = "FAILED" + + // ImportJobStatusComplete is a ImportJobStatus enum value + ImportJobStatusComplete = "COMPLETE" + + // ImportJobStatusDeleteInProgress is a ImportJobStatus enum value + ImportJobStatusDeleteInProgress = "DELETE_IN_PROGRESS" + + // ImportJobStatusDeleteFailed is a ImportJobStatus enum value + ImportJobStatusDeleteFailed = "DELETE_FAILED" + + // ImportJobStatusDeleted is a ImportJobStatus enum value + ImportJobStatusDeleted = "DELETED" +) + +// ImportJobStatus_Values returns all elements of the ImportJobStatus enum +func ImportJobStatus_Values() []string { + return []string{ + ImportJobStatusStartInProgress, + ImportJobStatusFailed, + ImportJobStatusComplete, + ImportJobStatusDeleteInProgress, + ImportJobStatusDeleteFailed, + ImportJobStatusDeleted, + } +} + +const ( + // ImportJobTypeQuickResponses is a ImportJobType enum value + ImportJobTypeQuickResponses = "QUICK_RESPONSES" +) + +// ImportJobType_Values returns all elements of the ImportJobType enum +func ImportJobType_Values() []string { + return []string{ + ImportJobTypeQuickResponses, + } +} + const ( // KnowledgeBaseStatusCreateInProgress is a KnowledgeBaseStatus enum value KnowledgeBaseStatusCreateInProgress = "CREATE_IN_PROGRESS" @@ -9507,6 +13819,9 @@ const ( // KnowledgeBaseTypeCustom is a KnowledgeBaseType enum value KnowledgeBaseTypeCustom = "CUSTOM" + + // KnowledgeBaseTypeQuickResponses is a KnowledgeBaseType enum value + KnowledgeBaseTypeQuickResponses = "QUICK_RESPONSES" ) // KnowledgeBaseType_Values returns all elements of the KnowledgeBaseType enum @@ -9514,6 +13829,115 @@ func KnowledgeBaseType_Values() []string { return []string{ KnowledgeBaseTypeExternal, KnowledgeBaseTypeCustom, + KnowledgeBaseTypeQuickResponses, + } +} + +const ( + // OrderAsc is a Order enum value + OrderAsc = "ASC" + + // OrderDesc is a Order enum value + OrderDesc = "DESC" +) + +// Order_Values returns all elements of the Order enum +func Order_Values() []string { + return []string{ + OrderAsc, + OrderDesc, + } +} + +const ( + // PriorityHigh is a Priority enum value + PriorityHigh = "HIGH" + + // PriorityMedium is a Priority enum value + PriorityMedium = "MEDIUM" + + // PriorityLow is a Priority enum value + PriorityLow = "LOW" +) + +// Priority_Values returns all elements of the Priority enum +func Priority_Values() []string { + return []string{ + PriorityHigh, + PriorityMedium, + PriorityLow, + } +} + +const ( + // QuickResponseFilterOperatorEquals is a QuickResponseFilterOperator enum value + QuickResponseFilterOperatorEquals = "EQUALS" + + // QuickResponseFilterOperatorPrefix is a QuickResponseFilterOperator enum value + QuickResponseFilterOperatorPrefix = "PREFIX" +) + +// QuickResponseFilterOperator_Values returns all elements of the QuickResponseFilterOperator enum +func QuickResponseFilterOperator_Values() []string { + return []string{ + QuickResponseFilterOperatorEquals, + QuickResponseFilterOperatorPrefix, + } +} + +const ( + // QuickResponseQueryOperatorContains is a QuickResponseQueryOperator enum value + QuickResponseQueryOperatorContains = "CONTAINS" + + // QuickResponseQueryOperatorContainsAndPrefix is a QuickResponseQueryOperator enum value + QuickResponseQueryOperatorContainsAndPrefix = "CONTAINS_AND_PREFIX" +) + +// QuickResponseQueryOperator_Values returns all elements of the QuickResponseQueryOperator enum +func QuickResponseQueryOperator_Values() []string { + return []string{ + QuickResponseQueryOperatorContains, + QuickResponseQueryOperatorContainsAndPrefix, + } +} + +const ( + // QuickResponseStatusCreateInProgress is a QuickResponseStatus enum value + QuickResponseStatusCreateInProgress = "CREATE_IN_PROGRESS" + + // QuickResponseStatusCreateFailed is a QuickResponseStatus enum value + QuickResponseStatusCreateFailed = "CREATE_FAILED" + + // QuickResponseStatusCreated is a QuickResponseStatus enum value + QuickResponseStatusCreated = "CREATED" + + // QuickResponseStatusDeleteInProgress is a QuickResponseStatus enum value + QuickResponseStatusDeleteInProgress = "DELETE_IN_PROGRESS" + + // QuickResponseStatusDeleteFailed is a QuickResponseStatus enum value + QuickResponseStatusDeleteFailed = "DELETE_FAILED" + + // QuickResponseStatusDeleted is a QuickResponseStatus enum value + QuickResponseStatusDeleted = "DELETED" + + // QuickResponseStatusUpdateInProgress is a QuickResponseStatus enum value + QuickResponseStatusUpdateInProgress = "UPDATE_IN_PROGRESS" + + // QuickResponseStatusUpdateFailed is a QuickResponseStatus enum value + QuickResponseStatusUpdateFailed = "UPDATE_FAILED" +) + +// QuickResponseStatus_Values returns all elements of the QuickResponseStatus enum +func QuickResponseStatus_Values() []string { + return []string{ + QuickResponseStatusCreateInProgress, + QuickResponseStatusCreateFailed, + QuickResponseStatusCreated, + QuickResponseStatusDeleteInProgress, + QuickResponseStatusDeleteFailed, + QuickResponseStatusDeleted, + QuickResponseStatusUpdateInProgress, + QuickResponseStatusUpdateFailed, } } diff --git a/service/connectwisdomservice/connectwisdomserviceiface/interface.go b/service/connectwisdomservice/connectwisdomserviceiface/interface.go index 8d5a1acea0a..2861da0dd3d 100644 --- a/service/connectwisdomservice/connectwisdomserviceiface/interface.go +++ b/service/connectwisdomservice/connectwisdomserviceiface/interface.go @@ -76,6 +76,10 @@ type ConnectWisdomServiceAPI interface { CreateKnowledgeBaseWithContext(aws.Context, *connectwisdomservice.CreateKnowledgeBaseInput, ...request.Option) (*connectwisdomservice.CreateKnowledgeBaseOutput, error) CreateKnowledgeBaseRequest(*connectwisdomservice.CreateKnowledgeBaseInput) (*request.Request, *connectwisdomservice.CreateKnowledgeBaseOutput) + CreateQuickResponse(*connectwisdomservice.CreateQuickResponseInput) (*connectwisdomservice.CreateQuickResponseOutput, error) + CreateQuickResponseWithContext(aws.Context, *connectwisdomservice.CreateQuickResponseInput, ...request.Option) (*connectwisdomservice.CreateQuickResponseOutput, error) + CreateQuickResponseRequest(*connectwisdomservice.CreateQuickResponseInput) (*request.Request, *connectwisdomservice.CreateQuickResponseOutput) + CreateSession(*connectwisdomservice.CreateSessionInput) (*connectwisdomservice.CreateSessionOutput, error) CreateSessionWithContext(aws.Context, *connectwisdomservice.CreateSessionInput, ...request.Option) (*connectwisdomservice.CreateSessionOutput, error) CreateSessionRequest(*connectwisdomservice.CreateSessionInput) (*request.Request, *connectwisdomservice.CreateSessionOutput) @@ -92,10 +96,18 @@ type ConnectWisdomServiceAPI interface { DeleteContentWithContext(aws.Context, *connectwisdomservice.DeleteContentInput, ...request.Option) (*connectwisdomservice.DeleteContentOutput, error) DeleteContentRequest(*connectwisdomservice.DeleteContentInput) (*request.Request, *connectwisdomservice.DeleteContentOutput) + DeleteImportJob(*connectwisdomservice.DeleteImportJobInput) (*connectwisdomservice.DeleteImportJobOutput, error) + DeleteImportJobWithContext(aws.Context, *connectwisdomservice.DeleteImportJobInput, ...request.Option) (*connectwisdomservice.DeleteImportJobOutput, error) + DeleteImportJobRequest(*connectwisdomservice.DeleteImportJobInput) (*request.Request, *connectwisdomservice.DeleteImportJobOutput) + DeleteKnowledgeBase(*connectwisdomservice.DeleteKnowledgeBaseInput) (*connectwisdomservice.DeleteKnowledgeBaseOutput, error) DeleteKnowledgeBaseWithContext(aws.Context, *connectwisdomservice.DeleteKnowledgeBaseInput, ...request.Option) (*connectwisdomservice.DeleteKnowledgeBaseOutput, error) DeleteKnowledgeBaseRequest(*connectwisdomservice.DeleteKnowledgeBaseInput) (*request.Request, *connectwisdomservice.DeleteKnowledgeBaseOutput) + DeleteQuickResponse(*connectwisdomservice.DeleteQuickResponseInput) (*connectwisdomservice.DeleteQuickResponseOutput, error) + DeleteQuickResponseWithContext(aws.Context, *connectwisdomservice.DeleteQuickResponseInput, ...request.Option) (*connectwisdomservice.DeleteQuickResponseOutput, error) + DeleteQuickResponseRequest(*connectwisdomservice.DeleteQuickResponseInput) (*request.Request, *connectwisdomservice.DeleteQuickResponseOutput) + GetAssistant(*connectwisdomservice.GetAssistantInput) (*connectwisdomservice.GetAssistantOutput, error) GetAssistantWithContext(aws.Context, *connectwisdomservice.GetAssistantInput, ...request.Option) (*connectwisdomservice.GetAssistantOutput, error) GetAssistantRequest(*connectwisdomservice.GetAssistantInput) (*request.Request, *connectwisdomservice.GetAssistantOutput) @@ -112,10 +124,18 @@ type ConnectWisdomServiceAPI interface { GetContentSummaryWithContext(aws.Context, *connectwisdomservice.GetContentSummaryInput, ...request.Option) (*connectwisdomservice.GetContentSummaryOutput, error) GetContentSummaryRequest(*connectwisdomservice.GetContentSummaryInput) (*request.Request, *connectwisdomservice.GetContentSummaryOutput) + GetImportJob(*connectwisdomservice.GetImportJobInput) (*connectwisdomservice.GetImportJobOutput, error) + GetImportJobWithContext(aws.Context, *connectwisdomservice.GetImportJobInput, ...request.Option) (*connectwisdomservice.GetImportJobOutput, error) + GetImportJobRequest(*connectwisdomservice.GetImportJobInput) (*request.Request, *connectwisdomservice.GetImportJobOutput) + GetKnowledgeBase(*connectwisdomservice.GetKnowledgeBaseInput) (*connectwisdomservice.GetKnowledgeBaseOutput, error) GetKnowledgeBaseWithContext(aws.Context, *connectwisdomservice.GetKnowledgeBaseInput, ...request.Option) (*connectwisdomservice.GetKnowledgeBaseOutput, error) GetKnowledgeBaseRequest(*connectwisdomservice.GetKnowledgeBaseInput) (*request.Request, *connectwisdomservice.GetKnowledgeBaseOutput) + GetQuickResponse(*connectwisdomservice.GetQuickResponseInput) (*connectwisdomservice.GetQuickResponseOutput, error) + GetQuickResponseWithContext(aws.Context, *connectwisdomservice.GetQuickResponseInput, ...request.Option) (*connectwisdomservice.GetQuickResponseOutput, error) + GetQuickResponseRequest(*connectwisdomservice.GetQuickResponseInput) (*request.Request, *connectwisdomservice.GetQuickResponseOutput) + GetRecommendations(*connectwisdomservice.GetRecommendationsInput) (*connectwisdomservice.GetRecommendationsOutput, error) GetRecommendationsWithContext(aws.Context, *connectwisdomservice.GetRecommendationsInput, ...request.Option) (*connectwisdomservice.GetRecommendationsOutput, error) GetRecommendationsRequest(*connectwisdomservice.GetRecommendationsInput) (*request.Request, *connectwisdomservice.GetRecommendationsOutput) @@ -145,6 +165,13 @@ type ConnectWisdomServiceAPI interface { ListContentsPages(*connectwisdomservice.ListContentsInput, func(*connectwisdomservice.ListContentsOutput, bool) bool) error ListContentsPagesWithContext(aws.Context, *connectwisdomservice.ListContentsInput, func(*connectwisdomservice.ListContentsOutput, bool) bool, ...request.Option) error + ListImportJobs(*connectwisdomservice.ListImportJobsInput) (*connectwisdomservice.ListImportJobsOutput, error) + ListImportJobsWithContext(aws.Context, *connectwisdomservice.ListImportJobsInput, ...request.Option) (*connectwisdomservice.ListImportJobsOutput, error) + ListImportJobsRequest(*connectwisdomservice.ListImportJobsInput) (*request.Request, *connectwisdomservice.ListImportJobsOutput) + + ListImportJobsPages(*connectwisdomservice.ListImportJobsInput, func(*connectwisdomservice.ListImportJobsOutput, bool) bool) error + ListImportJobsPagesWithContext(aws.Context, *connectwisdomservice.ListImportJobsInput, func(*connectwisdomservice.ListImportJobsOutput, bool) bool, ...request.Option) error + ListKnowledgeBases(*connectwisdomservice.ListKnowledgeBasesInput) (*connectwisdomservice.ListKnowledgeBasesOutput, error) ListKnowledgeBasesWithContext(aws.Context, *connectwisdomservice.ListKnowledgeBasesInput, ...request.Option) (*connectwisdomservice.ListKnowledgeBasesOutput, error) ListKnowledgeBasesRequest(*connectwisdomservice.ListKnowledgeBasesInput) (*request.Request, *connectwisdomservice.ListKnowledgeBasesOutput) @@ -152,6 +179,13 @@ type ConnectWisdomServiceAPI interface { ListKnowledgeBasesPages(*connectwisdomservice.ListKnowledgeBasesInput, func(*connectwisdomservice.ListKnowledgeBasesOutput, bool) bool) error ListKnowledgeBasesPagesWithContext(aws.Context, *connectwisdomservice.ListKnowledgeBasesInput, func(*connectwisdomservice.ListKnowledgeBasesOutput, bool) bool, ...request.Option) error + ListQuickResponses(*connectwisdomservice.ListQuickResponsesInput) (*connectwisdomservice.ListQuickResponsesOutput, error) + ListQuickResponsesWithContext(aws.Context, *connectwisdomservice.ListQuickResponsesInput, ...request.Option) (*connectwisdomservice.ListQuickResponsesOutput, error) + ListQuickResponsesRequest(*connectwisdomservice.ListQuickResponsesInput) (*request.Request, *connectwisdomservice.ListQuickResponsesOutput) + + ListQuickResponsesPages(*connectwisdomservice.ListQuickResponsesInput, func(*connectwisdomservice.ListQuickResponsesOutput, bool) bool) error + ListQuickResponsesPagesWithContext(aws.Context, *connectwisdomservice.ListQuickResponsesInput, func(*connectwisdomservice.ListQuickResponsesOutput, bool) bool, ...request.Option) error + ListTagsForResource(*connectwisdomservice.ListTagsForResourceInput) (*connectwisdomservice.ListTagsForResourceOutput, error) ListTagsForResourceWithContext(aws.Context, *connectwisdomservice.ListTagsForResourceInput, ...request.Option) (*connectwisdomservice.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*connectwisdomservice.ListTagsForResourceInput) (*request.Request, *connectwisdomservice.ListTagsForResourceOutput) @@ -178,6 +212,13 @@ type ConnectWisdomServiceAPI interface { SearchContentPages(*connectwisdomservice.SearchContentInput, func(*connectwisdomservice.SearchContentOutput, bool) bool) error SearchContentPagesWithContext(aws.Context, *connectwisdomservice.SearchContentInput, func(*connectwisdomservice.SearchContentOutput, bool) bool, ...request.Option) error + SearchQuickResponses(*connectwisdomservice.SearchQuickResponsesInput) (*connectwisdomservice.SearchQuickResponsesOutput, error) + SearchQuickResponsesWithContext(aws.Context, *connectwisdomservice.SearchQuickResponsesInput, ...request.Option) (*connectwisdomservice.SearchQuickResponsesOutput, error) + SearchQuickResponsesRequest(*connectwisdomservice.SearchQuickResponsesInput) (*request.Request, *connectwisdomservice.SearchQuickResponsesOutput) + + SearchQuickResponsesPages(*connectwisdomservice.SearchQuickResponsesInput, func(*connectwisdomservice.SearchQuickResponsesOutput, bool) bool) error + SearchQuickResponsesPagesWithContext(aws.Context, *connectwisdomservice.SearchQuickResponsesInput, func(*connectwisdomservice.SearchQuickResponsesOutput, bool) bool, ...request.Option) error + SearchSessions(*connectwisdomservice.SearchSessionsInput) (*connectwisdomservice.SearchSessionsOutput, error) SearchSessionsWithContext(aws.Context, *connectwisdomservice.SearchSessionsInput, ...request.Option) (*connectwisdomservice.SearchSessionsOutput, error) SearchSessionsRequest(*connectwisdomservice.SearchSessionsInput) (*request.Request, *connectwisdomservice.SearchSessionsOutput) @@ -189,6 +230,10 @@ type ConnectWisdomServiceAPI interface { StartContentUploadWithContext(aws.Context, *connectwisdomservice.StartContentUploadInput, ...request.Option) (*connectwisdomservice.StartContentUploadOutput, error) StartContentUploadRequest(*connectwisdomservice.StartContentUploadInput) (*request.Request, *connectwisdomservice.StartContentUploadOutput) + StartImportJob(*connectwisdomservice.StartImportJobInput) (*connectwisdomservice.StartImportJobOutput, error) + StartImportJobWithContext(aws.Context, *connectwisdomservice.StartImportJobInput, ...request.Option) (*connectwisdomservice.StartImportJobOutput, error) + StartImportJobRequest(*connectwisdomservice.StartImportJobInput) (*request.Request, *connectwisdomservice.StartImportJobOutput) + TagResource(*connectwisdomservice.TagResourceInput) (*connectwisdomservice.TagResourceOutput, error) TagResourceWithContext(aws.Context, *connectwisdomservice.TagResourceInput, ...request.Option) (*connectwisdomservice.TagResourceOutput, error) TagResourceRequest(*connectwisdomservice.TagResourceInput) (*request.Request, *connectwisdomservice.TagResourceOutput) @@ -204,6 +249,10 @@ type ConnectWisdomServiceAPI interface { UpdateKnowledgeBaseTemplateUri(*connectwisdomservice.UpdateKnowledgeBaseTemplateUriInput) (*connectwisdomservice.UpdateKnowledgeBaseTemplateUriOutput, error) UpdateKnowledgeBaseTemplateUriWithContext(aws.Context, *connectwisdomservice.UpdateKnowledgeBaseTemplateUriInput, ...request.Option) (*connectwisdomservice.UpdateKnowledgeBaseTemplateUriOutput, error) UpdateKnowledgeBaseTemplateUriRequest(*connectwisdomservice.UpdateKnowledgeBaseTemplateUriInput) (*request.Request, *connectwisdomservice.UpdateKnowledgeBaseTemplateUriOutput) + + UpdateQuickResponse(*connectwisdomservice.UpdateQuickResponseInput) (*connectwisdomservice.UpdateQuickResponseOutput, error) + UpdateQuickResponseWithContext(aws.Context, *connectwisdomservice.UpdateQuickResponseInput, ...request.Option) (*connectwisdomservice.UpdateQuickResponseOutput, error) + UpdateQuickResponseRequest(*connectwisdomservice.UpdateQuickResponseInput) (*request.Request, *connectwisdomservice.UpdateQuickResponseOutput) } var _ ConnectWisdomServiceAPI = (*connectwisdomservice.ConnectWisdomService)(nil) diff --git a/service/connectwisdomservice/errors.go b/service/connectwisdomservice/errors.go index 768d259609c..4037127baab 100644 --- a/service/connectwisdomservice/errors.go +++ b/service/connectwisdomservice/errors.go @@ -30,6 +30,15 @@ const ( // since it was last read. ErrCodePreconditionFailedException = "PreconditionFailedException" + // ErrCodeRequestTimeoutException for service response error code + // "RequestTimeoutException". + // + // The request reached the service more than 15 minutes after the date stamp + // on the request or more than 15 minutes after the request expiration date + // (such as for pre-signed URLs), or the date stamp on the request is more than + // 15 minutes in the future. + ErrCodeRequestTimeoutException = "RequestTimeoutException" + // ErrCodeResourceNotFoundException for service response error code // "ResourceNotFoundException". // @@ -62,6 +71,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "AccessDeniedException": newErrorAccessDeniedException, "ConflictException": newErrorConflictException, "PreconditionFailedException": newErrorPreconditionFailedException, + "RequestTimeoutException": newErrorRequestTimeoutException, "ResourceNotFoundException": newErrorResourceNotFoundException, "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, "TooManyTagsException": newErrorTooManyTagsException, diff --git a/service/dlm/api.go b/service/dlm/api.go index 38220b05990..8414243958c 100644 --- a/service/dlm/api.go +++ b/service/dlm/api.go @@ -3800,6 +3800,9 @@ type Script struct { // Amazon Data Lifecycle Manager automatically uses the AWSEC2-CreateVssSnapshot // SSM document. // + // * If you are automating application-consistent snapshots for SAP HANA + // workloads, specify AWSSystemsManagerSAP-CreateDLMSnapshotForSAPHANA. + // // * If you are using a custom SSM document that you own, specify either // the name or ARN of the SSM document. If you are using a custom SSM document // that is shared with you, specify the ARN of the SSM document. @@ -3809,7 +3812,8 @@ type Script struct { // Indicates the service used to execute the pre and/or post scripts. // - // * If you are using custom SSM documents, specify AWS_SYSTEMS_MANAGER. + // * If you are using custom SSM documents or automating application-consistent + // snapshots of SAP HANA workloads, specify AWS_SYSTEMS_MANAGER. // // * If you are automating VSS Backups, omit this parameter. // diff --git a/service/ec2/api.go b/service/ec2/api.go index c31b5118e2c..0188aa96fa2 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -1720,6 +1720,86 @@ func (c *EC2) AssociateInstanceEventWindowWithContext(ctx aws.Context, input *As return out, req.Send() } +const opAssociateIpamByoasn = "AssociateIpamByoasn" + +// AssociateIpamByoasnRequest generates a "aws/request.Request" representing the +// client's request for the AssociateIpamByoasn operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AssociateIpamByoasn for more information on using the AssociateIpamByoasn +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the AssociateIpamByoasnRequest method. +// req, resp := client.AssociateIpamByoasnRequest(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/AssociateIpamByoasn +func (c *EC2) AssociateIpamByoasnRequest(input *AssociateIpamByoasnInput) (req *request.Request, output *AssociateIpamByoasnOutput) { + op := &request.Operation{ + Name: opAssociateIpamByoasn, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateIpamByoasnInput{} + } + + output = &AssociateIpamByoasnOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateIpamByoasn API operation for Amazon Elastic Compute Cloud. +// +// Associates your Autonomous System Number (ASN) with a BYOIP CIDR that you +// own in the same Amazon Web Services Region. For more information, see Tutorial: +// Bring your ASN to IPAM (https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-byoasn.html) +// in the Amazon VPC IPAM guide. +// +// After the association succeeds, the ASN is eligible for advertisement. You +// can view the association with DescribeByoipCidrs (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeByoipCidrs.html). +// You can advertise the CIDR with AdvertiseByoipCidr (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AdvertiseByoipCidr.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 Elastic Compute Cloud's +// API operation AssociateIpamByoasn for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIpamByoasn +func (c *EC2) AssociateIpamByoasn(input *AssociateIpamByoasnInput) (*AssociateIpamByoasnOutput, error) { + req, out := c.AssociateIpamByoasnRequest(input) + return out, req.Send() +} + +// AssociateIpamByoasnWithContext is the same as AssociateIpamByoasn with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateIpamByoasn for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) AssociateIpamByoasnWithContext(ctx aws.Context, input *AssociateIpamByoasnInput, opts ...request.Option) (*AssociateIpamByoasnOutput, error) { + req, out := c.AssociateIpamByoasnRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAssociateIpamResourceDiscovery = "AssociateIpamResourceDiscovery" // AssociateIpamResourceDiscoveryRequest generates a "aws/request.Request" representing the @@ -2010,8 +2090,7 @@ func (c *EC2) AssociateSubnetCidrBlockRequest(input *AssociateSubnetCidrBlockInp // AssociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud. // // Associates a CIDR block with your subnet. You can only associate a single -// IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length -// of /64. +// IPv6 CIDR block with your subnet. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2310,9 +2389,6 @@ func (c *EC2) AssociateTrunkInterfaceRequest(input *AssociateTrunkInterfaceInput // AssociateTrunkInterface API operation for Amazon Elastic Compute Cloud. // -// This API action is currently in limited preview only. If you are interested -// in using this feature, contact your account manager. -// // Associates a branch network interface with a trunk network interface. // // Before you create the association, run the create-network-interface (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html) @@ -2395,7 +2471,6 @@ func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (r // CIDR block, an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from // an IPv6 address pool that you provisioned through bring your own IP addresses // (BYOIP (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)). -// The IPv6 CIDR block size is fixed at /56. // // You must specify one of the following in the request: an IPv4 CIDR block, // an IPv6 pool, or an Amazon-provided IPv6 CIDR block. @@ -8621,8 +8696,7 @@ func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Reques // not available for your use. // // If you've associated an IPv6 CIDR block with your VPC, you can associate -// an IPv6 CIDR block with a subnet when you create it. The allowed block size -// for an IPv6 subnet is a /64 netmask. +// an IPv6 CIDR block with a subnet when you create it. // // If you add more than one subnet to a VPC, they're set up in a star topology // with a logical router in the middle. @@ -10442,8 +10516,8 @@ func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, out // in the Amazon VPC User Guide. // // You can optionally request an IPv6 CIDR block for the VPC. You can request -// an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses, -// or an IPv6 CIDR block from an IPv6 address pool that you provisioned through +// an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses or +// an IPv6 CIDR block from an IPv6 address pool that you provisioned through // bring your own IP addresses (BYOIP (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)). // // By default, each instance that you launch in the VPC has the default DHCP @@ -16734,6 +16808,84 @@ func (c *EC2) DeprovisionByoipCidrWithContext(ctx aws.Context, input *Deprovisio return out, req.Send() } +const opDeprovisionIpamByoasn = "DeprovisionIpamByoasn" + +// DeprovisionIpamByoasnRequest generates a "aws/request.Request" representing the +// client's request for the DeprovisionIpamByoasn operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeprovisionIpamByoasn for more information on using the DeprovisionIpamByoasn +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeprovisionIpamByoasnRequest method. +// req, resp := client.DeprovisionIpamByoasnRequest(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/DeprovisionIpamByoasn +func (c *EC2) DeprovisionIpamByoasnRequest(input *DeprovisionIpamByoasnInput) (req *request.Request, output *DeprovisionIpamByoasnOutput) { + op := &request.Operation{ + Name: opDeprovisionIpamByoasn, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeprovisionIpamByoasnInput{} + } + + output = &DeprovisionIpamByoasnOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeprovisionIpamByoasn API operation for Amazon Elastic Compute Cloud. +// +// Deprovisions your Autonomous System Number (ASN) from your Amazon Web Services +// account. This action can only be called after any BYOIP CIDR associations +// are removed from your Amazon Web Services account with DisassociateIpamByoasn +// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisassociateIpamByoasn.html). +// For more information, see Tutorial: Bring your ASN to IPAM (https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-byoasn.html) +// in the Amazon VPC IPAM guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DeprovisionIpamByoasn for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionIpamByoasn +func (c *EC2) DeprovisionIpamByoasn(input *DeprovisionIpamByoasnInput) (*DeprovisionIpamByoasnOutput, error) { + req, out := c.DeprovisionIpamByoasnRequest(input) + return out, req.Send() +} + +// DeprovisionIpamByoasnWithContext is the same as DeprovisionIpamByoasn with the addition of +// the ability to pass a context and additional request options. +// +// See DeprovisionIpamByoasn for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) DeprovisionIpamByoasnWithContext(ctx aws.Context, input *DeprovisionIpamByoasnInput, opts ...request.Option) (*DeprovisionIpamByoasnOutput, error) { + req, out := c.DeprovisionIpamByoasnRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeprovisionIpamPoolCidr = "DeprovisionIpamPoolCidr" // DeprovisionIpamPoolCidrRequest generates a "aws/request.Request" representing the @@ -23762,6 +23914,82 @@ func (c *EC2) DescribeInternetGatewaysPagesWithContext(ctx aws.Context, input *D return p.Err() } +const opDescribeIpamByoasn = "DescribeIpamByoasn" + +// DescribeIpamByoasnRequest generates a "aws/request.Request" representing the +// client's request for the DescribeIpamByoasn operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeIpamByoasn for more information on using the DescribeIpamByoasn +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeIpamByoasnRequest method. +// req, resp := client.DescribeIpamByoasnRequest(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/DescribeIpamByoasn +func (c *EC2) DescribeIpamByoasnRequest(input *DescribeIpamByoasnInput) (req *request.Request, output *DescribeIpamByoasnOutput) { + op := &request.Operation{ + Name: opDescribeIpamByoasn, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeIpamByoasnInput{} + } + + output = &DescribeIpamByoasnOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeIpamByoasn API operation for Amazon Elastic Compute Cloud. +// +// Describes your Autonomous System Numbers (ASNs), their provisioning statuses, +// and the BYOIP CIDRs with which they are associated. For more information, +// see Tutorial: Bring your ASN to IPAM (https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-byoasn.html) +// in the Amazon VPC IPAM guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeIpamByoasn for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpamByoasn +func (c *EC2) DescribeIpamByoasn(input *DescribeIpamByoasnInput) (*DescribeIpamByoasnOutput, error) { + req, out := c.DescribeIpamByoasnRequest(input) + return out, req.Send() +} + +// DescribeIpamByoasnWithContext is the same as DescribeIpamByoasn with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeIpamByoasn for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) DescribeIpamByoasnWithContext(ctx aws.Context, input *DescribeIpamByoasnInput, opts ...request.Option) (*DescribeIpamByoasnOutput, error) { + req, out := c.DescribeIpamByoasnRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeIpamPools = "DescribeIpamPools" // DescribeIpamPoolsRequest generates a "aws/request.Request" representing the @@ -32335,9 +32563,6 @@ func (c *EC2) DescribeTrunkInterfaceAssociationsRequest(input *DescribeTrunkInte // DescribeTrunkInterfaceAssociations API operation for Amazon Elastic Compute Cloud. // -// This API action is currently in limited preview only. If you are interested -// in using this feature, contact your account manager. -// // Describes one or more network interface trunk associations. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -37047,6 +37272,83 @@ func (c *EC2) DisassociateInstanceEventWindowWithContext(ctx aws.Context, input return out, req.Send() } +const opDisassociateIpamByoasn = "DisassociateIpamByoasn" + +// DisassociateIpamByoasnRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateIpamByoasn operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisassociateIpamByoasn for more information on using the DisassociateIpamByoasn +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DisassociateIpamByoasnRequest method. +// req, resp := client.DisassociateIpamByoasnRequest(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/DisassociateIpamByoasn +func (c *EC2) DisassociateIpamByoasnRequest(input *DisassociateIpamByoasnInput) (req *request.Request, output *DisassociateIpamByoasnOutput) { + op := &request.Operation{ + Name: opDisassociateIpamByoasn, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateIpamByoasnInput{} + } + + output = &DisassociateIpamByoasnOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateIpamByoasn API operation for Amazon Elastic Compute Cloud. +// +// Remove the association between your Autonomous System Number (ASN) and your +// BYOIP CIDR. You may want to use this action to disassociate an ASN from a +// CIDR or if you want to swap ASNs. For more information, see Tutorial: Bring +// your ASN to IPAM (https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-byoasn.html) +// in the Amazon VPC IPAM guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DisassociateIpamByoasn for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIpamByoasn +func (c *EC2) DisassociateIpamByoasn(input *DisassociateIpamByoasnInput) (*DisassociateIpamByoasnOutput, error) { + req, out := c.DisassociateIpamByoasnRequest(input) + return out, req.Send() +} + +// DisassociateIpamByoasnWithContext is the same as DisassociateIpamByoasn with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateIpamByoasn for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) DisassociateIpamByoasnWithContext(ctx aws.Context, input *DisassociateIpamByoasnInput, opts ...request.Option) (*DisassociateIpamByoasnOutput, error) { + req, out := c.DisassociateIpamByoasnRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDisassociateIpamResourceDiscovery = "DisassociateIpamResourceDiscovery" // DisassociateIpamResourceDiscoveryRequest generates a "aws/request.Request" representing the @@ -37624,9 +37926,6 @@ func (c *EC2) DisassociateTrunkInterfaceRequest(input *DisassociateTrunkInterfac // DisassociateTrunkInterface API operation for Amazon Elastic Compute Cloud. // -// This API action is currently in limited preview only. If you are interested -// in using this feature, contact your account manager. -// // Removes an association between a branch network interface with a trunk network // interface. // @@ -41138,6 +41437,79 @@ func (c *EC2) GetIpamDiscoveredAccountsPagesWithContext(ctx aws.Context, input * return p.Err() } +const opGetIpamDiscoveredPublicAddresses = "GetIpamDiscoveredPublicAddresses" + +// GetIpamDiscoveredPublicAddressesRequest generates a "aws/request.Request" representing the +// client's request for the GetIpamDiscoveredPublicAddresses operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetIpamDiscoveredPublicAddresses for more information on using the GetIpamDiscoveredPublicAddresses +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetIpamDiscoveredPublicAddressesRequest method. +// req, resp := client.GetIpamDiscoveredPublicAddressesRequest(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/GetIpamDiscoveredPublicAddresses +func (c *EC2) GetIpamDiscoveredPublicAddressesRequest(input *GetIpamDiscoveredPublicAddressesInput) (req *request.Request, output *GetIpamDiscoveredPublicAddressesOutput) { + op := &request.Operation{ + Name: opGetIpamDiscoveredPublicAddresses, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetIpamDiscoveredPublicAddressesInput{} + } + + output = &GetIpamDiscoveredPublicAddressesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetIpamDiscoveredPublicAddresses API operation for Amazon Elastic Compute Cloud. +// +// Gets the public IP addresses that have been discovered by IPAM. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type 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 GetIpamDiscoveredPublicAddresses for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetIpamDiscoveredPublicAddresses +func (c *EC2) GetIpamDiscoveredPublicAddresses(input *GetIpamDiscoveredPublicAddressesInput) (*GetIpamDiscoveredPublicAddressesOutput, error) { + req, out := c.GetIpamDiscoveredPublicAddressesRequest(input) + return out, req.Send() +} + +// GetIpamDiscoveredPublicAddressesWithContext is the same as GetIpamDiscoveredPublicAddresses with the addition of +// the ability to pass a context and additional request options. +// +// See GetIpamDiscoveredPublicAddresses for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) GetIpamDiscoveredPublicAddressesWithContext(ctx aws.Context, input *GetIpamDiscoveredPublicAddressesInput, opts ...request.Option) (*GetIpamDiscoveredPublicAddressesOutput, error) { + req, out := c.GetIpamDiscoveredPublicAddressesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetIpamDiscoveredResourceCidrs = "GetIpamDiscoveredResourceCidrs" // GetIpamDiscoveredResourceCidrsRequest generates a "aws/request.Request" representing the @@ -50453,6 +50825,83 @@ func (c *EC2) ProvisionByoipCidrWithContext(ctx aws.Context, input *ProvisionByo return out, req.Send() } +const opProvisionIpamByoasn = "ProvisionIpamByoasn" + +// ProvisionIpamByoasnRequest generates a "aws/request.Request" representing the +// client's request for the ProvisionIpamByoasn operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ProvisionIpamByoasn for more information on using the ProvisionIpamByoasn +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ProvisionIpamByoasnRequest method. +// req, resp := client.ProvisionIpamByoasnRequest(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/ProvisionIpamByoasn +func (c *EC2) ProvisionIpamByoasnRequest(input *ProvisionIpamByoasnInput) (req *request.Request, output *ProvisionIpamByoasnOutput) { + op := &request.Operation{ + Name: opProvisionIpamByoasn, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ProvisionIpamByoasnInput{} + } + + output = &ProvisionIpamByoasnOutput{} + req = c.newRequest(op, input, output) + return +} + +// ProvisionIpamByoasn API operation for Amazon Elastic Compute Cloud. +// +// Provisions your Autonomous System Number (ASN) for use in your Amazon Web +// Services account. This action requires authorization context for Amazon to +// bring the ASN to an Amazon Web Services account. For more information, see +// Tutorial: Bring your ASN to IPAM (https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-byoasn.html) +// in the Amazon VPC IPAM guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ProvisionIpamByoasn for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionIpamByoasn +func (c *EC2) ProvisionIpamByoasn(input *ProvisionIpamByoasnInput) (*ProvisionIpamByoasnOutput, error) { + req, out := c.ProvisionIpamByoasnRequest(input) + return out, req.Send() +} + +// ProvisionIpamByoasnWithContext is the same as ProvisionIpamByoasn with the addition of +// the ability to pass a context and additional request options. +// +// See ProvisionIpamByoasn for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the 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) ProvisionIpamByoasnWithContext(ctx aws.Context, input *ProvisionIpamByoasnInput, opts ...request.Option) (*ProvisionIpamByoasnOutput, error) { + req, out := c.ProvisionIpamByoasnRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opProvisionIpamPoolCidr = "ProvisionIpamPoolCidr" // ProvisionIpamPoolCidrRequest generates a "aws/request.Request" representing the @@ -57562,6 +58011,9 @@ func (s *AddressTransfer) SetTransferOfferExpirationTimestamp(v time.Time) *Addr type AdvertiseByoipCidrInput struct { _ struct{} `type:"structure"` + // The public 2-byte or 4-byte ASN that you want to advertise. + Asn *string `type:"string"` + // The address range, in CIDR notation. This must be the exact range that you // provisioned. You can't advertise only a portion of the provisioned range. // @@ -57606,6 +58058,12 @@ func (s *AdvertiseByoipCidrInput) Validate() error { return nil } +// SetAsn sets the Asn field's value. +func (s *AdvertiseByoipCidrInput) SetAsn(v string) *AdvertiseByoipCidrInput { + s.Asn = &v + return s +} + // SetCidr sets the Cidr field's value. func (s *AdvertiseByoipCidrInput) SetCidr(v string) *AdvertiseByoipCidrInput { s.Cidr = &v @@ -58060,6 +58518,10 @@ func (s *AllocateHostsOutput) SetHostIds(v []*string) *AllocateHostsOutput { type AllocateIpamPoolCidrInput struct { _ struct{} `type:"structure"` + // Include a particular CIDR range that can be returned by the pool. Allowed + // CIDRs are only allowed if using netmask length for allocation. + AllowedCidrs []*string `locationName:"AllowedCidr" locationNameList:"item" type:"list"` + // The CIDR you would like to allocate from the IPAM pool. Note the following: // // * If there is no DefaultNetmaskLength allocation rule set on the pool, @@ -58143,6 +58605,12 @@ func (s *AllocateIpamPoolCidrInput) Validate() error { return nil } +// SetAllowedCidrs sets the AllowedCidrs field's value. +func (s *AllocateIpamPoolCidrInput) SetAllowedCidrs(v []*string) *AllocateIpamPoolCidrInput { + s.AllowedCidrs = v + return s +} + // SetCidr sets the Cidr field's value. func (s *AllocateIpamPoolCidrInput) SetCidr(v string) *AllocateIpamPoolCidrInput { s.Cidr = &v @@ -58987,6 +59455,130 @@ func (s *ApplySecurityGroupsToClientVpnTargetNetworkOutput) SetSecurityGroupIds( return s } +// An Autonomous System Number (ASN) and BYOIP CIDR association. +type AsnAssociation struct { + _ struct{} `type:"structure"` + + // The association's ASN. + Asn *string `locationName:"asn" type:"string"` + + // The association's CIDR. + Cidr *string `locationName:"cidr" type:"string"` + + // The association's state. + State *string `locationName:"state" type:"string" enum:"AsnAssociationState"` + + // The association's status message. + StatusMessage *string `locationName:"statusMessage" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AsnAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AsnAssociation) GoString() string { + return s.String() +} + +// SetAsn sets the Asn field's value. +func (s *AsnAssociation) SetAsn(v string) *AsnAssociation { + s.Asn = &v + return s +} + +// SetCidr sets the Cidr field's value. +func (s *AsnAssociation) SetCidr(v string) *AsnAssociation { + s.Cidr = &v + return s +} + +// SetState sets the State field's value. +func (s *AsnAssociation) SetState(v string) *AsnAssociation { + s.State = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *AsnAssociation) SetStatusMessage(v string) *AsnAssociation { + s.StatusMessage = &v + return s +} + +// Provides authorization for Amazon to bring an Autonomous System Number (ASN) +// to a specific Amazon Web Services account using bring your own ASN (BYOASN). +// For details on the format of the message and signature, see Tutorial: Bring +// your ASN to IPAM (https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-byoasn.html) +// in the Amazon VPC IPAM guide. +type AsnAuthorizationContext struct { + _ struct{} `type:"structure"` + + // The authorization context's message. + // + // Message is a required field + Message *string `type:"string" required:"true"` + + // The authorization context's signature. + // + // Signature is a required field + Signature *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AsnAuthorizationContext) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AsnAuthorizationContext) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AsnAuthorizationContext) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AsnAuthorizationContext"} + if s.Message == nil { + invalidParams.Add(request.NewErrParamRequired("Message")) + } + if s.Signature == nil { + invalidParams.Add(request.NewErrParamRequired("Signature")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMessage sets the Message field's value. +func (s *AsnAuthorizationContext) SetMessage(v string) *AsnAuthorizationContext { + s.Message = &v + return s +} + +// SetSignature sets the Signature field's value. +func (s *AsnAuthorizationContext) SetSignature(v string) *AsnAuthorizationContext { + s.Signature = &v + return s +} + type AssignIpv6AddressesInput struct { _ struct{} `type:"structure"` @@ -60093,6 +60685,109 @@ func (s *AssociateInstanceEventWindowOutput) SetInstanceEventWindow(v *InstanceE return s } +type AssociateIpamByoasnInput struct { + _ struct{} `type:"structure"` + + // A public 2-byte or 4-byte ASN. + // + // Asn is a required field + Asn *string `type:"string" required:"true"` + + // The BYOIP CIDR you want to associate with an ASN. + // + // Cidr is a required field + Cidr *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"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateIpamByoasnInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateIpamByoasnInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateIpamByoasnInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateIpamByoasnInput"} + if s.Asn == nil { + invalidParams.Add(request.NewErrParamRequired("Asn")) + } + if s.Cidr == nil { + invalidParams.Add(request.NewErrParamRequired("Cidr")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAsn sets the Asn field's value. +func (s *AssociateIpamByoasnInput) SetAsn(v string) *AssociateIpamByoasnInput { + s.Asn = &v + return s +} + +// SetCidr sets the Cidr field's value. +func (s *AssociateIpamByoasnInput) SetCidr(v string) *AssociateIpamByoasnInput { + s.Cidr = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *AssociateIpamByoasnInput) SetDryRun(v bool) *AssociateIpamByoasnInput { + s.DryRun = &v + return s +} + +type AssociateIpamByoasnOutput struct { + _ struct{} `type:"structure"` + + // The ASN and BYOIP CIDR association. + AsnAssociation *AsnAssociation `locationName:"asnAssociation" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateIpamByoasnOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateIpamByoasnOutput) GoString() string { + return s.String() +} + +// SetAsnAssociation sets the AsnAssociation field's value. +func (s *AssociateIpamByoasnOutput) SetAsnAssociation(v *AsnAssociation) *AssociateIpamByoasnOutput { + s.AsnAssociation = v + return s +} + type AssociateIpamResourceDiscoveryInput struct { _ struct{} `type:"structure"` @@ -60456,10 +61151,14 @@ func (s *AssociateRouteTableOutput) SetAssociationState(v *RouteTableAssociation type AssociateSubnetCidrBlockInput struct { _ struct{} `type:"structure"` - // The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length. - // - // Ipv6CidrBlock is a required field - Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string" required:"true"` + // The IPv6 CIDR block for your subnet. + Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"` + + // An IPv6 IPAM pool ID. + Ipv6IpamPoolId *string `type:"string"` + + // An IPv6 netmask length. + Ipv6NetmaskLength *int64 `type:"integer"` // The ID of your subnet. // @@ -60488,9 +61187,6 @@ func (s AssociateSubnetCidrBlockInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *AssociateSubnetCidrBlockInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AssociateSubnetCidrBlockInput"} - if s.Ipv6CidrBlock == nil { - invalidParams.Add(request.NewErrParamRequired("Ipv6CidrBlock")) - } if s.SubnetId == nil { invalidParams.Add(request.NewErrParamRequired("SubnetId")) } @@ -60507,6 +61203,18 @@ func (s *AssociateSubnetCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateSub return s } +// SetIpv6IpamPoolId sets the Ipv6IpamPoolId field's value. +func (s *AssociateSubnetCidrBlockInput) SetIpv6IpamPoolId(v string) *AssociateSubnetCidrBlockInput { + s.Ipv6IpamPoolId = &v + return s +} + +// SetIpv6NetmaskLength sets the Ipv6NetmaskLength field's value. +func (s *AssociateSubnetCidrBlockInput) SetIpv6NetmaskLength(v int64) *AssociateSubnetCidrBlockInput { + s.Ipv6NetmaskLength = &v + return s +} + // SetSubnetId sets the SubnetId field's value. func (s *AssociateSubnetCidrBlockInput) SetSubnetId(v string) *AssociateSubnetCidrBlockInput { s.SubnetId = &v @@ -61025,7 +61733,7 @@ type AssociateVpcCidrBlockInput struct { _ struct{} `type:"structure"` // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for - // the VPC. You cannot specify the range of IPv6 addresses, or the size of the + // the VPC. You cannot specify the range of IPv6 addresses or the size of the // CIDR block. AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"` @@ -63527,11 +64235,73 @@ func (s *BundleTaskError) SetMessage(v string) *BundleTaskError { return s } +// The Autonomous System Number (ASN) and BYOIP CIDR association. +type Byoasn struct { + _ struct{} `type:"structure"` + + // A public 2-byte or 4-byte ASN. + Asn *string `locationName:"asn" type:"string"` + + // An IPAM ID. + IpamId *string `locationName:"ipamId" type:"string"` + + // The provisioning state of the BYOASN. + State *string `locationName:"state" type:"string" enum:"AsnState"` + + // The status message. + StatusMessage *string `locationName:"statusMessage" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Byoasn) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Byoasn) GoString() string { + return s.String() +} + +// SetAsn sets the Asn field's value. +func (s *Byoasn) SetAsn(v string) *Byoasn { + s.Asn = &v + return s +} + +// SetIpamId sets the IpamId field's value. +func (s *Byoasn) SetIpamId(v string) *Byoasn { + s.IpamId = &v + return s +} + +// SetState sets the State field's value. +func (s *Byoasn) SetState(v string) *Byoasn { + s.State = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *Byoasn) SetStatusMessage(v string) *Byoasn { + s.StatusMessage = &v + return s +} + // Information about an address range that is provisioned for use with your // Amazon Web Services resources through bring your own IP addresses (BYOIP). type ByoipCidr struct { _ struct{} `type:"structure"` + // The BYOIP CIDR associations with ASNs. + AsnAssociations []*AsnAssociation `locationName:"asnAssociationSet" locationNameList:"item" type:"list"` + // The address range, in CIDR notation. Cidr *string `locationName:"cidr" type:"string"` @@ -63564,6 +64334,12 @@ func (s ByoipCidr) GoString() string { return s.String() } +// SetAsnAssociations sets the AsnAssociations field's value. +func (s *ByoipCidr) SetAsnAssociations(v []*AsnAssociation) *ByoipCidr { + s.AsnAssociations = v + return s +} + // SetCidr sets the Cidr field's value. func (s *ByoipCidr) SetCidr(v string) *ByoipCidr { s.Cidr = &v @@ -67867,6 +68643,242 @@ func (s *ConnectionNotification) SetVpcEndpointId(v string) *ConnectionNotificat return s } +// A security group connection tracking configuration that enables you to set +// the idle timeout for connection tracking on an Elastic network interface. +// For more information, see Connection tracking timeouts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) +// in the Amazon Elastic Compute Cloud User Guide. +type ConnectionTrackingConfiguration struct { + _ struct{} `type:"structure"` + + // Timeout (in seconds) for idle TCP connections in an established state. Min: + // 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: + // Less than 432000 seconds. + TcpEstablishedTimeout *int64 `locationName:"tcpEstablishedTimeout" type:"integer"` + + // Timeout (in seconds) for idle UDP flows classified as streams which have + // seen more than one request-response transaction. Min: 60 seconds. Max: 180 + // seconds (3 minutes). Default: 180 seconds. + UdpStreamTimeout *int64 `locationName:"udpStreamTimeout" type:"integer"` + + // Timeout (in seconds) for idle UDP flows that have seen traffic only in a + // single direction or a single request-response transaction. Min: 30 seconds. + // Max: 60 seconds. Default: 30 seconds. + UdpTimeout *int64 `locationName:"udpTimeout" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectionTrackingConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectionTrackingConfiguration) GoString() string { + return s.String() +} + +// SetTcpEstablishedTimeout sets the TcpEstablishedTimeout field's value. +func (s *ConnectionTrackingConfiguration) SetTcpEstablishedTimeout(v int64) *ConnectionTrackingConfiguration { + s.TcpEstablishedTimeout = &v + return s +} + +// SetUdpStreamTimeout sets the UdpStreamTimeout field's value. +func (s *ConnectionTrackingConfiguration) SetUdpStreamTimeout(v int64) *ConnectionTrackingConfiguration { + s.UdpStreamTimeout = &v + return s +} + +// SetUdpTimeout sets the UdpTimeout field's value. +func (s *ConnectionTrackingConfiguration) SetUdpTimeout(v int64) *ConnectionTrackingConfiguration { + s.UdpTimeout = &v + return s +} + +// A security group connection tracking specification that enables you to set +// the idle timeout for connection tracking on an Elastic network interface. +// For more information, see Connection tracking timeouts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) +// in the Amazon Elastic Compute Cloud User Guide. +type ConnectionTrackingSpecification struct { + _ struct{} `type:"structure"` + + // Timeout (in seconds) for idle TCP connections in an established state. Min: + // 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: + // Less than 432000 seconds. + TcpEstablishedTimeout *int64 `locationName:"tcpEstablishedTimeout" type:"integer"` + + // Timeout (in seconds) for idle UDP flows classified as streams which have + // seen more than one request-response transaction. Min: 60 seconds. Max: 180 + // seconds (3 minutes). Default: 180 seconds. + UdpStreamTimeout *int64 `locationName:"udpStreamTimeout" type:"integer"` + + // Timeout (in seconds) for idle UDP flows that have seen traffic only in a + // single direction or a single request-response transaction. Min: 30 seconds. + // Max: 60 seconds. Default: 30 seconds. + UdpTimeout *int64 `locationName:"udpTimeout" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectionTrackingSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectionTrackingSpecification) GoString() string { + return s.String() +} + +// SetTcpEstablishedTimeout sets the TcpEstablishedTimeout field's value. +func (s *ConnectionTrackingSpecification) SetTcpEstablishedTimeout(v int64) *ConnectionTrackingSpecification { + s.TcpEstablishedTimeout = &v + return s +} + +// SetUdpStreamTimeout sets the UdpStreamTimeout field's value. +func (s *ConnectionTrackingSpecification) SetUdpStreamTimeout(v int64) *ConnectionTrackingSpecification { + s.UdpStreamTimeout = &v + return s +} + +// SetUdpTimeout sets the UdpTimeout field's value. +func (s *ConnectionTrackingSpecification) SetUdpTimeout(v int64) *ConnectionTrackingSpecification { + s.UdpTimeout = &v + return s +} + +// A security group connection tracking specification request that enables you +// to set the idle timeout for connection tracking on an Elastic network interface. +// For more information, see Connection tracking timeouts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) +// in the Amazon Elastic Compute Cloud User Guide. +type ConnectionTrackingSpecificationRequest struct { + _ struct{} `type:"structure"` + + // Timeout (in seconds) for idle TCP connections in an established state. Min: + // 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: + // Less than 432000 seconds. + TcpEstablishedTimeout *int64 `type:"integer"` + + // Timeout (in seconds) for idle UDP flows classified as streams which have + // seen more than one request-response transaction. Min: 60 seconds. Max: 180 + // seconds (3 minutes). Default: 180 seconds. + UdpStreamTimeout *int64 `type:"integer"` + + // Timeout (in seconds) for idle UDP flows that have seen traffic only in a + // single direction or a single request-response transaction. Min: 30 seconds. + // Max: 60 seconds. Default: 30 seconds. + UdpTimeout *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectionTrackingSpecificationRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectionTrackingSpecificationRequest) GoString() string { + return s.String() +} + +// SetTcpEstablishedTimeout sets the TcpEstablishedTimeout field's value. +func (s *ConnectionTrackingSpecificationRequest) SetTcpEstablishedTimeout(v int64) *ConnectionTrackingSpecificationRequest { + s.TcpEstablishedTimeout = &v + return s +} + +// SetUdpStreamTimeout sets the UdpStreamTimeout field's value. +func (s *ConnectionTrackingSpecificationRequest) SetUdpStreamTimeout(v int64) *ConnectionTrackingSpecificationRequest { + s.UdpStreamTimeout = &v + return s +} + +// SetUdpTimeout sets the UdpTimeout field's value. +func (s *ConnectionTrackingSpecificationRequest) SetUdpTimeout(v int64) *ConnectionTrackingSpecificationRequest { + s.UdpTimeout = &v + return s +} + +// A security group connection tracking specification response that enables +// you to set the idle timeout for connection tracking on an Elastic network +// interface. For more information, see Connection tracking timeouts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) +// in the Amazon Elastic Compute Cloud User Guide. +type ConnectionTrackingSpecificationResponse struct { + _ struct{} `type:"structure"` + + // Timeout (in seconds) for idle TCP connections in an established state. Min: + // 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: + // Less than 432000 seconds. + TcpEstablishedTimeout *int64 `locationName:"tcpEstablishedTimeout" type:"integer"` + + // Timeout (in seconds) for idle UDP flows classified as streams which have + // seen more than one request-response transaction. Min: 60 seconds. Max: 180 + // seconds (3 minutes). Default: 180 seconds. + UdpStreamTimeout *int64 `locationName:"udpStreamTimeout" type:"integer"` + + // Timeout (in seconds) for idle UDP flows that have seen traffic only in a + // single direction or a single request-response transaction. Min: 30 seconds. + // Max: 60 seconds. Default: 30 seconds. + UdpTimeout *int64 `locationName:"udpTimeout" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectionTrackingSpecificationResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectionTrackingSpecificationResponse) GoString() string { + return s.String() +} + +// SetTcpEstablishedTimeout sets the TcpEstablishedTimeout field's value. +func (s *ConnectionTrackingSpecificationResponse) SetTcpEstablishedTimeout(v int64) *ConnectionTrackingSpecificationResponse { + s.TcpEstablishedTimeout = &v + return s +} + +// SetUdpStreamTimeout sets the UdpStreamTimeout field's value. +func (s *ConnectionTrackingSpecificationResponse) SetUdpStreamTimeout(v int64) *ConnectionTrackingSpecificationResponse { + s.UdpStreamTimeout = &v + return s +} + +// SetUdpTimeout sets the UdpTimeout field's value. +func (s *ConnectionTrackingSpecificationResponse) SetUdpTimeout(v int64) *ConnectionTrackingSpecificationResponse { + s.UdpTimeout = &v + return s +} + // Describes a conversion task. type ConversionTask struct { _ struct{} `type:"structure"` @@ -72008,6 +73020,11 @@ type CreateIpamInput struct { // to find all resources that have a tag with the key Owner and the value TeamA, // specify tag:Owner for the filter name and TeamA for the filter value. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + + // IPAM is offered in a Free Tier and an Advanced Tier. For more information + // about the features available in each tier and the costs associated with the + // tiers, see Amazon VPC pricing > IPAM tab (http://aws.amazon.com/vpc/pricing/). + Tier *string `type:"string" enum:"IpamTier"` } // String returns the string representation. @@ -72058,6 +73075,12 @@ func (s *CreateIpamInput) SetTagSpecifications(v []*TagSpecification) *CreateIpa return s } +// SetTier sets the Tier field's value. +func (s *CreateIpamInput) SetTier(v string) *CreateIpamInput { + s.Tier = &v + return s +} + type CreateIpamOutput struct { _ struct{} `type:"structure"` @@ -72187,6 +73210,9 @@ type CreateIpamPoolInput struct { // pool must be available in the source pool's CIDR range. SourceIpamPoolId *string `type:"string"` + // The resource used to provision CIDRs to a resource planning pool. + SourceResource *IpamPoolSourceResourceRequest `type:"structure"` + // The key/value combination of a tag assigned to the resource. Use the tag // key in the filter name and the tag value as the filter value. For example, // to find all resources that have a tag with the key Owner and the value TeamA, @@ -72318,6 +73344,12 @@ func (s *CreateIpamPoolInput) SetSourceIpamPoolId(v string) *CreateIpamPoolInput return s } +// SetSourceResource sets the SourceResource field's value. +func (s *CreateIpamPoolInput) SetSourceResource(v *IpamPoolSourceResourceRequest) *CreateIpamPoolInput { + s.SourceResource = v + return s +} + // SetTagSpecifications sets the TagSpecifications field's value. func (s *CreateIpamPoolInput) SetTagSpecifications(v []*TagSpecification) *CreateIpamPoolInput { s.TagSpecifications = v @@ -74480,6 +75512,9 @@ type CreateNetworkInterfaceInput struct { // of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `type:"string" idempotencyToken:"true"` + // A connection tracking specification for the network interface. + ConnectionTrackingSpecification *ConnectionTrackingSpecificationRequest `type:"structure"` + // A description for the network interface. Description *string `locationName:"description" type:"string"` @@ -74629,6 +75664,12 @@ func (s *CreateNetworkInterfaceInput) SetClientToken(v string) *CreateNetworkInt return s } +// SetConnectionTrackingSpecification sets the ConnectionTrackingSpecification field's value. +func (s *CreateNetworkInterfaceInput) SetConnectionTrackingSpecification(v *ConnectionTrackingSpecificationRequest) *CreateNetworkInterfaceInput { + s.ConnectionTrackingSpecification = v + return s +} + // SetDescription sets the Description field's value. func (s *CreateNetworkInterfaceInput) SetDescription(v string) *CreateNetworkInterfaceInput { s.Description = &v @@ -76589,15 +77630,25 @@ type CreateSubnetInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // The IPv6 network range for the subnet, in CIDR notation. The subnet size - // must use a /64 prefix length. - // - // This parameter is required for an IPv6 only subnet. + // An IPv4 IPAM pool ID for the subnet. + Ipv4IpamPoolId *string `type:"string"` + + // An IPv4 netmask length for the subnet. + Ipv4NetmaskLength *int64 `type:"integer"` + + // The IPv6 network range for the subnet, in CIDR notation. This parameter is + // required for an IPv6 only subnet. Ipv6CidrBlock *string `type:"string"` + // An IPv6 IPAM pool ID for the subnet. + Ipv6IpamPoolId *string `type:"string"` + // Indicates whether to create an IPv6 only subnet. Ipv6Native *bool `type:"boolean"` + // An IPv6 netmask length for the subnet. + Ipv6NetmaskLength *int64 `type:"integer"` + // The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost // ARN, you must also specify the Availability Zone of the Outpost subnet. OutpostArn *string `type:"string"` @@ -76666,18 +77717,42 @@ func (s *CreateSubnetInput) SetDryRun(v bool) *CreateSubnetInput { return s } +// SetIpv4IpamPoolId sets the Ipv4IpamPoolId field's value. +func (s *CreateSubnetInput) SetIpv4IpamPoolId(v string) *CreateSubnetInput { + s.Ipv4IpamPoolId = &v + return s +} + +// SetIpv4NetmaskLength sets the Ipv4NetmaskLength field's value. +func (s *CreateSubnetInput) SetIpv4NetmaskLength(v int64) *CreateSubnetInput { + s.Ipv4NetmaskLength = &v + return s +} + // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value. func (s *CreateSubnetInput) SetIpv6CidrBlock(v string) *CreateSubnetInput { s.Ipv6CidrBlock = &v return s } +// SetIpv6IpamPoolId sets the Ipv6IpamPoolId field's value. +func (s *CreateSubnetInput) SetIpv6IpamPoolId(v string) *CreateSubnetInput { + s.Ipv6IpamPoolId = &v + return s +} + // SetIpv6Native sets the Ipv6Native field's value. func (s *CreateSubnetInput) SetIpv6Native(v bool) *CreateSubnetInput { s.Ipv6Native = &v return s } +// SetIpv6NetmaskLength sets the Ipv6NetmaskLength field's value. +func (s *CreateSubnetInput) SetIpv6NetmaskLength(v int64) *CreateSubnetInput { + s.Ipv6NetmaskLength = &v + return s +} + // SetOutpostArn sets the OutpostArn field's value. func (s *CreateSubnetInput) SetOutpostArn(v string) *CreateSubnetInput { s.OutpostArn = &v @@ -83341,6 +84416,14 @@ func (s *DeleteIpamOutput) SetIpam(v *Ipam) *DeleteIpamOutput { type DeleteIpamPoolInput struct { _ struct{} `type:"structure"` + // Enables you to quickly delete an IPAM pool and all resources within that + // pool, including provisioned CIDRs, allocations, and other pools. + // + // You can only use this option to delete pools in the private scope or pools + // in the public scope with a source resource. A source resource is a resource + // used to provision CIDRs to a resource planning pool. + Cascade *bool `type:"boolean"` + // A check for 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 @@ -83384,6 +84467,12 @@ func (s *DeleteIpamPoolInput) Validate() error { return nil } +// SetCascade sets the Cascade field's value. +func (s *DeleteIpamPoolInput) SetCascade(v bool) *DeleteIpamPoolInput { + s.Cascade = &v + return s +} + // SetDryRun sets the DryRun field's value. func (s *DeleteIpamPoolInput) SetDryRun(v bool) *DeleteIpamPoolInput { s.DryRun = &v @@ -88912,6 +90001,109 @@ func (s *DeprovisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *DeprovisionByoi return s } +type DeprovisionIpamByoasnInput struct { + _ struct{} `type:"structure"` + + // An ASN. + // + // Asn is a required field + Asn *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 IPAM ID. + // + // IpamId is a required field + IpamId *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeprovisionIpamByoasnInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeprovisionIpamByoasnInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeprovisionIpamByoasnInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeprovisionIpamByoasnInput"} + if s.Asn == nil { + invalidParams.Add(request.NewErrParamRequired("Asn")) + } + if s.IpamId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAsn sets the Asn field's value. +func (s *DeprovisionIpamByoasnInput) SetAsn(v string) *DeprovisionIpamByoasnInput { + s.Asn = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DeprovisionIpamByoasnInput) SetDryRun(v bool) *DeprovisionIpamByoasnInput { + s.DryRun = &v + return s +} + +// SetIpamId sets the IpamId field's value. +func (s *DeprovisionIpamByoasnInput) SetIpamId(v string) *DeprovisionIpamByoasnInput { + s.IpamId = &v + return s +} + +type DeprovisionIpamByoasnOutput struct { + _ struct{} `type:"structure"` + + // An ASN and BYOIP CIDR association. + Byoasn *Byoasn `locationName:"byoasn" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeprovisionIpamByoasnOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeprovisionIpamByoasnOutput) GoString() string { + return s.String() +} + +// SetByoasn sets the Byoasn field's value. +func (s *DeprovisionIpamByoasnOutput) SetByoasn(v *Byoasn) *DeprovisionIpamByoasnOutput { + s.Byoasn = v + return s +} + type DeprovisionIpamPoolCidrInput struct { _ struct{} `type:"structure"` @@ -97940,6 +99132,113 @@ func (s *DescribeInternetGatewaysOutput) SetNextToken(v string) *DescribeInterne return s } +type DescribeIpamByoasnInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeIpamByoasnInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeIpamByoasnInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeIpamByoasnInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeIpamByoasnInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeIpamByoasnInput) SetDryRun(v bool) *DescribeIpamByoasnInput { + s.DryRun = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeIpamByoasnInput) SetMaxResults(v int64) *DescribeIpamByoasnInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeIpamByoasnInput) SetNextToken(v string) *DescribeIpamByoasnInput { + s.NextToken = &v + return s +} + +type DescribeIpamByoasnOutput struct { + _ struct{} `type:"structure"` + + // ASN and BYOIP CIDR associations. + Byoasns []*Byoasn `locationName:"byoasnSet" 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. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeIpamByoasnOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeIpamByoasnOutput) GoString() string { + return s.String() +} + +// SetByoasns sets the Byoasns field's value. +func (s *DescribeIpamByoasnOutput) SetByoasns(v []*Byoasn) *DescribeIpamByoasnOutput { + s.Byoasns = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeIpamByoasnOutput) SetNextToken(v string) *DescribeIpamByoasnOutput { + s.NextToken = &v + return s +} + type DescribeIpamPoolsInput struct { _ struct{} `type:"structure"` @@ -113895,6 +115194,109 @@ func (s *DisassociateInstanceEventWindowOutput) SetInstanceEventWindow(v *Instan return s } +type DisassociateIpamByoasnInput struct { + _ struct{} `type:"structure"` + + // A public 2-byte or 4-byte ASN. + // + // Asn is a required field + Asn *string `type:"string" required:"true"` + + // A BYOIP CIDR. + // + // Cidr is a required field + Cidr *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"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateIpamByoasnInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateIpamByoasnInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateIpamByoasnInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateIpamByoasnInput"} + if s.Asn == nil { + invalidParams.Add(request.NewErrParamRequired("Asn")) + } + if s.Cidr == nil { + invalidParams.Add(request.NewErrParamRequired("Cidr")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAsn sets the Asn field's value. +func (s *DisassociateIpamByoasnInput) SetAsn(v string) *DisassociateIpamByoasnInput { + s.Asn = &v + return s +} + +// SetCidr sets the Cidr field's value. +func (s *DisassociateIpamByoasnInput) SetCidr(v string) *DisassociateIpamByoasnInput { + s.Cidr = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DisassociateIpamByoasnInput) SetDryRun(v bool) *DisassociateIpamByoasnInput { + s.DryRun = &v + return s +} + +type DisassociateIpamByoasnOutput struct { + _ struct{} `type:"structure"` + + // An ASN and BYOIP CIDR association. + AsnAssociation *AsnAssociation `locationName:"asnAssociation" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateIpamByoasnOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateIpamByoasnOutput) GoString() string { + return s.String() +} + +// SetAsnAssociation sets the AsnAssociation field's value. +func (s *DisassociateIpamByoasnOutput) SetAsnAssociation(v *AsnAssociation) *DisassociateIpamByoasnOutput { + s.AsnAssociation = v + return s +} + type DisassociateIpamResourceDiscoveryInput struct { _ struct{} `type:"structure"` @@ -124617,6 +126019,159 @@ func (s *GetIpamDiscoveredAccountsOutput) SetNextToken(v string) *GetIpamDiscove return s } +type GetIpamDiscoveredPublicAddressesInput struct { + _ struct{} `type:"structure"` + + // The Amazon Web Services Region for the IP address. + // + // AddressRegion is a required field + AddressRegion *string `type:"string" required:"true"` + + // A check for 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"` + + // Filters. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // An IPAM resource discovery ID. + // + // IpamResourceDiscoveryId is a required field + IpamResourceDiscoveryId *string `type:"string" required:"true"` + + // The maximum number of IPAM discovered public addresses to return in one page + // of results. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetIpamDiscoveredPublicAddressesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetIpamDiscoveredPublicAddressesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIpamDiscoveredPublicAddressesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIpamDiscoveredPublicAddressesInput"} + if s.AddressRegion == nil { + invalidParams.Add(request.NewErrParamRequired("AddressRegion")) + } + if s.IpamResourceDiscoveryId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamResourceDiscoveryId")) + } + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddressRegion sets the AddressRegion field's value. +func (s *GetIpamDiscoveredPublicAddressesInput) SetAddressRegion(v string) *GetIpamDiscoveredPublicAddressesInput { + s.AddressRegion = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *GetIpamDiscoveredPublicAddressesInput) SetDryRun(v bool) *GetIpamDiscoveredPublicAddressesInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *GetIpamDiscoveredPublicAddressesInput) SetFilters(v []*Filter) *GetIpamDiscoveredPublicAddressesInput { + s.Filters = v + return s +} + +// SetIpamResourceDiscoveryId sets the IpamResourceDiscoveryId field's value. +func (s *GetIpamDiscoveredPublicAddressesInput) SetIpamResourceDiscoveryId(v string) *GetIpamDiscoveredPublicAddressesInput { + s.IpamResourceDiscoveryId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetIpamDiscoveredPublicAddressesInput) SetMaxResults(v int64) *GetIpamDiscoveredPublicAddressesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIpamDiscoveredPublicAddressesInput) SetNextToken(v string) *GetIpamDiscoveredPublicAddressesInput { + s.NextToken = &v + return s +} + +type GetIpamDiscoveredPublicAddressesOutput struct { + _ struct{} `type:"structure"` + + // IPAM discovered public addresses. + IpamDiscoveredPublicAddresses []*IpamDiscoveredPublicAddress `locationName:"ipamDiscoveredPublicAddressSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // The oldest successful resource discovery time. + OldestSampleTime *time.Time `locationName:"oldestSampleTime" type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetIpamDiscoveredPublicAddressesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetIpamDiscoveredPublicAddressesOutput) GoString() string { + return s.String() +} + +// SetIpamDiscoveredPublicAddresses sets the IpamDiscoveredPublicAddresses field's value. +func (s *GetIpamDiscoveredPublicAddressesOutput) SetIpamDiscoveredPublicAddresses(v []*IpamDiscoveredPublicAddress) *GetIpamDiscoveredPublicAddressesOutput { + s.IpamDiscoveredPublicAddresses = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetIpamDiscoveredPublicAddressesOutput) SetNextToken(v string) *GetIpamDiscoveredPublicAddressesOutput { + s.NextToken = &v + return s +} + +// SetOldestSampleTime sets the OldestSampleTime field's value. +func (s *GetIpamDiscoveredPublicAddressesOutput) SetOldestSampleTime(v time.Time) *GetIpamDiscoveredPublicAddressesOutput { + s.OldestSampleTime = &v + return s +} + type GetIpamDiscoveredResourceCidrsInput struct { _ struct{} `type:"structure"` @@ -131963,7 +133518,8 @@ type Instance struct { // The location where the instance launched, if applicable. Placement *Placement `locationName:"placement" type:"structure"` - // The value is Windows for Windows instances; otherwise blank. + // The platform. This value is windows for Windows instances; otherwise, it + // is empty. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"` // The platform details value for the instance. For more information, see AMI @@ -133799,6 +135355,12 @@ type InstanceNetworkInterface struct { // The network interface attachment. Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"` + // A security group connection tracking configuration that enables you to set + // the timeout for connection tracking on an Elastic network interface. For + // more information, see Connection tracking timeouts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) + // in the Amazon Elastic Compute Cloud User Guide. + ConnectionTrackingConfiguration *ConnectionTrackingSpecificationResponse `locationName:"connectionTrackingConfiguration" type:"structure"` + // The description. Description *string `locationName:"description" type:"string"` @@ -133880,6 +135442,12 @@ func (s *InstanceNetworkInterface) SetAttachment(v *InstanceNetworkInterfaceAtta return s } +// SetConnectionTrackingConfiguration sets the ConnectionTrackingConfiguration field's value. +func (s *InstanceNetworkInterface) SetConnectionTrackingConfiguration(v *ConnectionTrackingSpecificationResponse) *InstanceNetworkInterface { + s.ConnectionTrackingConfiguration = v + return s +} + // SetDescription sets the Description field's value. func (s *InstanceNetworkInterface) SetDescription(v string) *InstanceNetworkInterface { s.Description = &v @@ -134150,6 +135718,12 @@ type InstanceNetworkInterfaceSpecification struct { // launching into a default subnet, the default value is true. AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"` + // A security group connection tracking specification that enables you to set + // the timeout for connection tracking on an Elastic network interface. For + // more information, see Connection tracking timeouts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) + // in the Amazon Elastic Compute Cloud User Guide. + ConnectionTrackingSpecification *ConnectionTrackingSpecificationRequest `type:"structure"` + // If set to true, the interface is deleted when the instance is terminated. // You can specify true only if creating a new network interface when launching // an instance. @@ -134285,6 +135859,12 @@ func (s *InstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bo return s } +// SetConnectionTrackingSpecification sets the ConnectionTrackingSpecification field's value. +func (s *InstanceNetworkInterfaceSpecification) SetConnectionTrackingSpecification(v *ConnectionTrackingSpecificationRequest) *InstanceNetworkInterfaceSpecification { + s.ConnectionTrackingSpecification = v + return s +} + // SetDeleteOnTermination sets the DeleteOnTermination field's value. func (s *InstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceSpecification { s.DeleteOnTermination = &v @@ -136836,11 +138416,19 @@ type Ipam struct { // The state of the IPAM. State *string `locationName:"state" type:"string" enum:"IpamState"` + // The state message. + StateMessage *string `locationName:"stateMessage" type:"string"` + // The key/value combination of a tag assigned to the resource. Use the tag // key in the filter name and the tag value as the filter value. For example, // to find all resources that have a tag with the key Owner and the value TeamA, // specify tag:Owner for the filter name and TeamA for the filter value. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + + // IPAM is offered in a Free Tier and an Advanced Tier. For more information + // about the features available in each tier and the costs associated with the + // tiers, see Amazon VPC pricing > IPAM tab (http://aws.amazon.com/vpc/pricing/). + Tier *string `locationName:"tier" type:"string" enum:"IpamTier"` } // String returns the string representation. @@ -136939,12 +138527,24 @@ func (s *Ipam) SetState(v string) *Ipam { return s } +// SetStateMessage sets the StateMessage field's value. +func (s *Ipam) SetStateMessage(v string) *Ipam { + s.StateMessage = &v + return s +} + // SetTags sets the Tags field's value. func (s *Ipam) SetTags(v []*Tag) *Ipam { s.Tags = v return s } +// SetTier sets the Tier field's value. +func (s *Ipam) SetTier(v string) *Ipam { + s.Tier = &v + return s +} + // The historical record of a CIDR within an IPAM scope. For more information, // see View the history of IP addresses (https://docs.aws.amazon.com/vpc/latest/ipam/view-history-cidr-ipam.html) // in the Amazon VPC IPAM User Guide. @@ -137193,6 +138793,203 @@ func (s *IpamDiscoveredAccount) SetLastSuccessfulDiscoveryTime(v time.Time) *Ipa return s } +// A public IP Address discovered by IPAM. +type IpamDiscoveredPublicAddress struct { + _ struct{} `type:"structure"` + + // The IP address. + Address *string `locationName:"address" type:"string"` + + // The allocation ID of the resource the IP address is assigned to. + AddressAllocationId *string `locationName:"addressAllocationId" type:"string"` + + // The ID of the owner of the resource the IP address is assigned to. + AddressOwnerId *string `locationName:"addressOwnerId" type:"string"` + + // The Region of the resource the IP address is assigned to. + AddressRegion *string `locationName:"addressRegion" type:"string"` + + // The IP address type. + AddressType *string `locationName:"addressType" type:"string" enum:"IpamPublicAddressType"` + + // The association status. + AssociationStatus *string `locationName:"associationStatus" type:"string" enum:"IpamPublicAddressAssociationStatus"` + + // The instance ID of the instance the assigned IP address is assigned to. + InstanceId *string `locationName:"instanceId" type:"string"` + + // The resource discovery ID. + IpamResourceDiscoveryId *string `locationName:"ipamResourceDiscoveryId" type:"string"` + + // The network border group that the resource that the IP address is assigned + // to is in. + NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"` + + // The description of the network interface that IP address is assigned to. + NetworkInterfaceDescription *string `locationName:"networkInterfaceDescription" type:"string"` + + // The network interface ID of the resource with the assigned IP address. + NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` + + // The ID of the public IPv4 pool that the resource with the assigned IP address + // is from. + PublicIpv4PoolId *string `locationName:"publicIpv4PoolId" type:"string"` + + // The last successful resource discovery time. + SampleTime *time.Time `locationName:"sampleTime" type:"timestamp"` + + // Security groups associated with the resource that the IP address is assigned + // to. + SecurityGroups []*IpamPublicAddressSecurityGroup `locationName:"securityGroupSet" locationNameList:"item" type:"list"` + + // The Amazon Web Services service associated with the IP address. + Service *string `locationName:"service" type:"string" enum:"IpamPublicAddressAwsService"` + + // The resource ARN or ID. + ServiceResource *string `locationName:"serviceResource" type:"string"` + + // The ID of the subnet that the resource with the assigned IP address is in. + SubnetId *string `locationName:"subnetId" type:"string"` + + // Tags associated with the IP address. + Tags *IpamPublicAddressTags `locationName:"tags" type:"structure"` + + // The ID of the VPC that the resource with the assigned IP address is in. + VpcId *string `locationName:"vpcId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IpamDiscoveredPublicAddress) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IpamDiscoveredPublicAddress) GoString() string { + return s.String() +} + +// SetAddress sets the Address field's value. +func (s *IpamDiscoveredPublicAddress) SetAddress(v string) *IpamDiscoveredPublicAddress { + s.Address = &v + return s +} + +// SetAddressAllocationId sets the AddressAllocationId field's value. +func (s *IpamDiscoveredPublicAddress) SetAddressAllocationId(v string) *IpamDiscoveredPublicAddress { + s.AddressAllocationId = &v + return s +} + +// SetAddressOwnerId sets the AddressOwnerId field's value. +func (s *IpamDiscoveredPublicAddress) SetAddressOwnerId(v string) *IpamDiscoveredPublicAddress { + s.AddressOwnerId = &v + return s +} + +// SetAddressRegion sets the AddressRegion field's value. +func (s *IpamDiscoveredPublicAddress) SetAddressRegion(v string) *IpamDiscoveredPublicAddress { + s.AddressRegion = &v + return s +} + +// SetAddressType sets the AddressType field's value. +func (s *IpamDiscoveredPublicAddress) SetAddressType(v string) *IpamDiscoveredPublicAddress { + s.AddressType = &v + return s +} + +// SetAssociationStatus sets the AssociationStatus field's value. +func (s *IpamDiscoveredPublicAddress) SetAssociationStatus(v string) *IpamDiscoveredPublicAddress { + s.AssociationStatus = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *IpamDiscoveredPublicAddress) SetInstanceId(v string) *IpamDiscoveredPublicAddress { + s.InstanceId = &v + return s +} + +// SetIpamResourceDiscoveryId sets the IpamResourceDiscoveryId field's value. +func (s *IpamDiscoveredPublicAddress) SetIpamResourceDiscoveryId(v string) *IpamDiscoveredPublicAddress { + s.IpamResourceDiscoveryId = &v + return s +} + +// SetNetworkBorderGroup sets the NetworkBorderGroup field's value. +func (s *IpamDiscoveredPublicAddress) SetNetworkBorderGroup(v string) *IpamDiscoveredPublicAddress { + s.NetworkBorderGroup = &v + return s +} + +// SetNetworkInterfaceDescription sets the NetworkInterfaceDescription field's value. +func (s *IpamDiscoveredPublicAddress) SetNetworkInterfaceDescription(v string) *IpamDiscoveredPublicAddress { + s.NetworkInterfaceDescription = &v + return s +} + +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *IpamDiscoveredPublicAddress) SetNetworkInterfaceId(v string) *IpamDiscoveredPublicAddress { + s.NetworkInterfaceId = &v + return s +} + +// SetPublicIpv4PoolId sets the PublicIpv4PoolId field's value. +func (s *IpamDiscoveredPublicAddress) SetPublicIpv4PoolId(v string) *IpamDiscoveredPublicAddress { + s.PublicIpv4PoolId = &v + return s +} + +// SetSampleTime sets the SampleTime field's value. +func (s *IpamDiscoveredPublicAddress) SetSampleTime(v time.Time) *IpamDiscoveredPublicAddress { + s.SampleTime = &v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *IpamDiscoveredPublicAddress) SetSecurityGroups(v []*IpamPublicAddressSecurityGroup) *IpamDiscoveredPublicAddress { + s.SecurityGroups = v + return s +} + +// SetService sets the Service field's value. +func (s *IpamDiscoveredPublicAddress) SetService(v string) *IpamDiscoveredPublicAddress { + s.Service = &v + return s +} + +// SetServiceResource sets the ServiceResource field's value. +func (s *IpamDiscoveredPublicAddress) SetServiceResource(v string) *IpamDiscoveredPublicAddress { + s.ServiceResource = &v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *IpamDiscoveredPublicAddress) SetSubnetId(v string) *IpamDiscoveredPublicAddress { + s.SubnetId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *IpamDiscoveredPublicAddress) SetTags(v *IpamPublicAddressTags) *IpamDiscoveredPublicAddress { + s.Tags = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *IpamDiscoveredPublicAddress) SetVpcId(v string) *IpamDiscoveredPublicAddress { + s.VpcId = &v + return s +} + // An IPAM discovered resource CIDR. A discovered resource is a resource CIDR // monitored under a resource discovery. The following resources can be discovered: // VPCs, Public IPv4 pools, VPC subnets, and Elastic IP addresses. The discovered @@ -137530,10 +139327,13 @@ type IpamPool struct { // pool within an existing source pool. SourceIpamPoolId *string `locationName:"sourceIpamPoolId" type:"string"` + // The resource used to provision CIDRs to a resource planning pool. + SourceResource *IpamPoolSourceResource `locationName:"sourceResource" type:"structure"` + // The state of the IPAM pool. State *string `locationName:"state" type:"string" enum:"IpamPoolState"` - // A message related to the failed creation of an IPAM pool. + // The state message. StateMessage *string `locationName:"stateMessage" type:"string"` // The key/value combination of a tag assigned to the resource. Use the tag @@ -137681,6 +139481,12 @@ func (s *IpamPool) SetSourceIpamPoolId(v string) *IpamPool { return s } +// SetSourceResource sets the SourceResource field's value. +func (s *IpamPool) SetSourceResource(v *IpamPoolSourceResource) *IpamPool { + s.SourceResource = v + return s +} + // SetState sets the State field's value. func (s *IpamPool) SetState(v string) *IpamPool { s.State = &v @@ -137904,6 +139710,238 @@ func (s *IpamPoolCidrFailureReason) SetMessage(v string) *IpamPoolCidrFailureRea return s } +// The resource used to provision CIDRs to a resource planning pool. +type IpamPoolSourceResource struct { + _ struct{} `type:"structure"` + + // The source resource ID. + ResourceId *string `locationName:"resourceId" type:"string"` + + // The source resource owner. + ResourceOwner *string `locationName:"resourceOwner" type:"string"` + + // The source resource Region. + ResourceRegion *string `locationName:"resourceRegion" type:"string"` + + // The source resource type. + ResourceType *string `locationName:"resourceType" type:"string" enum:"IpamPoolSourceResourceType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IpamPoolSourceResource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IpamPoolSourceResource) GoString() string { + return s.String() +} + +// SetResourceId sets the ResourceId field's value. +func (s *IpamPoolSourceResource) SetResourceId(v string) *IpamPoolSourceResource { + s.ResourceId = &v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *IpamPoolSourceResource) SetResourceOwner(v string) *IpamPoolSourceResource { + s.ResourceOwner = &v + return s +} + +// SetResourceRegion sets the ResourceRegion field's value. +func (s *IpamPoolSourceResource) SetResourceRegion(v string) *IpamPoolSourceResource { + s.ResourceRegion = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *IpamPoolSourceResource) SetResourceType(v string) *IpamPoolSourceResource { + s.ResourceType = &v + return s +} + +// The resource used to provision CIDRs to a resource planning pool. +type IpamPoolSourceResourceRequest struct { + _ struct{} `type:"structure"` + + // The source resource ID. + ResourceId *string `type:"string"` + + // The source resource owner. + ResourceOwner *string `type:"string"` + + // The source resource Region. + ResourceRegion *string `type:"string"` + + // The source resource type. + ResourceType *string `type:"string" enum:"IpamPoolSourceResourceType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IpamPoolSourceResourceRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IpamPoolSourceResourceRequest) GoString() string { + return s.String() +} + +// SetResourceId sets the ResourceId field's value. +func (s *IpamPoolSourceResourceRequest) SetResourceId(v string) *IpamPoolSourceResourceRequest { + s.ResourceId = &v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *IpamPoolSourceResourceRequest) SetResourceOwner(v string) *IpamPoolSourceResourceRequest { + s.ResourceOwner = &v + return s +} + +// SetResourceRegion sets the ResourceRegion field's value. +func (s *IpamPoolSourceResourceRequest) SetResourceRegion(v string) *IpamPoolSourceResourceRequest { + s.ResourceRegion = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *IpamPoolSourceResourceRequest) SetResourceType(v string) *IpamPoolSourceResourceRequest { + s.ResourceType = &v + return s +} + +// The security group that the resource with the public IP address is in. +type IpamPublicAddressSecurityGroup struct { + _ struct{} `type:"structure"` + + // The security group's ID. + GroupId *string `locationName:"groupId" type:"string"` + + // The security group's name. + GroupName *string `locationName:"groupName" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IpamPublicAddressSecurityGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IpamPublicAddressSecurityGroup) GoString() string { + return s.String() +} + +// SetGroupId sets the GroupId field's value. +func (s *IpamPublicAddressSecurityGroup) SetGroupId(v string) *IpamPublicAddressSecurityGroup { + s.GroupId = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *IpamPublicAddressSecurityGroup) SetGroupName(v string) *IpamPublicAddressSecurityGroup { + s.GroupName = &v + return s +} + +// A tag for a public IP address discovered by IPAM. +type IpamPublicAddressTag struct { + _ struct{} `type:"structure"` + + // The tag's key. + Key *string `locationName:"key" type:"string"` + + // The tag's value. + Value *string `locationName:"value" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IpamPublicAddressTag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IpamPublicAddressTag) GoString() string { + return s.String() +} + +// SetKey sets the Key field's value. +func (s *IpamPublicAddressTag) SetKey(v string) *IpamPublicAddressTag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *IpamPublicAddressTag) SetValue(v string) *IpamPublicAddressTag { + s.Value = &v + return s +} + +// Tags for a public IP address discovered by IPAM. +type IpamPublicAddressTags struct { + _ struct{} `type:"structure"` + + // Tags for an Elastic IP address. + EipTags []*IpamPublicAddressTag `locationName:"eipTagSet" locationNameList:"item" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IpamPublicAddressTags) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IpamPublicAddressTags) GoString() string { + return s.String() +} + +// SetEipTags sets the EipTags field's value. +func (s *IpamPublicAddressTags) SetEipTags(v []*IpamPublicAddressTag) *IpamPublicAddressTags { + s.EipTags = v + return s +} + // The CIDR for an IPAM resource. type IpamResourceCidr struct { _ struct{} `type:"structure"` @@ -140885,6 +142923,12 @@ type LaunchTemplateInstanceNetworkInterfaceSpecification struct { // network interface. AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"` + // A security group connection tracking specification that enables you to set + // the timeout for connection tracking on an Elastic network interface. For + // more information, see Connection tracking timeouts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) + // in the Amazon Elastic Compute Cloud User Guide. + ConnectionTrackingSpecification *ConnectionTrackingSpecification `locationName:"connectionTrackingSpecification" type:"structure"` + // Indicates whether the network interface is deleted when the instance is terminated. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"` @@ -140980,6 +143024,12 @@ func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetAssociatePublic return s } +// SetConnectionTrackingSpecification sets the ConnectionTrackingSpecification field's value. +func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetConnectionTrackingSpecification(v *ConnectionTrackingSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecification { + s.ConnectionTrackingSpecification = v + return s +} + // SetDeleteOnTermination sets the DeleteOnTermination field's value. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification { s.DeleteOnTermination = &v @@ -141109,6 +143159,12 @@ type LaunchTemplateInstanceNetworkInterfaceSpecificationRequest struct { // Associates a public IPv4 address with eth0 for a new network interface. AssociatePublicIpAddress *bool `type:"boolean"` + // A security group connection tracking specification that enables you to set + // the timeout for connection tracking on an Elastic network interface. For + // more information, see Connection tracking timeouts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) + // in the Amazon Elastic Compute Cloud User Guide. + ConnectionTrackingSpecification *ConnectionTrackingSpecificationRequest `type:"structure"` + // Indicates whether the network interface is deleted when the instance is terminated. DeleteOnTermination *bool `type:"boolean"` @@ -141216,6 +143272,12 @@ func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetAssociat return s } +// SetConnectionTrackingSpecification sets the ConnectionTrackingSpecification field's value. +func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetConnectionTrackingSpecification(v *ConnectionTrackingSpecificationRequest) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { + s.ConnectionTrackingSpecification = v + return s +} + // SetDeleteOnTermination sets the DeleteOnTermination field's value. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { s.DeleteOnTermination = &v @@ -147266,6 +149328,11 @@ type ModifyIpamInput struct { // The operating Regions to remove. RemoveOperatingRegions []*RemoveIpamOperatingRegion `locationName:"RemoveOperatingRegion" type:"list"` + + // IPAM is offered in a Free Tier and an Advanced Tier. For more information + // about the features available in each tier and the costs associated with the + // tiers, see Amazon VPC pricing > IPAM tab (http://aws.amazon.com/vpc/pricing/). + Tier *string `type:"string" enum:"IpamTier"` } // String returns the string representation. @@ -147329,6 +149396,12 @@ func (s *ModifyIpamInput) SetRemoveOperatingRegions(v []*RemoveIpamOperatingRegi return s } +// SetTier sets the Tier field's value. +func (s *ModifyIpamInput) SetTier(v string) *ModifyIpamInput { + s.Tier = &v + return s +} + type ModifyIpamOutput struct { _ struct{} `type:"structure"` @@ -148333,6 +150406,9 @@ type ModifyNetworkInterfaceAttributeInput struct { // attribute, you must specify the ID of the interface attachment. Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"` + // A connection tracking specification. + ConnectionTrackingSpecification *ConnectionTrackingSpecificationRequest `type:"structure"` + // A description for the network interface. Description *AttributeValue `locationName:"description" type:"structure"` @@ -148418,6 +150494,12 @@ func (s *ModifyNetworkInterfaceAttributeInput) SetAttachment(v *NetworkInterface return s } +// SetConnectionTrackingSpecification sets the ConnectionTrackingSpecification field's value. +func (s *ModifyNetworkInterfaceAttributeInput) SetConnectionTrackingSpecification(v *ConnectionTrackingSpecificationRequest) *ModifyNetworkInterfaceAttributeInput { + s.ConnectionTrackingSpecification = v + return s +} + // SetDescription sets the Description field's value. func (s *ModifyNetworkInterfaceAttributeInput) SetDescription(v *AttributeValue) *ModifyNetworkInterfaceAttributeInput { s.Description = v @@ -155372,6 +157454,12 @@ type NetworkInterface struct { // The Availability Zone. AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + // A security group connection tracking configuration that enables you to set + // the timeout for connection tracking on an Elastic network interface. For + // more information, see Connection tracking timeouts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) + // in the Amazon Elastic Compute Cloud User Guide. + ConnectionTrackingConfiguration *ConnectionTrackingConfiguration `locationName:"connectionTrackingConfiguration" type:"structure"` + // Indicates whether a network interface with an IPv6 address is unreachable // from the public internet. If the value is true, inbound traffic from the // internet is dropped and you cannot assign an elastic IP address to the network @@ -155483,6 +157571,12 @@ func (s *NetworkInterface) SetAvailabilityZone(v string) *NetworkInterface { return s } +// SetConnectionTrackingConfiguration sets the ConnectionTrackingConfiguration field's value. +func (s *NetworkInterface) SetConnectionTrackingConfiguration(v *ConnectionTrackingConfiguration) *NetworkInterface { + s.ConnectionTrackingConfiguration = v + return s +} + // SetDenyAllIgwTraffic sets the DenyAllIgwTraffic field's value. func (s *NetworkInterface) SetDenyAllIgwTraffic(v bool) *NetworkInterface { s.DenyAllIgwTraffic = &v @@ -159091,6 +161185,128 @@ func (s *ProvisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *ProvisionByoipCid return s } +type ProvisionIpamByoasnInput struct { + _ struct{} `type:"structure"` + + // A public 2-byte or 4-byte ASN. + // + // Asn is a required field + Asn *string `type:"string" required:"true"` + + // An ASN authorization context. + // + // AsnAuthorizationContext is a required field + AsnAuthorizationContext *AsnAuthorizationContext `type:"structure" 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"` + + // An IPAM ID. + // + // IpamId is a required field + IpamId *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProvisionIpamByoasnInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProvisionIpamByoasnInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProvisionIpamByoasnInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProvisionIpamByoasnInput"} + if s.Asn == nil { + invalidParams.Add(request.NewErrParamRequired("Asn")) + } + if s.AsnAuthorizationContext == nil { + invalidParams.Add(request.NewErrParamRequired("AsnAuthorizationContext")) + } + if s.IpamId == nil { + invalidParams.Add(request.NewErrParamRequired("IpamId")) + } + if s.AsnAuthorizationContext != nil { + if err := s.AsnAuthorizationContext.Validate(); err != nil { + invalidParams.AddNested("AsnAuthorizationContext", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAsn sets the Asn field's value. +func (s *ProvisionIpamByoasnInput) SetAsn(v string) *ProvisionIpamByoasnInput { + s.Asn = &v + return s +} + +// SetAsnAuthorizationContext sets the AsnAuthorizationContext field's value. +func (s *ProvisionIpamByoasnInput) SetAsnAuthorizationContext(v *AsnAuthorizationContext) *ProvisionIpamByoasnInput { + s.AsnAuthorizationContext = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ProvisionIpamByoasnInput) SetDryRun(v bool) *ProvisionIpamByoasnInput { + s.DryRun = &v + return s +} + +// SetIpamId sets the IpamId field's value. +func (s *ProvisionIpamByoasnInput) SetIpamId(v string) *ProvisionIpamByoasnInput { + s.IpamId = &v + return s +} + +type ProvisionIpamByoasnOutput struct { + _ struct{} `type:"structure"` + + // An ASN and BYOIP CIDR association. + Byoasn *Byoasn `locationName:"byoasn" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProvisionIpamByoasnOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProvisionIpamByoasnOutput) GoString() string { + return s.String() +} + +// SetByoasn sets the Byoasn field's value. +func (s *ProvisionIpamByoasnOutput) SetByoasn(v *Byoasn) *ProvisionIpamByoasnOutput { + s.Byoasn = v + return s +} + type ProvisionIpamPoolCidrInput struct { _ struct{} `type:"structure"` @@ -180661,9 +182877,6 @@ func (s *TransitGatewayVpcAttachmentOptions) SetIpv6Support(v string) *TransitGa return s } -// Currently available in limited preview only. If you are interested in using -// this feature, contact your account manager. -// // Information about an association between a branch network interface with // a trunk network interface. type TrunkInterfaceAssociation struct { @@ -187058,6 +189271,70 @@ func ArchitectureValues_Values() []string { } } +const ( + // AsnAssociationStateDisassociated is a AsnAssociationState enum value + AsnAssociationStateDisassociated = "disassociated" + + // AsnAssociationStateFailedDisassociation is a AsnAssociationState enum value + AsnAssociationStateFailedDisassociation = "failed-disassociation" + + // AsnAssociationStateFailedAssociation is a AsnAssociationState enum value + AsnAssociationStateFailedAssociation = "failed-association" + + // AsnAssociationStatePendingDisassociation is a AsnAssociationState enum value + AsnAssociationStatePendingDisassociation = "pending-disassociation" + + // AsnAssociationStatePendingAssociation is a AsnAssociationState enum value + AsnAssociationStatePendingAssociation = "pending-association" + + // AsnAssociationStateAssociated is a AsnAssociationState enum value + AsnAssociationStateAssociated = "associated" +) + +// AsnAssociationState_Values returns all elements of the AsnAssociationState enum +func AsnAssociationState_Values() []string { + return []string{ + AsnAssociationStateDisassociated, + AsnAssociationStateFailedDisassociation, + AsnAssociationStateFailedAssociation, + AsnAssociationStatePendingDisassociation, + AsnAssociationStatePendingAssociation, + AsnAssociationStateAssociated, + } +} + +const ( + // AsnStateDeprovisioned is a AsnState enum value + AsnStateDeprovisioned = "deprovisioned" + + // AsnStateFailedDeprovision is a AsnState enum value + AsnStateFailedDeprovision = "failed-deprovision" + + // AsnStateFailedProvision is a AsnState enum value + AsnStateFailedProvision = "failed-provision" + + // AsnStatePendingDeprovision is a AsnState enum value + AsnStatePendingDeprovision = "pending-deprovision" + + // AsnStatePendingProvision is a AsnState enum value + AsnStatePendingProvision = "pending-provision" + + // AsnStateProvisioned is a AsnState enum value + AsnStateProvisioned = "provisioned" +) + +// AsnState_Values returns all elements of the AsnState enum +func AsnState_Values() []string { + return []string{ + AsnStateDeprovisioned, + AsnStateFailedDeprovision, + AsnStateFailedProvision, + AsnStatePendingDeprovision, + AsnStatePendingProvision, + AsnStateProvisioned, + } +} + const ( // AssociatedNetworkTypeVpc is a AssociatedNetworkType enum value AssociatedNetworkTypeVpc = "vpc" @@ -192878,6 +195155,9 @@ const ( // IpamPoolAllocationResourceTypeCustom is a IpamPoolAllocationResourceType enum value IpamPoolAllocationResourceTypeCustom = "custom" + + // IpamPoolAllocationResourceTypeSubnet is a IpamPoolAllocationResourceType enum value + IpamPoolAllocationResourceTypeSubnet = "subnet" ) // IpamPoolAllocationResourceType_Values returns all elements of the IpamPoolAllocationResourceType enum @@ -192887,6 +195167,7 @@ func IpamPoolAllocationResourceType_Values() []string { IpamPoolAllocationResourceTypeVpc, IpamPoolAllocationResourceTypeEc2PublicIpv4Pool, IpamPoolAllocationResourceTypeCustom, + IpamPoolAllocationResourceTypeSubnet, } } @@ -192974,6 +195255,18 @@ func IpamPoolPublicIpSource_Values() []string { } } +const ( + // IpamPoolSourceResourceTypeVpc is a IpamPoolSourceResourceType enum value + IpamPoolSourceResourceTypeVpc = "vpc" +) + +// IpamPoolSourceResourceType_Values returns all elements of the IpamPoolSourceResourceType enum +func IpamPoolSourceResourceType_Values() []string { + return []string{ + IpamPoolSourceResourceTypeVpc, + } +} + const ( // IpamPoolStateCreateInProgress is a IpamPoolState enum value IpamPoolStateCreateInProgress = "create-in-progress" @@ -193030,6 +195323,94 @@ func IpamPoolState_Values() []string { } } +const ( + // IpamPublicAddressAssociationStatusAssociated is a IpamPublicAddressAssociationStatus enum value + IpamPublicAddressAssociationStatusAssociated = "associated" + + // IpamPublicAddressAssociationStatusDisassociated is a IpamPublicAddressAssociationStatus enum value + IpamPublicAddressAssociationStatusDisassociated = "disassociated" +) + +// IpamPublicAddressAssociationStatus_Values returns all elements of the IpamPublicAddressAssociationStatus enum +func IpamPublicAddressAssociationStatus_Values() []string { + return []string{ + IpamPublicAddressAssociationStatusAssociated, + IpamPublicAddressAssociationStatusDisassociated, + } +} + +const ( + // IpamPublicAddressAwsServiceNatGateway is a IpamPublicAddressAwsService enum value + IpamPublicAddressAwsServiceNatGateway = "nat-gateway" + + // IpamPublicAddressAwsServiceDatabaseMigrationService is a IpamPublicAddressAwsService enum value + IpamPublicAddressAwsServiceDatabaseMigrationService = "database-migration-service" + + // IpamPublicAddressAwsServiceRedshift is a IpamPublicAddressAwsService enum value + IpamPublicAddressAwsServiceRedshift = "redshift" + + // IpamPublicAddressAwsServiceElasticContainerService is a IpamPublicAddressAwsService enum value + IpamPublicAddressAwsServiceElasticContainerService = "elastic-container-service" + + // IpamPublicAddressAwsServiceRelationalDatabaseService is a IpamPublicAddressAwsService enum value + IpamPublicAddressAwsServiceRelationalDatabaseService = "relational-database-service" + + // IpamPublicAddressAwsServiceSiteToSiteVpn is a IpamPublicAddressAwsService enum value + IpamPublicAddressAwsServiceSiteToSiteVpn = "site-to-site-vpn" + + // IpamPublicAddressAwsServiceLoadBalancer is a IpamPublicAddressAwsService enum value + IpamPublicAddressAwsServiceLoadBalancer = "load-balancer" + + // IpamPublicAddressAwsServiceGlobalAccelerator is a IpamPublicAddressAwsService enum value + IpamPublicAddressAwsServiceGlobalAccelerator = "global-accelerator" + + // IpamPublicAddressAwsServiceOther is a IpamPublicAddressAwsService enum value + IpamPublicAddressAwsServiceOther = "other" +) + +// IpamPublicAddressAwsService_Values returns all elements of the IpamPublicAddressAwsService enum +func IpamPublicAddressAwsService_Values() []string { + return []string{ + IpamPublicAddressAwsServiceNatGateway, + IpamPublicAddressAwsServiceDatabaseMigrationService, + IpamPublicAddressAwsServiceRedshift, + IpamPublicAddressAwsServiceElasticContainerService, + IpamPublicAddressAwsServiceRelationalDatabaseService, + IpamPublicAddressAwsServiceSiteToSiteVpn, + IpamPublicAddressAwsServiceLoadBalancer, + IpamPublicAddressAwsServiceGlobalAccelerator, + IpamPublicAddressAwsServiceOther, + } +} + +const ( + // IpamPublicAddressTypeServiceManagedIp is a IpamPublicAddressType enum value + IpamPublicAddressTypeServiceManagedIp = "service-managed-ip" + + // IpamPublicAddressTypeServiceManagedByoip is a IpamPublicAddressType enum value + IpamPublicAddressTypeServiceManagedByoip = "service-managed-byoip" + + // IpamPublicAddressTypeAmazonOwnedEip is a IpamPublicAddressType enum value + IpamPublicAddressTypeAmazonOwnedEip = "amazon-owned-eip" + + // IpamPublicAddressTypeByoip is a IpamPublicAddressType enum value + IpamPublicAddressTypeByoip = "byoip" + + // IpamPublicAddressTypeEc2PublicIp is a IpamPublicAddressType enum value + IpamPublicAddressTypeEc2PublicIp = "ec2-public-ip" +) + +// IpamPublicAddressType_Values returns all elements of the IpamPublicAddressType enum +func IpamPublicAddressType_Values() []string { + return []string{ + IpamPublicAddressTypeServiceManagedIp, + IpamPublicAddressTypeServiceManagedByoip, + IpamPublicAddressTypeAmazonOwnedEip, + IpamPublicAddressTypeByoip, + IpamPublicAddressTypeEc2PublicIp, + } +} + const ( // IpamResourceDiscoveryAssociationStateAssociateInProgress is a IpamResourceDiscoveryAssociationState enum value IpamResourceDiscoveryAssociationStateAssociateInProgress = "associate-in-progress" @@ -193145,6 +195526,9 @@ const ( // IpamResourceTypeIpv6Pool is a IpamResourceType enum value IpamResourceTypeIpv6Pool = "ipv6-pool" + + // IpamResourceTypeEni is a IpamResourceType enum value + IpamResourceTypeEni = "eni" ) // IpamResourceType_Values returns all elements of the IpamResourceType enum @@ -193155,6 +195539,7 @@ func IpamResourceType_Values() []string { IpamResourceTypeEip, IpamResourceTypePublicIpv4Pool, IpamResourceTypeIpv6Pool, + IpamResourceTypeEni, } } @@ -193286,6 +195671,22 @@ func IpamState_Values() []string { } } +const ( + // IpamTierFree is a IpamTier enum value + IpamTierFree = "free" + + // IpamTierAdvanced is a IpamTier enum value + IpamTierAdvanced = "advanced" +) + +// IpamTier_Values returns all elements of the IpamTier enum +func IpamTier_Values() []string { + return []string{ + IpamTierFree, + IpamTierAdvanced, + } +} + const ( // Ipv6SupportValueEnable is a Ipv6SupportValue enum value Ipv6SupportValueEnable = "enable" diff --git a/service/ec2/ec2iface/interface.go b/service/ec2/ec2iface/interface.go index 99b739a2e1c..fac6d14abc0 100644 --- a/service/ec2/ec2iface/interface.go +++ b/service/ec2/ec2iface/interface.go @@ -144,6 +144,10 @@ type EC2API interface { AssociateInstanceEventWindowWithContext(aws.Context, *ec2.AssociateInstanceEventWindowInput, ...request.Option) (*ec2.AssociateInstanceEventWindowOutput, error) AssociateInstanceEventWindowRequest(*ec2.AssociateInstanceEventWindowInput) (*request.Request, *ec2.AssociateInstanceEventWindowOutput) + AssociateIpamByoasn(*ec2.AssociateIpamByoasnInput) (*ec2.AssociateIpamByoasnOutput, error) + AssociateIpamByoasnWithContext(aws.Context, *ec2.AssociateIpamByoasnInput, ...request.Option) (*ec2.AssociateIpamByoasnOutput, error) + AssociateIpamByoasnRequest(*ec2.AssociateIpamByoasnInput) (*request.Request, *ec2.AssociateIpamByoasnOutput) + AssociateIpamResourceDiscovery(*ec2.AssociateIpamResourceDiscoveryInput) (*ec2.AssociateIpamResourceDiscoveryOutput, error) AssociateIpamResourceDiscoveryWithContext(aws.Context, *ec2.AssociateIpamResourceDiscoveryInput, ...request.Option) (*ec2.AssociateIpamResourceDiscoveryOutput, error) AssociateIpamResourceDiscoveryRequest(*ec2.AssociateIpamResourceDiscoveryInput) (*request.Request, *ec2.AssociateIpamResourceDiscoveryOutput) @@ -904,6 +908,10 @@ type EC2API interface { DeprovisionByoipCidrWithContext(aws.Context, *ec2.DeprovisionByoipCidrInput, ...request.Option) (*ec2.DeprovisionByoipCidrOutput, error) DeprovisionByoipCidrRequest(*ec2.DeprovisionByoipCidrInput) (*request.Request, *ec2.DeprovisionByoipCidrOutput) + DeprovisionIpamByoasn(*ec2.DeprovisionIpamByoasnInput) (*ec2.DeprovisionIpamByoasnOutput, error) + DeprovisionIpamByoasnWithContext(aws.Context, *ec2.DeprovisionIpamByoasnInput, ...request.Option) (*ec2.DeprovisionIpamByoasnOutput, error) + DeprovisionIpamByoasnRequest(*ec2.DeprovisionIpamByoasnInput) (*request.Request, *ec2.DeprovisionIpamByoasnOutput) + DeprovisionIpamPoolCidr(*ec2.DeprovisionIpamPoolCidrInput) (*ec2.DeprovisionIpamPoolCidrOutput, error) DeprovisionIpamPoolCidrWithContext(aws.Context, *ec2.DeprovisionIpamPoolCidrInput, ...request.Option) (*ec2.DeprovisionIpamPoolCidrOutput, error) DeprovisionIpamPoolCidrRequest(*ec2.DeprovisionIpamPoolCidrInput) (*request.Request, *ec2.DeprovisionIpamPoolCidrOutput) @@ -1269,6 +1277,10 @@ type EC2API interface { DescribeInternetGatewaysPages(*ec2.DescribeInternetGatewaysInput, func(*ec2.DescribeInternetGatewaysOutput, bool) bool) error DescribeInternetGatewaysPagesWithContext(aws.Context, *ec2.DescribeInternetGatewaysInput, func(*ec2.DescribeInternetGatewaysOutput, bool) bool, ...request.Option) error + DescribeIpamByoasn(*ec2.DescribeIpamByoasnInput) (*ec2.DescribeIpamByoasnOutput, error) + DescribeIpamByoasnWithContext(aws.Context, *ec2.DescribeIpamByoasnInput, ...request.Option) (*ec2.DescribeIpamByoasnOutput, error) + DescribeIpamByoasnRequest(*ec2.DescribeIpamByoasnInput) (*request.Request, *ec2.DescribeIpamByoasnOutput) + DescribeIpamPools(*ec2.DescribeIpamPoolsInput) (*ec2.DescribeIpamPoolsOutput, error) DescribeIpamPoolsWithContext(aws.Context, *ec2.DescribeIpamPoolsInput, ...request.Option) (*ec2.DescribeIpamPoolsOutput, error) DescribeIpamPoolsRequest(*ec2.DescribeIpamPoolsInput) (*request.Request, *ec2.DescribeIpamPoolsOutput) @@ -1963,6 +1975,10 @@ type EC2API interface { DisassociateInstanceEventWindowWithContext(aws.Context, *ec2.DisassociateInstanceEventWindowInput, ...request.Option) (*ec2.DisassociateInstanceEventWindowOutput, error) DisassociateInstanceEventWindowRequest(*ec2.DisassociateInstanceEventWindowInput) (*request.Request, *ec2.DisassociateInstanceEventWindowOutput) + DisassociateIpamByoasn(*ec2.DisassociateIpamByoasnInput) (*ec2.DisassociateIpamByoasnOutput, error) + DisassociateIpamByoasnWithContext(aws.Context, *ec2.DisassociateIpamByoasnInput, ...request.Option) (*ec2.DisassociateIpamByoasnOutput, error) + DisassociateIpamByoasnRequest(*ec2.DisassociateIpamByoasnInput) (*request.Request, *ec2.DisassociateIpamByoasnOutput) + DisassociateIpamResourceDiscovery(*ec2.DisassociateIpamResourceDiscoveryInput) (*ec2.DisassociateIpamResourceDiscoveryOutput, error) DisassociateIpamResourceDiscoveryWithContext(aws.Context, *ec2.DisassociateIpamResourceDiscoveryInput, ...request.Option) (*ec2.DisassociateIpamResourceDiscoveryOutput, error) DisassociateIpamResourceDiscoveryRequest(*ec2.DisassociateIpamResourceDiscoveryInput) (*request.Request, *ec2.DisassociateIpamResourceDiscoveryOutput) @@ -2173,6 +2189,10 @@ type EC2API interface { GetIpamDiscoveredAccountsPages(*ec2.GetIpamDiscoveredAccountsInput, func(*ec2.GetIpamDiscoveredAccountsOutput, bool) bool) error GetIpamDiscoveredAccountsPagesWithContext(aws.Context, *ec2.GetIpamDiscoveredAccountsInput, func(*ec2.GetIpamDiscoveredAccountsOutput, bool) bool, ...request.Option) error + GetIpamDiscoveredPublicAddresses(*ec2.GetIpamDiscoveredPublicAddressesInput) (*ec2.GetIpamDiscoveredPublicAddressesOutput, error) + GetIpamDiscoveredPublicAddressesWithContext(aws.Context, *ec2.GetIpamDiscoveredPublicAddressesInput, ...request.Option) (*ec2.GetIpamDiscoveredPublicAddressesOutput, error) + GetIpamDiscoveredPublicAddressesRequest(*ec2.GetIpamDiscoveredPublicAddressesInput) (*request.Request, *ec2.GetIpamDiscoveredPublicAddressesOutput) + GetIpamDiscoveredResourceCidrs(*ec2.GetIpamDiscoveredResourceCidrsInput) (*ec2.GetIpamDiscoveredResourceCidrsOutput, error) GetIpamDiscoveredResourceCidrsWithContext(aws.Context, *ec2.GetIpamDiscoveredResourceCidrsInput, ...request.Option) (*ec2.GetIpamDiscoveredResourceCidrsOutput, error) GetIpamDiscoveredResourceCidrsRequest(*ec2.GetIpamDiscoveredResourceCidrsInput) (*request.Request, *ec2.GetIpamDiscoveredResourceCidrsOutput) @@ -2647,6 +2667,10 @@ type EC2API interface { ProvisionByoipCidrWithContext(aws.Context, *ec2.ProvisionByoipCidrInput, ...request.Option) (*ec2.ProvisionByoipCidrOutput, error) ProvisionByoipCidrRequest(*ec2.ProvisionByoipCidrInput) (*request.Request, *ec2.ProvisionByoipCidrOutput) + ProvisionIpamByoasn(*ec2.ProvisionIpamByoasnInput) (*ec2.ProvisionIpamByoasnOutput, error) + ProvisionIpamByoasnWithContext(aws.Context, *ec2.ProvisionIpamByoasnInput, ...request.Option) (*ec2.ProvisionIpamByoasnOutput, error) + ProvisionIpamByoasnRequest(*ec2.ProvisionIpamByoasnInput) (*request.Request, *ec2.ProvisionIpamByoasnOutput) + ProvisionIpamPoolCidr(*ec2.ProvisionIpamPoolCidrInput) (*ec2.ProvisionIpamPoolCidrOutput, error) ProvisionIpamPoolCidrWithContext(aws.Context, *ec2.ProvisionIpamPoolCidrInput, ...request.Option) (*ec2.ProvisionIpamPoolCidrOutput, error) ProvisionIpamPoolCidrRequest(*ec2.ProvisionIpamPoolCidrInput) (*request.Request, *ec2.ProvisionIpamPoolCidrOutput) diff --git a/service/ecr/api.go b/service/ecr/api.go index 9f0a75ec36e..7146f5ff743 100644 --- a/service/ecr/api.go +++ b/service/ecr/api.go @@ -272,6 +272,16 @@ func (c *ECR) BatchGetImageRequest(input *BatchGetImageInput) (req *request.Requ // 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. // +// - LimitExceededException +// The operation did not succeed because it would have exceeded a service limit +// 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. +// +// - UnableToGetUpstreamImageException +// The image or images were unable to be pulled using the pull through cache +// rule. This is usually caused because of an issue with the Secrets Manager +// secret containing the credentials for the upstream registry. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/BatchGetImage func (c *ECR) BatchGetImage(input *BatchGetImageInput) (*BatchGetImageOutput, error) { req, out := c.BatchGetImageRequest(input) @@ -544,8 +554,9 @@ func (c *ECR) CreatePullThroughCacheRuleRequest(input *CreatePullThroughCacheRul // CreatePullThroughCacheRule API operation for Amazon EC2 Container Registry. // // Creates a pull through cache rule. A pull through cache rule provides a way -// to cache images from an external public registry in your Amazon ECR private -// registry. +// to cache images from an upstream registry source in your Amazon ECR private +// registry. For more information, see Using pull through cache rules (https://docs.aws.amazon.com/AmazonECR/latest/userguide/pull-through-cache.html) +// in the Amazon Elastic Container Registry 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 @@ -578,6 +589,18 @@ func (c *ECR) CreatePullThroughCacheRuleRequest(input *CreatePullThroughCacheRul // 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. // +// - UnableToAccessSecretException +// The secret is unable to be accessed. Verify the resource permissions for +// the secret and try again. +// +// - SecretNotFoundException +// The ARN of the secret specified in the pull through cache rule was not found. +// Update the pull through cache rule with a valid secret ARN and try again. +// +// - UnableToDecryptSecretValueException +// The secret is accessible but is unable to be decrypted. Verify the resource +// permisisons and try again. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CreatePullThroughCacheRule func (c *ECR) CreatePullThroughCacheRule(input *CreatePullThroughCacheRuleInput) (*CreatePullThroughCacheRuleOutput, error) { req, out := c.CreatePullThroughCacheRuleRequest(input) @@ -1019,9 +1042,9 @@ func (c *ECR) DeleteRepositoryRequest(input *DeleteRepositoryInput) (req *reques // DeleteRepository API operation for Amazon EC2 Container Registry. // -// Deletes a repository. If the repository contains images, you must either -// delete all images in the repository or use the force option to delete the -// repository. +// Deletes a repository. If the repository isn't empty, you must either delete +// the contents of the repository or use the force option to delete the repository +// and have Amazon ECR delete all of its contents on your behalf. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2114,6 +2137,10 @@ func (c *ECR) GetDownloadUrlForLayerRequest(input *GetDownloadUrlForLayerInput) // 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. // +// - UnableToGetUpstreamLayerException +// There was an issue getting the upstream layer matching the pull through cache +// rule. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetDownloadUrlForLayer func (c *ECR) GetDownloadUrlForLayer(input *GetDownloadUrlForLayerInput) (*GetDownloadUrlForLayerOutput, error) { req, out := c.GetDownloadUrlForLayerRequest(input) @@ -4138,6 +4165,108 @@ func (c *ECR) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInpu return out, req.Send() } +const opUpdatePullThroughCacheRule = "UpdatePullThroughCacheRule" + +// UpdatePullThroughCacheRuleRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePullThroughCacheRule operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdatePullThroughCacheRule for more information on using the UpdatePullThroughCacheRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdatePullThroughCacheRuleRequest method. +// req, resp := client.UpdatePullThroughCacheRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UpdatePullThroughCacheRule +func (c *ECR) UpdatePullThroughCacheRuleRequest(input *UpdatePullThroughCacheRuleInput) (req *request.Request, output *UpdatePullThroughCacheRuleOutput) { + op := &request.Operation{ + Name: opUpdatePullThroughCacheRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdatePullThroughCacheRuleInput{} + } + + output = &UpdatePullThroughCacheRuleOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdatePullThroughCacheRule API operation for Amazon EC2 Container Registry. +// +// Updates an existing pull through cache rule. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon EC2 Container Registry's +// API operation UpdatePullThroughCacheRule for usage and error information. +// +// Returned Error Types: +// +// - ServerException +// These errors are usually caused by a server-side issue. +// +// - InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// - ValidationException +// There was an exception validating this request. +// +// - UnableToAccessSecretException +// The secret is unable to be accessed. Verify the resource permissions for +// the secret and try again. +// +// - PullThroughCacheRuleNotFoundException +// The pull through cache rule was not found. Specify a valid pull through cache +// rule and try again. +// +// - SecretNotFoundException +// The ARN of the secret specified in the pull through cache rule was not found. +// Update the pull through cache rule with a valid secret ARN and try again. +// +// - UnableToDecryptSecretValueException +// The secret is accessible but is unable to be decrypted. Verify the resource +// permisisons and try again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UpdatePullThroughCacheRule +func (c *ECR) UpdatePullThroughCacheRule(input *UpdatePullThroughCacheRuleInput) (*UpdatePullThroughCacheRuleOutput, error) { + req, out := c.UpdatePullThroughCacheRuleRequest(input) + return out, req.Send() +} + +// UpdatePullThroughCacheRuleWithContext is the same as UpdatePullThroughCacheRule with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePullThroughCacheRule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ECR) UpdatePullThroughCacheRuleWithContext(ctx aws.Context, input *UpdatePullThroughCacheRuleInput, opts ...request.Option) (*UpdatePullThroughCacheRuleOutput, error) { + req, out := c.UpdatePullThroughCacheRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUploadLayerPart = "UploadLayerPart" // UploadLayerPartRequest generates a "aws/request.Request" representing the @@ -4249,6 +4378,99 @@ func (c *ECR) UploadLayerPartWithContext(ctx aws.Context, input *UploadLayerPart return out, req.Send() } +const opValidatePullThroughCacheRule = "ValidatePullThroughCacheRule" + +// ValidatePullThroughCacheRuleRequest generates a "aws/request.Request" representing the +// client's request for the ValidatePullThroughCacheRule operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ValidatePullThroughCacheRule for more information on using the ValidatePullThroughCacheRule +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ValidatePullThroughCacheRuleRequest method. +// req, resp := client.ValidatePullThroughCacheRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ValidatePullThroughCacheRule +func (c *ECR) ValidatePullThroughCacheRuleRequest(input *ValidatePullThroughCacheRuleInput) (req *request.Request, output *ValidatePullThroughCacheRuleOutput) { + op := &request.Operation{ + Name: opValidatePullThroughCacheRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ValidatePullThroughCacheRuleInput{} + } + + output = &ValidatePullThroughCacheRuleOutput{} + req = c.newRequest(op, input, output) + return +} + +// ValidatePullThroughCacheRule API operation for Amazon EC2 Container Registry. +// +// Validates an existing pull through cache rule for an upstream registry that +// requires authentication. This will retrieve the contents of the Amazon Web +// Services Secrets Manager secret, verify the syntax, and then validate that +// authentication to the upstream registry is successful. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon EC2 Container Registry's +// API operation ValidatePullThroughCacheRule for usage and error information. +// +// Returned Error Types: +// +// - ServerException +// These errors are usually caused by a server-side issue. +// +// - InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// - ValidationException +// There was an exception validating this request. +// +// - PullThroughCacheRuleNotFoundException +// The pull through cache rule was not found. Specify a valid pull through cache +// rule and try again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ValidatePullThroughCacheRule +func (c *ECR) ValidatePullThroughCacheRule(input *ValidatePullThroughCacheRuleInput) (*ValidatePullThroughCacheRuleOutput, error) { + req, out := c.ValidatePullThroughCacheRuleRequest(input) + return out, req.Send() +} + +// ValidatePullThroughCacheRuleWithContext is the same as ValidatePullThroughCacheRule with the addition of +// the ability to pass a context and additional request options. +// +// See ValidatePullThroughCacheRule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ECR) ValidatePullThroughCacheRuleWithContext(ctx aws.Context, input *ValidatePullThroughCacheRuleInput, opts ...request.Option) (*ValidatePullThroughCacheRuleOutput, error) { + req, out := c.ValidatePullThroughCacheRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + // This data type is used in the ImageScanFinding data type. type Attribute struct { _ struct{} `type:"structure"` @@ -5075,6 +5297,10 @@ func (s *CompleteLayerUploadOutput) SetUploadId(v string) *CompleteLayerUploadOu type CreatePullThroughCacheRuleInput struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager + // secret that identifies the credentials to authenticate to the upstream registry. + CredentialArn *string `locationName:"credentialArn" min:"50" type:"string"` + // The repository name prefix to use when caching images from the source registry. // // EcrRepositoryPrefix is a required field @@ -5085,8 +5311,24 @@ type CreatePullThroughCacheRuleInput struct { // registry is assumed. RegistryId *string `locationName:"registryId" type:"string"` + // The name of the upstream registry. + UpstreamRegistry *string `locationName:"upstreamRegistry" type:"string" enum:"UpstreamRegistry"` + // The registry URL of the upstream public registry to use as the source for - // the pull through cache rule. + // the pull through cache rule. The following is the syntax to use for each + // supported upstream registry. + // + // * Amazon ECR Public (ecr-public) - public.ecr.aws + // + // * Docker Hub (docker-hub) - registry-1.docker.io + // + // * Quay (quay) - quay.io + // + // * Kubernetes (k8s) - registry.k8s.io + // + // * GitHub Container Registry (github-container-registry) - ghcr.io + // + // * Microsoft Azure Container Registry (azure-container-registry) - .azurecr.io // // UpstreamRegistryUrl is a required field UpstreamRegistryUrl *string `locationName:"upstreamRegistryUrl" type:"string" required:"true"` @@ -5113,6 +5355,9 @@ func (s CreatePullThroughCacheRuleInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreatePullThroughCacheRuleInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreatePullThroughCacheRuleInput"} + if s.CredentialArn != nil && len(*s.CredentialArn) < 50 { + invalidParams.Add(request.NewErrParamMinLen("CredentialArn", 50)) + } if s.EcrRepositoryPrefix == nil { invalidParams.Add(request.NewErrParamRequired("EcrRepositoryPrefix")) } @@ -5129,6 +5374,12 @@ func (s *CreatePullThroughCacheRuleInput) Validate() error { return nil } +// SetCredentialArn sets the CredentialArn field's value. +func (s *CreatePullThroughCacheRuleInput) SetCredentialArn(v string) *CreatePullThroughCacheRuleInput { + s.CredentialArn = &v + return s +} + // SetEcrRepositoryPrefix sets the EcrRepositoryPrefix field's value. func (s *CreatePullThroughCacheRuleInput) SetEcrRepositoryPrefix(v string) *CreatePullThroughCacheRuleInput { s.EcrRepositoryPrefix = &v @@ -5141,6 +5392,12 @@ func (s *CreatePullThroughCacheRuleInput) SetRegistryId(v string) *CreatePullThr return s } +// SetUpstreamRegistry sets the UpstreamRegistry field's value. +func (s *CreatePullThroughCacheRuleInput) SetUpstreamRegistry(v string) *CreatePullThroughCacheRuleInput { + s.UpstreamRegistry = &v + return s +} + // SetUpstreamRegistryUrl sets the UpstreamRegistryUrl field's value. func (s *CreatePullThroughCacheRuleInput) SetUpstreamRegistryUrl(v string) *CreatePullThroughCacheRuleInput { s.UpstreamRegistryUrl = &v @@ -5154,12 +5411,20 @@ type CreatePullThroughCacheRuleOutput struct { // rule was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + // The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager + // secret associated with the pull through cache rule. + CredentialArn *string `locationName:"credentialArn" min:"50" type:"string"` + // The Amazon ECR repository prefix associated with the pull through cache rule. EcrRepositoryPrefix *string `locationName:"ecrRepositoryPrefix" min:"2" type:"string"` // The registry ID associated with the request. RegistryId *string `locationName:"registryId" type:"string"` + // The name of the upstream registry associated with the pull through cache + // rule. + UpstreamRegistry *string `locationName:"upstreamRegistry" type:"string" enum:"UpstreamRegistry"` + // The upstream registry URL associated with the pull through cache rule. UpstreamRegistryUrl *string `locationName:"upstreamRegistryUrl" type:"string"` } @@ -5188,6 +5453,12 @@ func (s *CreatePullThroughCacheRuleOutput) SetCreatedAt(v time.Time) *CreatePull return s } +// SetCredentialArn sets the CredentialArn field's value. +func (s *CreatePullThroughCacheRuleOutput) SetCredentialArn(v string) *CreatePullThroughCacheRuleOutput { + s.CredentialArn = &v + return s +} + // SetEcrRepositoryPrefix sets the EcrRepositoryPrefix field's value. func (s *CreatePullThroughCacheRuleOutput) SetEcrRepositoryPrefix(v string) *CreatePullThroughCacheRuleOutput { s.EcrRepositoryPrefix = &v @@ -5200,6 +5471,12 @@ func (s *CreatePullThroughCacheRuleOutput) SetRegistryId(v string) *CreatePullTh return s } +// SetUpstreamRegistry sets the UpstreamRegistry field's value. +func (s *CreatePullThroughCacheRuleOutput) SetUpstreamRegistry(v string) *CreatePullThroughCacheRuleOutput { + s.UpstreamRegistry = &v + return s +} + // SetUpstreamRegistryUrl sets the UpstreamRegistryUrl field's value. func (s *CreatePullThroughCacheRuleOutput) SetUpstreamRegistryUrl(v string) *CreatePullThroughCacheRuleOutput { s.UpstreamRegistryUrl = &v @@ -5715,6 +5992,10 @@ type DeletePullThroughCacheRuleOutput struct { // The timestamp associated with the pull through cache rule. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + // The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager + // secret associated with the pull through cache rule. + CredentialArn *string `locationName:"credentialArn" min:"50" type:"string"` + // The Amazon ECR repository prefix associated with the request. EcrRepositoryPrefix *string `locationName:"ecrRepositoryPrefix" min:"2" type:"string"` @@ -5749,6 +6030,12 @@ func (s *DeletePullThroughCacheRuleOutput) SetCreatedAt(v time.Time) *DeletePull return s } +// SetCredentialArn sets the CredentialArn field's value. +func (s *DeletePullThroughCacheRuleOutput) SetCredentialArn(v string) *DeletePullThroughCacheRuleOutput { + s.CredentialArn = &v + return s +} + // SetEcrRepositoryPrefix sets the EcrRepositoryPrefix field's value. func (s *DeletePullThroughCacheRuleOutput) SetEcrRepositoryPrefix(v string) *DeletePullThroughCacheRuleOutput { s.EcrRepositoryPrefix = &v @@ -5832,7 +6119,8 @@ func (s *DeleteRegistryPolicyOutput) SetRegistryId(v string) *DeleteRegistryPoli type DeleteRepositoryInput struct { _ struct{} `type:"structure"` - // If a repository contains images, forces the deletion. + // If true, deleting the repository force deletes the contents of the repository. + // If false, the repository must be empty before attempting to delete it. Force *bool `locationName:"force" type:"boolean"` // The Amazon Web Services account ID associated with the registry that contains @@ -10473,6 +10761,10 @@ type PullThroughCacheRule struct { // The date and time the pull through cache was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + // The ARN of the Secrets Manager secret associated with the pull through cache + // rule. + CredentialArn *string `locationName:"credentialArn" min:"50" type:"string"` + // The Amazon ECR repository prefix associated with the pull through cache rule. EcrRepositoryPrefix *string `locationName:"ecrRepositoryPrefix" min:"2" type:"string"` @@ -10480,6 +10772,14 @@ type PullThroughCacheRule struct { // through cache rule is associated with. RegistryId *string `locationName:"registryId" type:"string"` + // The date and time, in JavaScript date format, when the pull through cache + // rule was last updated. + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` + + // The name of the upstream source registry associated with the pull through + // cache rule. + UpstreamRegistry *string `locationName:"upstreamRegistry" type:"string" enum:"UpstreamRegistry"` + // The upstream registry URL associated with the pull through cache rule. UpstreamRegistryUrl *string `locationName:"upstreamRegistryUrl" type:"string"` } @@ -10508,6 +10808,12 @@ func (s *PullThroughCacheRule) SetCreatedAt(v time.Time) *PullThroughCacheRule { return s } +// SetCredentialArn sets the CredentialArn field's value. +func (s *PullThroughCacheRule) SetCredentialArn(v string) *PullThroughCacheRule { + s.CredentialArn = &v + return s +} + // SetEcrRepositoryPrefix sets the EcrRepositoryPrefix field's value. func (s *PullThroughCacheRule) SetEcrRepositoryPrefix(v string) *PullThroughCacheRule { s.EcrRepositoryPrefix = &v @@ -10520,6 +10826,18 @@ func (s *PullThroughCacheRule) SetRegistryId(v string) *PullThroughCacheRule { return s } +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *PullThroughCacheRule) SetUpdatedAt(v time.Time) *PullThroughCacheRule { + s.UpdatedAt = &v + return s +} + +// SetUpstreamRegistry sets the UpstreamRegistry field's value. +func (s *PullThroughCacheRule) SetUpstreamRegistry(v string) *PullThroughCacheRule { + s.UpstreamRegistry = &v + return s +} + // SetUpstreamRegistryUrl sets the UpstreamRegistryUrl field's value. func (s *PullThroughCacheRule) SetUpstreamRegistryUrl(v string) *PullThroughCacheRule { s.UpstreamRegistryUrl = &v @@ -12782,6 +13100,71 @@ func (s *ScoreDetails) SetCvss(v *CvssScoreDetails) *ScoreDetails { return s } +// The ARN of the secret specified in the pull through cache rule was not found. +// Update the pull through cache rule with a valid secret ARN and try again. +type SecretNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SecretNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SecretNotFoundException) GoString() string { + return s.String() +} + +func newErrorSecretNotFoundException(v protocol.ResponseMetadata) error { + return &SecretNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *SecretNotFoundException) Code() string { + return "SecretNotFoundException" +} + +// Message returns the exception's message. +func (s *SecretNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *SecretNotFoundException) OrigErr() error { + return nil +} + +func (s *SecretNotFoundException) 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 *SecretNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *SecretNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + // These errors are usually caused by a server-side issue. type ServerException struct { _ struct{} `type:"structure"` @@ -13476,8 +13859,9 @@ func (s *TooManyTagsException) RequestID() string { return s.RespMetadata.RequestID } -// The image is of a type that cannot be scanned. -type UnsupportedImageTypeException struct { +// The secret is unable to be accessed. Verify the resource permissions for +// the secret and try again. +type UnableToAccessSecretException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -13489,7 +13873,7 @@ type UnsupportedImageTypeException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UnsupportedImageTypeException) String() string { +func (s UnableToAccessSecretException) String() string { return awsutil.Prettify(s) } @@ -13498,19 +13882,279 @@ func (s UnsupportedImageTypeException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UnsupportedImageTypeException) GoString() string { +func (s UnableToAccessSecretException) GoString() string { return s.String() } -func newErrorUnsupportedImageTypeException(v protocol.ResponseMetadata) error { - return &UnsupportedImageTypeException{ +func newErrorUnableToAccessSecretException(v protocol.ResponseMetadata) error { + return &UnableToAccessSecretException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *UnsupportedImageTypeException) Code() string { - return "UnsupportedImageTypeException" +func (s *UnableToAccessSecretException) Code() string { + return "UnableToAccessSecretException" +} + +// Message returns the exception's message. +func (s *UnableToAccessSecretException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UnableToAccessSecretException) OrigErr() error { + return nil +} + +func (s *UnableToAccessSecretException) 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 *UnableToAccessSecretException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UnableToAccessSecretException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The secret is accessible but is unable to be decrypted. Verify the resource +// permisisons and try again. +type UnableToDecryptSecretValueException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnableToDecryptSecretValueException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnableToDecryptSecretValueException) GoString() string { + return s.String() +} + +func newErrorUnableToDecryptSecretValueException(v protocol.ResponseMetadata) error { + return &UnableToDecryptSecretValueException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UnableToDecryptSecretValueException) Code() string { + return "UnableToDecryptSecretValueException" +} + +// Message returns the exception's message. +func (s *UnableToDecryptSecretValueException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UnableToDecryptSecretValueException) OrigErr() error { + return nil +} + +func (s *UnableToDecryptSecretValueException) 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 *UnableToDecryptSecretValueException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UnableToDecryptSecretValueException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The image or images were unable to be pulled using the pull through cache +// rule. This is usually caused because of an issue with the Secrets Manager +// secret containing the credentials for the upstream registry. +type UnableToGetUpstreamImageException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnableToGetUpstreamImageException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnableToGetUpstreamImageException) GoString() string { + return s.String() +} + +func newErrorUnableToGetUpstreamImageException(v protocol.ResponseMetadata) error { + return &UnableToGetUpstreamImageException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UnableToGetUpstreamImageException) Code() string { + return "UnableToGetUpstreamImageException" +} + +// Message returns the exception's message. +func (s *UnableToGetUpstreamImageException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UnableToGetUpstreamImageException) OrigErr() error { + return nil +} + +func (s *UnableToGetUpstreamImageException) 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 *UnableToGetUpstreamImageException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UnableToGetUpstreamImageException) RequestID() string { + return s.RespMetadata.RequestID +} + +// There was an issue getting the upstream layer matching the pull through cache +// rule. +type UnableToGetUpstreamLayerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnableToGetUpstreamLayerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnableToGetUpstreamLayerException) GoString() string { + return s.String() +} + +func newErrorUnableToGetUpstreamLayerException(v protocol.ResponseMetadata) error { + return &UnableToGetUpstreamLayerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UnableToGetUpstreamLayerException) Code() string { + return "UnableToGetUpstreamLayerException" +} + +// Message returns the exception's message. +func (s *UnableToGetUpstreamLayerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UnableToGetUpstreamLayerException) OrigErr() error { + return nil +} + +func (s *UnableToGetUpstreamLayerException) 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 *UnableToGetUpstreamLayerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UnableToGetUpstreamLayerException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The image is of a type that cannot be scanned. +type UnsupportedImageTypeException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnsupportedImageTypeException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UnsupportedImageTypeException) GoString() string { + return s.String() +} + +func newErrorUnsupportedImageTypeException(v protocol.ResponseMetadata) error { + return &UnsupportedImageTypeException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UnsupportedImageTypeException) Code() string { + return "UnsupportedImageTypeException" } // Message returns the exception's message. @@ -13687,6 +14331,144 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +type UpdatePullThroughCacheRuleInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager + // secret that identifies the credentials to authenticate to the upstream registry. + // + // CredentialArn is a required field + CredentialArn *string `locationName:"credentialArn" min:"50" type:"string" required:"true"` + + // The repository name prefix to use when caching images from the source registry. + // + // EcrRepositoryPrefix is a required field + EcrRepositoryPrefix *string `locationName:"ecrRepositoryPrefix" min:"2" type:"string" required:"true"` + + // The Amazon Web Services account ID associated with the registry associated + // with the pull through cache rule. If you do not specify a registry, the default + // registry is assumed. + RegistryId *string `locationName:"registryId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdatePullThroughCacheRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdatePullThroughCacheRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdatePullThroughCacheRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdatePullThroughCacheRuleInput"} + if s.CredentialArn == nil { + invalidParams.Add(request.NewErrParamRequired("CredentialArn")) + } + if s.CredentialArn != nil && len(*s.CredentialArn) < 50 { + invalidParams.Add(request.NewErrParamMinLen("CredentialArn", 50)) + } + if s.EcrRepositoryPrefix == nil { + invalidParams.Add(request.NewErrParamRequired("EcrRepositoryPrefix")) + } + if s.EcrRepositoryPrefix != nil && len(*s.EcrRepositoryPrefix) < 2 { + invalidParams.Add(request.NewErrParamMinLen("EcrRepositoryPrefix", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCredentialArn sets the CredentialArn field's value. +func (s *UpdatePullThroughCacheRuleInput) SetCredentialArn(v string) *UpdatePullThroughCacheRuleInput { + s.CredentialArn = &v + return s +} + +// SetEcrRepositoryPrefix sets the EcrRepositoryPrefix field's value. +func (s *UpdatePullThroughCacheRuleInput) SetEcrRepositoryPrefix(v string) *UpdatePullThroughCacheRuleInput { + s.EcrRepositoryPrefix = &v + return s +} + +// SetRegistryId sets the RegistryId field's value. +func (s *UpdatePullThroughCacheRuleInput) SetRegistryId(v string) *UpdatePullThroughCacheRuleInput { + s.RegistryId = &v + return s +} + +type UpdatePullThroughCacheRuleOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager + // secret associated with the pull through cache rule. + CredentialArn *string `locationName:"credentialArn" min:"50" type:"string"` + + // The Amazon ECR repository prefix associated with the pull through cache rule. + EcrRepositoryPrefix *string `locationName:"ecrRepositoryPrefix" min:"2" type:"string"` + + // The registry ID associated with the request. + RegistryId *string `locationName:"registryId" type:"string"` + + // The date and time, in JavaScript date format, when the pull through cache + // rule was updated. + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdatePullThroughCacheRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdatePullThroughCacheRuleOutput) GoString() string { + return s.String() +} + +// SetCredentialArn sets the CredentialArn field's value. +func (s *UpdatePullThroughCacheRuleOutput) SetCredentialArn(v string) *UpdatePullThroughCacheRuleOutput { + s.CredentialArn = &v + return s +} + +// SetEcrRepositoryPrefix sets the EcrRepositoryPrefix field's value. +func (s *UpdatePullThroughCacheRuleOutput) SetEcrRepositoryPrefix(v string) *UpdatePullThroughCacheRuleOutput { + s.EcrRepositoryPrefix = &v + return s +} + +// SetRegistryId sets the RegistryId field's value. +func (s *UpdatePullThroughCacheRuleOutput) SetRegistryId(v string) *UpdatePullThroughCacheRuleOutput { + s.RegistryId = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *UpdatePullThroughCacheRuleOutput) SetUpdatedAt(v time.Time) *UpdatePullThroughCacheRuleOutput { + s.UpdatedAt = &v + return s +} + type UploadLayerPartInput struct { _ struct{} `type:"structure"` @@ -13931,6 +14713,147 @@ func (s *UploadNotFoundException) RequestID() string { return s.RespMetadata.RequestID } +type ValidatePullThroughCacheRuleInput struct { + _ struct{} `type:"structure"` + + // The repository name prefix associated with the pull through cache rule. + // + // EcrRepositoryPrefix is a required field + EcrRepositoryPrefix *string `locationName:"ecrRepositoryPrefix" min:"2" type:"string" required:"true"` + + // The registry ID associated with the pull through cache rule. If you do not + // specify a registry, the default registry is assumed. + RegistryId *string `locationName:"registryId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidatePullThroughCacheRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidatePullThroughCacheRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ValidatePullThroughCacheRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ValidatePullThroughCacheRuleInput"} + if s.EcrRepositoryPrefix == nil { + invalidParams.Add(request.NewErrParamRequired("EcrRepositoryPrefix")) + } + if s.EcrRepositoryPrefix != nil && len(*s.EcrRepositoryPrefix) < 2 { + invalidParams.Add(request.NewErrParamMinLen("EcrRepositoryPrefix", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEcrRepositoryPrefix sets the EcrRepositoryPrefix field's value. +func (s *ValidatePullThroughCacheRuleInput) SetEcrRepositoryPrefix(v string) *ValidatePullThroughCacheRuleInput { + s.EcrRepositoryPrefix = &v + return s +} + +// SetRegistryId sets the RegistryId field's value. +func (s *ValidatePullThroughCacheRuleInput) SetRegistryId(v string) *ValidatePullThroughCacheRuleInput { + s.RegistryId = &v + return s +} + +type ValidatePullThroughCacheRuleOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager + // secret associated with the pull through cache rule. + CredentialArn *string `locationName:"credentialArn" min:"50" type:"string"` + + // The Amazon ECR repository prefix associated with the pull through cache rule. + EcrRepositoryPrefix *string `locationName:"ecrRepositoryPrefix" min:"2" type:"string"` + + // The reason the validation failed. For more details about possible causes + // and how to address them, see Using pull through cache rules (https://docs.aws.amazon.com/AmazonECR/latest/userguide/pull-through-cache.html) + // in the Amazon Elastic Container Registry User Guide. + Failure *string `locationName:"failure" type:"string"` + + // Whether or not the pull through cache rule was validated. If true, Amazon + // ECR was able to reach the upstream registry and authentication was successful. + // If false, there was an issue and validation failed. The failure reason indicates + // the cause. + IsValid *bool `locationName:"isValid" type:"boolean"` + + // The registry ID associated with the request. + RegistryId *string `locationName:"registryId" type:"string"` + + // The upstream registry URL associated with the pull through cache rule. + UpstreamRegistryUrl *string `locationName:"upstreamRegistryUrl" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidatePullThroughCacheRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidatePullThroughCacheRuleOutput) GoString() string { + return s.String() +} + +// SetCredentialArn sets the CredentialArn field's value. +func (s *ValidatePullThroughCacheRuleOutput) SetCredentialArn(v string) *ValidatePullThroughCacheRuleOutput { + s.CredentialArn = &v + return s +} + +// SetEcrRepositoryPrefix sets the EcrRepositoryPrefix field's value. +func (s *ValidatePullThroughCacheRuleOutput) SetEcrRepositoryPrefix(v string) *ValidatePullThroughCacheRuleOutput { + s.EcrRepositoryPrefix = &v + return s +} + +// SetFailure sets the Failure field's value. +func (s *ValidatePullThroughCacheRuleOutput) SetFailure(v string) *ValidatePullThroughCacheRuleOutput { + s.Failure = &v + return s +} + +// SetIsValid sets the IsValid field's value. +func (s *ValidatePullThroughCacheRuleOutput) SetIsValid(v bool) *ValidatePullThroughCacheRuleOutput { + s.IsValid = &v + return s +} + +// SetRegistryId sets the RegistryId field's value. +func (s *ValidatePullThroughCacheRuleOutput) SetRegistryId(v string) *ValidatePullThroughCacheRuleOutput { + s.RegistryId = &v + return s +} + +// SetUpstreamRegistryUrl sets the UpstreamRegistryUrl field's value. +func (s *ValidatePullThroughCacheRuleOutput) SetUpstreamRegistryUrl(v string) *ValidatePullThroughCacheRuleOutput { + s.UpstreamRegistryUrl = &v + return s +} + // There was an exception validating this request. type ValidationException struct { _ struct{} `type:"structure"` @@ -14171,6 +15094,15 @@ const ( // ImageFailureCodeKmsError is a ImageFailureCode enum value ImageFailureCodeKmsError = "KmsError" + + // ImageFailureCodeUpstreamAccessDenied is a ImageFailureCode enum value + ImageFailureCodeUpstreamAccessDenied = "UpstreamAccessDenied" + + // ImageFailureCodeUpstreamTooManyRequests is a ImageFailureCode enum value + ImageFailureCodeUpstreamTooManyRequests = "UpstreamTooManyRequests" + + // ImageFailureCodeUpstreamUnavailable is a ImageFailureCode enum value + ImageFailureCodeUpstreamUnavailable = "UpstreamUnavailable" ) // ImageFailureCode_Values returns all elements of the ImageFailureCode enum @@ -14183,6 +15115,9 @@ func ImageFailureCode_Values() []string { ImageFailureCodeMissingDigestAndTag, ImageFailureCodeImageReferencedByManifestList, ImageFailureCodeKmsError, + ImageFailureCodeUpstreamAccessDenied, + ImageFailureCodeUpstreamTooManyRequests, + ImageFailureCodeUpstreamUnavailable, } } @@ -14409,3 +15344,35 @@ func TagStatus_Values() []string { TagStatusAny, } } + +const ( + // UpstreamRegistryEcrPublic is a UpstreamRegistry enum value + UpstreamRegistryEcrPublic = "ecr-public" + + // UpstreamRegistryQuay is a UpstreamRegistry enum value + UpstreamRegistryQuay = "quay" + + // UpstreamRegistryK8s is a UpstreamRegistry enum value + UpstreamRegistryK8s = "k8s" + + // UpstreamRegistryDockerHub is a UpstreamRegistry enum value + UpstreamRegistryDockerHub = "docker-hub" + + // UpstreamRegistryGithubContainerRegistry is a UpstreamRegistry enum value + UpstreamRegistryGithubContainerRegistry = "github-container-registry" + + // UpstreamRegistryAzureContainerRegistry is a UpstreamRegistry enum value + UpstreamRegistryAzureContainerRegistry = "azure-container-registry" +) + +// UpstreamRegistry_Values returns all elements of the UpstreamRegistry enum +func UpstreamRegistry_Values() []string { + return []string{ + UpstreamRegistryEcrPublic, + UpstreamRegistryQuay, + UpstreamRegistryK8s, + UpstreamRegistryDockerHub, + UpstreamRegistryGithubContainerRegistry, + UpstreamRegistryAzureContainerRegistry, + } +} diff --git a/service/ecr/ecriface/interface.go b/service/ecr/ecriface/interface.go index 50cdb50ff6d..cba70e77b10 100644 --- a/service/ecr/ecriface/interface.go +++ b/service/ecr/ecriface/interface.go @@ -238,10 +238,18 @@ type ECRAPI interface { UntagResourceWithContext(aws.Context, *ecr.UntagResourceInput, ...request.Option) (*ecr.UntagResourceOutput, error) UntagResourceRequest(*ecr.UntagResourceInput) (*request.Request, *ecr.UntagResourceOutput) + UpdatePullThroughCacheRule(*ecr.UpdatePullThroughCacheRuleInput) (*ecr.UpdatePullThroughCacheRuleOutput, error) + UpdatePullThroughCacheRuleWithContext(aws.Context, *ecr.UpdatePullThroughCacheRuleInput, ...request.Option) (*ecr.UpdatePullThroughCacheRuleOutput, error) + UpdatePullThroughCacheRuleRequest(*ecr.UpdatePullThroughCacheRuleInput) (*request.Request, *ecr.UpdatePullThroughCacheRuleOutput) + UploadLayerPart(*ecr.UploadLayerPartInput) (*ecr.UploadLayerPartOutput, error) UploadLayerPartWithContext(aws.Context, *ecr.UploadLayerPartInput, ...request.Option) (*ecr.UploadLayerPartOutput, error) UploadLayerPartRequest(*ecr.UploadLayerPartInput) (*request.Request, *ecr.UploadLayerPartOutput) + ValidatePullThroughCacheRule(*ecr.ValidatePullThroughCacheRuleInput) (*ecr.ValidatePullThroughCacheRuleOutput, error) + ValidatePullThroughCacheRuleWithContext(aws.Context, *ecr.ValidatePullThroughCacheRuleInput, ...request.Option) (*ecr.ValidatePullThroughCacheRuleOutput, error) + ValidatePullThroughCacheRuleRequest(*ecr.ValidatePullThroughCacheRuleInput) (*request.Request, *ecr.ValidatePullThroughCacheRuleOutput) + WaitUntilImageScanComplete(*ecr.DescribeImageScanFindingsInput) error WaitUntilImageScanCompleteWithContext(aws.Context, *ecr.DescribeImageScanFindingsInput, ...request.WaiterOption) error diff --git a/service/ecr/errors.go b/service/ecr/errors.go index a8392ade8f8..4e2bed930fb 100644 --- a/service/ecr/errors.go +++ b/service/ecr/errors.go @@ -189,6 +189,13 @@ const ( // enabled on the repository and try again. ErrCodeScanNotFoundException = "ScanNotFoundException" + // ErrCodeSecretNotFoundException for service response error code + // "SecretNotFoundException". + // + // The ARN of the secret specified in the pull through cache rule was not found. + // Update the pull through cache rule with a valid secret ARN and try again. + ErrCodeSecretNotFoundException = "SecretNotFoundException" + // ErrCodeServerException for service response error code // "ServerException". // @@ -202,6 +209,35 @@ const ( // of tags that can be applied to a repository is 50. ErrCodeTooManyTagsException = "TooManyTagsException" + // ErrCodeUnableToAccessSecretException for service response error code + // "UnableToAccessSecretException". + // + // The secret is unable to be accessed. Verify the resource permissions for + // the secret and try again. + ErrCodeUnableToAccessSecretException = "UnableToAccessSecretException" + + // ErrCodeUnableToDecryptSecretValueException for service response error code + // "UnableToDecryptSecretValueException". + // + // The secret is accessible but is unable to be decrypted. Verify the resource + // permisisons and try again. + ErrCodeUnableToDecryptSecretValueException = "UnableToDecryptSecretValueException" + + // ErrCodeUnableToGetUpstreamImageException for service response error code + // "UnableToGetUpstreamImageException". + // + // The image or images were unable to be pulled using the pull through cache + // rule. This is usually caused because of an issue with the Secrets Manager + // secret containing the credentials for the upstream registry. + ErrCodeUnableToGetUpstreamImageException = "UnableToGetUpstreamImageException" + + // ErrCodeUnableToGetUpstreamLayerException for service response error code + // "UnableToGetUpstreamLayerException". + // + // There was an issue getting the upstream layer matching the pull through cache + // rule. + ErrCodeUnableToGetUpstreamLayerException = "UnableToGetUpstreamLayerException" + // ErrCodeUnsupportedImageTypeException for service response error code // "UnsupportedImageTypeException". // @@ -256,8 +292,13 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "RepositoryNotFoundException": newErrorRepositoryNotFoundException, "RepositoryPolicyNotFoundException": newErrorRepositoryPolicyNotFoundException, "ScanNotFoundException": newErrorScanNotFoundException, + "SecretNotFoundException": newErrorSecretNotFoundException, "ServerException": newErrorServerException, "TooManyTagsException": newErrorTooManyTagsException, + "UnableToAccessSecretException": newErrorUnableToAccessSecretException, + "UnableToDecryptSecretValueException": newErrorUnableToDecryptSecretValueException, + "UnableToGetUpstreamImageException": newErrorUnableToGetUpstreamImageException, + "UnableToGetUpstreamLayerException": newErrorUnableToGetUpstreamLayerException, "UnsupportedImageTypeException": newErrorUnsupportedImageTypeException, "UnsupportedUpstreamRegistryException": newErrorUnsupportedUpstreamRegistryException, "UploadNotFoundException": newErrorUploadNotFoundException, diff --git a/service/ecr/examples_test.go b/service/ecr/examples_test.go index e66ba3261a9..1cd58013ab7 100644 --- a/service/ecr/examples_test.go +++ b/service/ecr/examples_test.go @@ -87,6 +87,10 @@ func ExampleECR_BatchGetImage_shared00() { fmt.Println(ecr.ErrCodeInvalidParameterException, aerr.Error()) case ecr.ErrCodeRepositoryNotFoundException: fmt.Println(ecr.ErrCodeRepositoryNotFoundException, aerr.Error()) + case ecr.ErrCodeLimitExceededException: + fmt.Println(ecr.ErrCodeLimitExceededException, aerr.Error()) + case ecr.ErrCodeUnableToGetUpstreamImageException: + fmt.Println(ecr.ErrCodeUnableToGetUpstreamImageException, aerr.Error()) default: fmt.Println(aerr.Error()) } diff --git a/service/emr/api.go b/service/emr/api.go index 1fa9a4d45b1..61b2b1ba12d 100644 --- a/service/emr/api.go +++ b/service/emr/api.go @@ -59,7 +59,7 @@ func (c *EMR) AddInstanceFleetRequest(input *AddInstanceFleetInput) (req *reques // Adds an instance fleet to a running cluster. // // The instance fleet configuration is available only in Amazon EMR releases -// 4.8.0 and higher, excluding 5.0.x. +// 4.8.0 and later, excluding 5.0.x. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -411,13 +411,12 @@ func (c *EMR) CancelStepsRequest(input *CancelStepsInput) (req *request.Request, // CancelSteps API operation for Amazon EMR. // // Cancels a pending step or steps in a running cluster. Available only in Amazon -// EMR versions 4.8.0 and higher, excluding version 5.0.0. A maximum of 256 -// steps are allowed in each CancelSteps request. CancelSteps is idempotent -// but asynchronous; it does not guarantee that a step will be canceled, even -// if the request is successfully submitted. When you use Amazon EMR releases -// 5.28.0 and higher, you can cancel steps that are in a PENDING or RUNNING -// state. In earlier versions of Amazon EMR, you can only cancel steps that -// are in a PENDING state. +// EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps +// are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous; +// it does not guarantee that a step will be canceled, even if the request is +// successfully submitted. When you use Amazon EMR releases 5.28.0 and later, +// you can cancel steps that are in a PENDING or RUNNING state. In earlier versions +// of Amazon EMR, you can only cancel steps that are in a PENDING state. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2315,7 +2314,7 @@ func (c *EMR) ListInstanceFleetsRequest(input *ListInstanceFleetsInput) (req *re // Lists all available details about the instance fleets in a cluster. // // The instance fleet configuration is available only in Amazon EMR releases -// 4.8.0 and higher, excluding 5.0.x versions. +// 4.8.0 and later, excluding 5.0.x versions. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3817,7 +3816,7 @@ func (c *EMR) ModifyInstanceFleetRequest(input *ModifyInstanceFleetInput) (req * // ClusterID. The call either succeeds or fails atomically. // // The instance fleet configuration is available only in Amazon EMR releases -// 4.8.0 and higher, excluding 5.0.x versions. +// 4.8.0 and later, excluding 5.0.x versions. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4061,7 +4060,7 @@ func (c *EMR) PutAutoTerminationPolicyRequest(input *PutAutoTerminationPolicyInp // PutAutoTerminationPolicy API operation for Amazon EMR. // // Auto-termination is supported in Amazon EMR releases 5.30.0 and 6.1.0 and -// higher. For more information, see Using an auto-termination policy (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-auto-termination-policy.html). +// later. For more information, see Using an auto-termination policy (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-auto-termination-policy.html). // // Creates or updates an auto-termination policy for an Amazon EMR cluster. // An auto-termination policy defines the amount of idle time in seconds after @@ -4639,7 +4638,7 @@ func (c *EMR) RunJobFlowRequest(input *RunJobFlowInput) (req *request.Request, o // results. // // The instance fleets configuration is available only in Amazon EMR releases -// 4.8.0 and higher, excluding 5.0.x versions. The RunJobFlow request can contain +// 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow request can contain // InstanceFleets parameters or InstanceGroups parameters, but not both. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5738,7 +5737,7 @@ func (s AddTagsOutput) GoString() string { return s.String() } -// With Amazon EMR release version 4.0 and higher, the only accepted parameter +// With Amazon EMR release version 4.0 and later, the only accepted parameter // is the application name. To pass arguments to applications, you use configuration // classifications specified using configuration JSON objects. For more information, // see Configuring Applications (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html). @@ -6294,7 +6293,7 @@ func (s *BootstrapActionDetail) SetBootstrapActionConfig(v *BootstrapActionConfi } // Specification of the status of a CancelSteps request. Available only in Amazon -// EMR version 4.8.0 and higher, excluding version 5.0.0. +// EMR version 4.8.0 and later, excluding version 5.0.0. type CancelStepsInfo struct { _ struct{} `type:"structure"` @@ -6611,26 +6610,27 @@ type Cluster struct { // The Amazon Resource Name of the cluster. ClusterArn *string `min:"20" type:"string"` - // Applies only to Amazon EMR releases 4.x and higher. The list of configurations + // Applies only to Amazon EMR releases 4.x and later. The list of configurations // that are supplied to the Amazon EMR cluster. Configurations []*Configuration `type:"list"` - // Available only in Amazon EMR releases 5.7.0 and higher. The ID of a custom + // Available only in Amazon EMR releases 5.7.0 and later. The ID of a custom // Amazon EBS-backed Linux AMI if the cluster uses a custom AMI. CustomAmiId *string `type:"string"` - // The IOPS, of the Amazon EBS root device volume for the Linux AMI that each - // Amazon EC2 instance uses. Available in Amazon EMR releases 6.15.0 and higher. + // The IOPS, of the Amazon EBS root device volume of the Linux AMI that is used + // for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and + // later. EbsRootVolumeIops *int64 `type:"integer"` - // The size, in GiB, of the Amazon EBS root device volume for the Linux AMI - // that each Amazon EC2 instance uses. Available in Amazon EMR releases 4.x - // and higher. + // The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that + // is used for each Amazon EC2 instance. Available in Amazon EMR releases 4.x + // and later. EbsRootVolumeSize *int64 `type:"integer"` - // The throughput, in MiB/s, of the Amazon EBS root device volume for the Linux - // AMI that each Amazon EC2 instance uses. Available in Amazon EMR releases - // 6.15.0 and higher. + // The throughput, in MiB/s, of the Amazon EBS root device volume of the Linux + // AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases + // 6.15.0 and later. EbsRootVolumeThroughput *int64 `type:"integer"` // Provides information about the Amazon EC2 instances in a cluster grouped @@ -6643,7 +6643,7 @@ type Cluster struct { // // The instance fleet configuration is available only in Amazon EMR releases - // 4.8.0 and higher, excluding 5.0.x versions. + // 4.8.0 and later, excluding 5.0.x versions. // // The instance group configuration of the cluster. A value of INSTANCE_GROUP // indicates a uniform instance group configuration. A value of INSTANCE_FLEET @@ -6657,7 +6657,7 @@ type Cluster struct { KerberosAttributes *KerberosAttributes `type:"structure"` // The KMS key used for encrypting log files. This attribute is only available - // with Amazon EMR 5.30.0 and higher, excluding Amazon EMR 6.0.0. + // with Amazon EMR 5.30.0 and later, excluding Amazon EMR 6.0.0. LogEncryptionKmsKeyId *string `type:"string"` // The path to the Amazon S3 location where logs for this cluster are stored. @@ -6695,7 +6695,7 @@ type Cluster struct { // For more information about Amazon EMR release versions and included application // versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/ // (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). The release label - // applies only to Amazon EMR releases version 4.0 and higher. Earlier versions + // applies only to Amazon EMR releases version 4.0 and later. Earlier versions // use AmiVersion. ReleaseLabel *string `type:"string"` @@ -6714,13 +6714,13 @@ type Cluster struct { // scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR // indicates that Amazon EMR terminates nodes at the instance-hour boundary, // regardless of when the request to terminate the instance was submitted. This - // option is only available with Amazon EMR 5.1.0 and higher and is the default + // option is only available with Amazon EMR 5.1.0 and later and is the default // for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates // that Amazon EMR adds nodes to a deny list and drains tasks from nodes before // terminating the Amazon EC2 instances, regardless of the instance-hour boundary. // With either behavior, Amazon EMR removes the least active nodes first and // blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION - // is available only in Amazon EMR releases 4.1.0 and higher, and is the default + // is available only in Amazon EMR releases 4.1.0 and later, and is the default // for versions of Amazon EMR earlier than 5.1.0. ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"` @@ -7372,7 +7372,7 @@ func (s *ComputeLimits) SetUnitType(v string) *ComputeLimits { return s } -// Amazon EMR releases 4.x or higher. +// Amazon EMR releases 4.x or later. // // An optional configuration specification to be used when provisioning cluster // instances, which can include configurations for applications and software @@ -7553,6 +7553,10 @@ type CreateStudioInput struct { // A detailed description of the Amazon EMR Studio. Description *string `type:"string"` + // The KMS key identifier (ARN) used to encrypt Amazon EMR Studio workspace + // and notebook files when backed up to Amazon S3. + EncryptionKeyArn *string `type:"string"` + // The ID of the Amazon EMR Studio Engine security group. The Engine security // group allows inbound network traffic from the Workspace security group, and // it must be in the same VPC specified by VpcId. @@ -7560,6 +7564,14 @@ type CreateStudioInput struct { // EngineSecurityGroupId is a required field EngineSecurityGroupId *string `type:"string" required:"true"` + // The ARN of the IAM Identity Center instance to create the Studio application. + IdcInstanceArn *string `min:"20" type:"string"` + + // Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. + // If the value is set to REQUIRED, users must be explicitly assigned to the + // Studio application to access the Studio. + IdcUserAssignment *string `type:"string" enum:"IdcUserAssignment"` + // The authentication endpoint of your identity provider (IdP). Specify this // value when you use IAM authentication and want to let federated users log // in to a Studio with the Studio URL and credentials from your IdP. Amazon @@ -7596,6 +7608,10 @@ type CreateStudioInput struct { // characters, and an optional value string with a maximum of 256 characters. Tags []*Tag `type:"list"` + // A Boolean indicating whether to enable Trusted identity propagation for the + // Studio. The default value is false. + TrustedIdentityPropagationEnabled *bool `type:"boolean"` + // The IAM user role that users and groups assume when logged in to an Amazon // EMR Studio. Only specify a UserRole when you use IAM Identity Center authentication. // The permissions attached to the UserRole can be scoped down for each user @@ -7646,6 +7662,9 @@ func (s *CreateStudioInput) Validate() error { if s.EngineSecurityGroupId == nil { invalidParams.Add(request.NewErrParamRequired("EngineSecurityGroupId")) } + if s.IdcInstanceArn != nil && len(*s.IdcInstanceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("IdcInstanceArn", 20)) + } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -7686,12 +7705,30 @@ func (s *CreateStudioInput) SetDescription(v string) *CreateStudioInput { return s } +// SetEncryptionKeyArn sets the EncryptionKeyArn field's value. +func (s *CreateStudioInput) SetEncryptionKeyArn(v string) *CreateStudioInput { + s.EncryptionKeyArn = &v + return s +} + // SetEngineSecurityGroupId sets the EngineSecurityGroupId field's value. func (s *CreateStudioInput) SetEngineSecurityGroupId(v string) *CreateStudioInput { s.EngineSecurityGroupId = &v return s } +// SetIdcInstanceArn sets the IdcInstanceArn field's value. +func (s *CreateStudioInput) SetIdcInstanceArn(v string) *CreateStudioInput { + s.IdcInstanceArn = &v + return s +} + +// SetIdcUserAssignment sets the IdcUserAssignment field's value. +func (s *CreateStudioInput) SetIdcUserAssignment(v string) *CreateStudioInput { + s.IdcUserAssignment = &v + return s +} + // SetIdpAuthUrl sets the IdpAuthUrl field's value. func (s *CreateStudioInput) SetIdpAuthUrl(v string) *CreateStudioInput { s.IdpAuthUrl = &v @@ -7728,6 +7765,12 @@ func (s *CreateStudioInput) SetTags(v []*Tag) *CreateStudioInput { return s } +// SetTrustedIdentityPropagationEnabled sets the TrustedIdentityPropagationEnabled field's value. +func (s *CreateStudioInput) SetTrustedIdentityPropagationEnabled(v bool) *CreateStudioInput { + s.TrustedIdentityPropagationEnabled = &v + return s +} + // SetUserRole sets the UserRole field's value. func (s *CreateStudioInput) SetUserRole(v string) *CreateStudioInput { s.UserRole = &v @@ -9488,8 +9531,8 @@ type GetBlockPublicAccessConfigurationOutput struct { // that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port // is specified as an exception using PermittedPublicSecurityGroupRuleRanges // in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, - // and public access is allowed on this port. To change this, update the block - // public access configuration to remove the exception. + // and public access is allowed on this port. You can change this by updating + // the block public access configuration to remove the exception. // // For accounts that created clusters in a Region before November 25, 2019, // block public access is disabled by default in that Region. To use this feature, @@ -10120,7 +10163,7 @@ func (s *Instance) SetStatus(v *InstanceStatus) *Instance { // Spot Instances, which are provisioned to meet a defined target capacity. // // The instance fleet configuration is available only in Amazon EMR releases -// 4.8.0 and higher, excluding 5.0.x versions. +// 4.8.0 and later, excluding 5.0.x versions. type InstanceFleet struct { _ struct{} `type:"structure"` @@ -10284,7 +10327,7 @@ func (s *InstanceFleet) SetTargetSpotCapacity(v int64) *InstanceFleet { // The configuration that defines an instance fleet. // // The instance fleet configuration is available only in Amazon EMR releases -// 4.8.0 and higher, excluding 5.0.x versions. +// 4.8.0 and later, excluding 5.0.x versions. type InstanceFleetConfig struct { _ struct{} `type:"structure"` @@ -10439,7 +10482,7 @@ func (s *InstanceFleetConfig) SetTargetSpotCapacity(v int64) *InstanceFleetConfi // Configuration parameters for an instance fleet modification request. // // The instance fleet configuration is available only in Amazon EMR releases -// 4.8.0 and higher, excluding 5.0.x versions. +// 4.8.0 and later, excluding 5.0.x versions. type InstanceFleetModifyConfig struct { _ struct{} `type:"structure"` @@ -10524,8 +10567,8 @@ func (s *InstanceFleetModifyConfig) SetTargetSpotCapacity(v int64) *InstanceFlee // the defined duration, provisioning timeout behavior, and allocation strategy. // // The instance fleet configuration is available only in Amazon EMR releases -// 4.8.0 and higher, excluding 5.0.x versions. On-Demand and Spot instance allocation -// strategies are available in Amazon EMR releases 5.12.1 and higher. +// 4.8.0 and later, excluding 5.0.x versions. On-Demand and Spot instance allocation +// strategies are available in Amazon EMR releases 5.12.1 and later. type InstanceFleetProvisioningSpecifications struct { _ struct{} `type:"structure"` @@ -10533,8 +10576,8 @@ type InstanceFleetProvisioningSpecifications struct { // determines the allocation strategy. // // The instance fleet configuration is available only in Amazon EMR releases - // 4.8.0 and higher, excluding 5.0.x versions. On-Demand Instances allocation - // strategy is available in Amazon EMR releases 5.12.1 and higher. + // 4.8.0 and later, excluding 5.0.x versions. On-Demand Instances allocation + // strategy is available in Amazon EMR releases 5.12.1 and later. OnDemandSpecification *OnDemandProvisioningSpecification `type:"structure"` // The launch specification for Spot instances in the fleet, which determines @@ -10658,7 +10701,7 @@ func (s *InstanceFleetResizingSpecifications) SetSpotResizeSpecification(v *Spot // Provides status change reason details for the instance fleet. // // The instance fleet configuration is available only in Amazon EMR releases -// 4.8.0 and higher, excluding 5.0.x versions. +// 4.8.0 and later, excluding 5.0.x versions. type InstanceFleetStateChangeReason struct { _ struct{} `type:"structure"` @@ -10702,7 +10745,7 @@ func (s *InstanceFleetStateChangeReason) SetMessage(v string) *InstanceFleetStat // The status of the instance fleet. // // The instance fleet configuration is available only in Amazon EMR releases -// 4.8.0 and higher, excluding 5.0.x versions. +// 4.8.0 and later, excluding 5.0.x versions. type InstanceFleetStatus struct { _ struct{} `type:"structure"` @@ -10777,7 +10820,7 @@ func (s *InstanceFleetStatus) SetTimeline(v *InstanceFleetTimeline) *InstanceFle // of creation, the time it became ready to run jobs, and the time of termination. // // The instance fleet configuration is available only in Amazon EMR releases -// 4.8.0 and higher, excluding 5.0.x versions. +// 4.8.0 and later, excluding 5.0.x versions. type InstanceFleetTimeline struct { _ struct{} `type:"structure"` @@ -10844,7 +10887,7 @@ type InstanceGroup struct { BidPrice *string `type:"string"` // - // Amazon EMR releases 4.x or higher. + // Amazon EMR releases 4.x or later. // // The list of configurations supplied for an Amazon EMR cluster instance group. // You can specify a separate configuration for each instance group (master, @@ -11045,7 +11088,7 @@ type InstanceGroupConfig struct { BidPrice *string `type:"string"` // - // Amazon EMR releases 4.x or higher. + // Amazon EMR releases 4.x or later. // // The list of configurations supplied for an Amazon EMR cluster instance group. // You can specify a separate configuration for each instance group (master, @@ -11803,7 +11846,7 @@ func (s *InstanceTimeline) SetReadyDateTime(v time.Time) *InstanceTimeline { // type configurations for a fleet. // // The instance fleet configuration is available only in Amazon EMR releases -// 4.8.0 and higher, excluding 5.0.x versions. +// 4.8.0 and later, excluding 5.0.x versions. type InstanceTypeConfig struct { _ struct{} `type:"structure"` @@ -11926,7 +11969,7 @@ func (s *InstanceTypeConfig) SetWeightedCapacity(v int64) *InstanceTypeConfig { // The configuration specification for each instance type in an instance fleet. // // The instance fleet configuration is available only in Amazon EMR releases -// 4.8.0 and higher, excluding 5.0.x versions. +// 4.8.0 and later, excluding 5.0.x versions. type InstanceTypeSpecification struct { _ struct{} `type:"structure"` @@ -12234,7 +12277,7 @@ type JobFlowDetail struct { _ struct{} `type:"structure"` // Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases - // 4.0 and higher, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID. + // 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID. AmiVersion *string `type:"string"` // An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. @@ -12266,7 +12309,7 @@ type JobFlowDetail struct { JobFlowRole *string `type:"string"` // The KMS key used for encrypting log files. This attribute is only available - // with Amazon EMR 5.30.0 and higher, excluding 6.0.0. + // with Amazon EMR 5.30.0 and later, excluding 6.0.0. LogEncryptionKmsKeyId *string `type:"string"` // The location in Amazon S3 where log files for the job are stored. @@ -12281,13 +12324,13 @@ type JobFlowDetail struct { // scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR // indicates that Amazon EMR terminates nodes at the instance-hour boundary, // regardless of when the request to terminate the instance was submitted. This - // option is only available with Amazon EMR 5.1.0 and higher and is the default + // option is only available with Amazon EMR 5.1.0 and later and is the default // for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates // that Amazon EMR adds nodes to a deny list and drains tasks from nodes before // terminating the Amazon EC2 instances, regardless of the instance-hour boundary. // With either behavior, Amazon EMR removes the least active nodes first and // blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION - // available only in Amazon EMR releases 4.1.0 and higher, and is the default + // available only in Amazon EMR releases 4.1.0 and later, and is the default // for releases of Amazon EMR earlier than 5.1.0. ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"` @@ -12538,7 +12581,7 @@ type JobFlowInstancesConfig struct { // instances in the optimal subnet. // // The instance fleet configuration is available only in Amazon EMR releases - // 4.8.0 and higher, excluding 5.0.x versions. + // 4.8.0 and later, excluding 5.0.x versions. Ec2SubnetIds []*string `type:"list"` // The identifier of the Amazon EC2 security group for the master node. If you @@ -12562,7 +12605,7 @@ type JobFlowInstancesConfig struct { // // The instance fleet configuration is available only in Amazon EMR releases - // 4.8.0 and higher, excluding 5.0.x versions. + // 4.8.0 and later, excluding 5.0.x versions. // // Describes the Amazon EC2 instances and instance configurations for clusters // that use the instance fleet configuration. @@ -15196,8 +15239,8 @@ func (s *OnDemandCapacityReservationOptions) SetUsageStrategy(v string) *OnDeman // determines the allocation strategy. // // The instance fleet configuration is available only in Amazon EMR releases -// 4.8.0 and higher, excluding 5.0.x versions. On-Demand Instances allocation -// strategy is available in Amazon EMR releases 5.12.1 and higher. +// 4.8.0 and later, excluding 5.0.x versions. On-Demand Instances allocation +// strategy is available in Amazon EMR releases 5.12.1 and later. type OnDemandProvisioningSpecification struct { _ struct{} `type:"structure"` @@ -15487,7 +15530,7 @@ type PlacementType struct { // uniform instance groups. // // The instance fleet configuration is available only in Amazon EMR releases - // 4.8.0 and higher, excluding 5.0.x versions. + // 4.8.0 and later, excluding 5.0.x versions. AvailabilityZones []*string `type:"list"` } @@ -16333,10 +16376,10 @@ type RunJobFlowInput struct { AdditionalInfo *string `type:"string"` // Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases - // 4.0 and higher, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID. + // 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID. AmiVersion *string `type:"string"` - // Applies to Amazon EMR releases 4.0 and higher. A case-insensitive list of + // Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of // applications for Amazon EMR to install and configure when launching the cluster. // For a list of applications available for each Amazon EMR release version, // see the Amazon EMRRelease Guide (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). @@ -16356,11 +16399,11 @@ type RunJobFlowInput struct { // A list of bootstrap actions to run before Hadoop starts on the cluster nodes. BootstrapActions []*BootstrapActionConfig `type:"list"` - // For Amazon EMR releases 4.0 and higher. The list of configurations supplied + // For Amazon EMR releases 4.0 and later. The list of configurations supplied // for the Amazon EMR cluster that you are creating. Configurations []*Configuration `type:"list"` - // Available only in Amazon EMR releases 5.7.0 and higher. The ID of a custom + // Available only in Amazon EMR releases 5.7.0 and later. The ID of a custom // Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when // it launches cluster Amazon EC2 instances. For more information about custom // AMIs in Amazon EMR, see Using a Custom AMI (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami.html) @@ -16374,18 +16417,19 @@ type RunJobFlowInput struct { // about finding an AMI ID, see Finding a Linux AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html). CustomAmiId *string `type:"string"` - // The IOPS for the Amazon EBS root device volume for the Linux AMI that each - // Amazon EC2 instance uses. Available in Amazon EMR releases 6.15.0 and higher. + // The IOPS, of the Amazon EBS root device volume of the Linux AMI that is used + // for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and + // later. EbsRootVolumeIops *int64 `type:"integer"` - // The size, in GiB, of the Amazon EBS root device volume for the Linux AMI - // that each Amazon EC2 instance uses. Available in Amazon EMR releases 4.x - // and higher. + // The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that + // is used for each Amazon EC2 instance. Available in Amazon EMR releases 4.x + // and later. EbsRootVolumeSize *int64 `type:"integer"` - // The throughput, in MiB/s, of the Amazon EBS root device volume for the Linux - // AMI that each Amazon EC2 instance uses. Available in Amazon EMR releases - // 6.15.0 and higher. + // The throughput, in MiB/s, of the Amazon EBS root device volume of the Linux + // AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases + // 6.15.0 and later. EbsRootVolumeThroughput *int64 `type:"integer"` // A specification of the number and type of Amazon EC2 instances. @@ -16407,7 +16451,7 @@ type RunJobFlowInput struct { // The KMS key used for encrypting log files. If a value is not provided, the // logs remain encrypted by AES-256. This attribute is only available with Amazon - // EMR releases 5.30.0 and higher, excluding Amazon EMR 6.0.0. + // EMR releases 5.30.0 and later, excluding Amazon EMR 6.0.0. LogEncryptionKmsKeyId *string `type:"string"` // The location in Amazon S3 to write the log files of the job flow. If a value @@ -16423,7 +16467,7 @@ type RunJobFlowInput struct { Name *string `type:"string" required:"true"` // - // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and higher, + // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, // use Applications. // // A list of strings that indicates third-party software to use with the job @@ -16465,7 +16509,7 @@ type RunJobFlowInput struct { // For more information about Amazon EMR release versions and included application // versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/ // (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). The release label - // applies only to Amazon EMR releases version 4.0 and higher. Earlier versions + // applies only to Amazon EMR releases version 4.0 and later. Earlier versions // use AmiVersion. ReleaseLabel *string `type:"string"` @@ -16480,13 +16524,13 @@ type RunJobFlowInput struct { // automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR // indicates that Amazon EMR terminates nodes at the instance-hour boundary, // regardless of when the request to terminate the instance was submitted. This - // option is only available with Amazon EMR 5.1.0 and higher and is the default + // option is only available with Amazon EMR 5.1.0 and later and is the default // for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates // that Amazon EMR adds nodes to a deny list and drains tasks from nodes before // terminating the Amazon EC2 instances, regardless of the instance-hour boundary. // With either behavior, Amazon EMR removes the least active nodes first and // blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION - // available only in Amazon EMR releases 4.1.0 and higher, and is the default + // available only in Amazon EMR releases 4.1.0 and later, and is the default // for releases of Amazon EMR earlier than 5.1.0. ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"` @@ -16506,7 +16550,7 @@ type RunJobFlowInput struct { Steps []*StepConfig `type:"list"` // - // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and higher, + // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, // use Applications. // // A list of strings that indicates third-party software to use. For more information, @@ -17748,8 +17792,8 @@ func (s *SimplifiedApplication) SetVersion(v string) *SimplifiedApplication { // strategy. // // The instance fleet configuration is available only in Amazon EMR releases -// 4.8.0 and higher, excluding 5.0.x versions. Spot Instance allocation strategy -// is available in Amazon EMR releases 5.12.1 and higher. +// 4.8.0 and later, excluding 5.0.x versions. Spot Instance allocation strategy +// is available in Amazon EMR releases 5.12.1 and later. // // Spot Instances with a defined duration (also known as Spot blocks) are no // longer available to new customers from July 1, 2021. For customers who have @@ -18739,11 +18783,24 @@ type Studio struct { // The detailed description of the Amazon EMR Studio. Description *string `type:"string"` + // The KMS key identifier (ARN) used to encrypt Amazon EMR Studio workspace + // and notebook files when backed up to Amazon S3. + EncryptionKeyArn *string `type:"string"` + // The ID of the Engine security group associated with the Amazon EMR Studio. // The Engine security group allows inbound network traffic from resources in // the Workspace security group. EngineSecurityGroupId *string `type:"string"` + // The ARN of the IAM Identity Center instance the Studio application belongs + // to. + IdcInstanceArn *string `min:"20" type:"string"` + + // Indicates whether the Studio has REQUIRED or OPTIONAL IAM Identity Center + // user assignment. If the value is set to REQUIRED, users must be explicitly + // assigned to the Studio application to access the Studio. + IdcUserAssignment *string `type:"string" enum:"IdcUserAssignment"` + // Your identity provider's authentication endpoint. Amazon EMR Studio redirects // federated users to this endpoint for authentication when logging in to a // Studio with the Studio URL. @@ -18770,6 +18827,10 @@ type Studio struct { // A list of tags associated with the Amazon EMR Studio. Tags []*Tag `type:"list"` + // Indicates whether the Studio has Trusted identity propagation enabled. The + // default value is false. + TrustedIdentityPropagationEnabled *bool `type:"boolean"` + // The unique access URL of the Amazon EMR Studio. Url *string `type:"string"` @@ -18828,12 +18889,30 @@ func (s *Studio) SetDescription(v string) *Studio { return s } +// SetEncryptionKeyArn sets the EncryptionKeyArn field's value. +func (s *Studio) SetEncryptionKeyArn(v string) *Studio { + s.EncryptionKeyArn = &v + return s +} + // SetEngineSecurityGroupId sets the EngineSecurityGroupId field's value. func (s *Studio) SetEngineSecurityGroupId(v string) *Studio { s.EngineSecurityGroupId = &v return s } +// SetIdcInstanceArn sets the IdcInstanceArn field's value. +func (s *Studio) SetIdcInstanceArn(v string) *Studio { + s.IdcInstanceArn = &v + return s +} + +// SetIdcUserAssignment sets the IdcUserAssignment field's value. +func (s *Studio) SetIdcUserAssignment(v string) *Studio { + s.IdcUserAssignment = &v + return s +} + // SetIdpAuthUrl sets the IdpAuthUrl field's value. func (s *Studio) SetIdpAuthUrl(v string) *Studio { s.IdpAuthUrl = &v @@ -18882,6 +18961,12 @@ func (s *Studio) SetTags(v []*Tag) *Studio { return s } +// SetTrustedIdentityPropagationEnabled sets the TrustedIdentityPropagationEnabled field's value. +func (s *Studio) SetTrustedIdentityPropagationEnabled(v bool) *Studio { + s.TrustedIdentityPropagationEnabled = &v + return s +} + // SetUrl sets the Url field's value. func (s *Studio) SetUrl(v string) *Studio { s.Url = &v @@ -18907,8 +18992,8 @@ func (s *Studio) SetWorkspaceSecurityGroupId(v string) *Studio { } // Details for an Amazon EMR Studio, including ID, Name, VPC, and Description. -// The details do not include subnets, IAM roles, security groups, or tags associated -// with the Studio. +// To fetch additional details such as subnets, IAM roles, security groups, +// and tags for the Studio, use the DescribeStudio API. type StudioSummary struct { _ struct{} `type:"structure"` @@ -19292,6 +19377,10 @@ type UpdateStudioInput struct { // A detailed description to assign to the Amazon EMR Studio. Description *string `type:"string"` + // The KMS key identifier (ARN) used to encrypt Amazon EMR Studio workspace + // and notebook files when backed up to Amazon S3. + EncryptionKeyArn *string `type:"string"` + // A descriptive name for the Amazon EMR Studio. Name *string `type:"string"` @@ -19351,6 +19440,12 @@ func (s *UpdateStudioInput) SetDescription(v string) *UpdateStudioInput { return s } +// SetEncryptionKeyArn sets the EncryptionKeyArn field's value. +func (s *UpdateStudioInput) SetEncryptionKeyArn(v string) *UpdateStudioInput { + s.EncryptionKeyArn = &v + return s +} + // SetName sets the Name field's value. func (s *UpdateStudioInput) SetName(v string) *UpdateStudioInput { s.Name = &v @@ -19901,6 +19996,22 @@ func ExecutionEngineType_Values() []string { } } +const ( + // IdcUserAssignmentRequired is a IdcUserAssignment enum value + IdcUserAssignmentRequired = "REQUIRED" + + // IdcUserAssignmentOptional is a IdcUserAssignment enum value + IdcUserAssignmentOptional = "OPTIONAL" +) + +// IdcUserAssignment_Values returns all elements of the IdcUserAssignment enum +func IdcUserAssignment_Values() []string { + return []string{ + IdcUserAssignmentRequired, + IdcUserAssignmentOptional, + } +} + const ( // IdentityTypeUser is a IdentityType enum value IdentityTypeUser = "USER" diff --git a/service/eventbridge/api.go b/service/eventbridge/api.go index 6c1866fe559..a2851d796a8 100644 --- a/service/eventbridge/api.go +++ b/service/eventbridge/api.go @@ -241,6 +241,12 @@ func (c *EventBridge) CreateApiDestinationRequest(input *CreateApiDestinationInp // Creates an API destination, which is an HTTP invocation endpoint configured // as a target for events. // +// API destinations do not support private destinations, such as interface VPC +// endpoints. +// +// For more information, see API destinations (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-destinations.html) +// in the EventBridge 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. @@ -727,13 +733,21 @@ func (c *EventBridge) CreatePartnerEventSourceRequest(input *CreatePartnerEventS // // partner_name/event_namespace/event_name // -// partner_name is determined during partner registration and identifies the -// partner to Amazon Web Services customers. event_namespace is determined by -// the partner and is a way for the partner to categorize their events. event_name -// is determined by the partner, and should uniquely identify an event-generating -// resource within the partner system. The combination of event_namespace and -// event_name should help Amazon Web Services customers decide whether to create -// an event bus to receive these events. +// - partner_name is determined during partner registration, and identifies +// the partner to Amazon Web Services customers. +// +// - event_namespace is determined by the partner, and is a way for the partner +// to categorize their events. +// +// - event_name is determined by the partner, and should uniquely identify +// an event-generating resource within the partner system. The event_name +// must be unique across all Amazon Web Services customers. This is because +// the event source is a shared resource between the partner and customer +// accounts, and each partner event source unique in the partner account. +// +// The combination of event_namespace and event_name should help Amazon Web +// Services customers decide whether to create an event bus to receive these +// events. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1893,7 +1907,7 @@ func (c *EventBridge) DescribeEndpointRequest(input *DescribeEndpointInput) (req // Get the information about an existing global endpoint. For more information // about global endpoints, see Making applications Regional-fault tolerant with // global endpoints and event replication (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-global-endpoints.html) -// in the Amazon EventBridge User Guide.. +// in the Amazon EventBridge 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 @@ -2854,7 +2868,7 @@ func (c *EventBridge) ListEndpointsRequest(input *ListEndpointsInput) (req *requ // List the global endpoints associated with this account. For more information // about global endpoints, see Making applications Regional-fault tolerant with // global endpoints and event replication (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-global-endpoints.html) -// in the Amazon EventBridge User Guide.. +// in the Amazon EventBridge 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 @@ -3348,6 +3362,8 @@ func (c *EventBridge) ListRuleNamesByTargetRequest(input *ListRuleNamesByTargetI // Lists the rules for the specified target. You can see which of the rules // in Amazon EventBridge can invoke a specific target in your account. // +// The maximum number of results per page for requests is 100. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -3431,6 +3447,8 @@ func (c *EventBridge) ListRulesRequest(input *ListRulesInput) (req *request.Requ // Lists your Amazon EventBridge rules. You can either list all the rules or // you can provide a prefix to match to the rule names. // +// The maximum number of results per page for requests is 100. +// // ListRules does not list the targets of a rule. To see the targets associated // with a rule, use ListTargetsByRule (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_ListTargetsByRule.html). // @@ -3599,6 +3617,8 @@ func (c *EventBridge) ListTargetsByRuleRequest(input *ListTargetsByRuleInput) (r // // Lists the targets assigned to the specified rule. // +// The maximum number of results per page for requests is 100. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -3682,6 +3702,15 @@ func (c *EventBridge) PutEventsRequest(input *PutEventsInput) (req *request.Requ // Sends custom events to Amazon EventBridge so that they can be matched to // rules. // +// The maximum size for a PutEvents event entry is 256 KB. Entry size is calculated +// including the event and any necessary characters and keys of the JSON representation +// of the event. To learn more, see Calculating PutEvents event entry size (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-putevent-size.html) +// in the Amazon EventBridge User Guide +// +// PutEvents accepts the data in JSON format. For the JSON number (integer) +// data type, the constraints are: a minimum value of -9,223,372,036,854,775,808 +// and a maximum value of 9,223,372,036,854,775,807. +// // PutEvents will only process nested JSON up to 1100 levels deep. // // This AWS SDK does not support calling multi-region endpoints with SigV4a authentication. @@ -3765,6 +3794,10 @@ func (c *EventBridge) PutPartnerEventsRequest(input *PutPartnerEventsInput) (req // This is used by SaaS partners to write events to a customer's partner event // bus. Amazon Web Services customers do not use this operation. // +// For information on calculating event batch size, see Calculating EventBridge +// PutEvents event entry size (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-putevent-size.html) +// in the EventBridge 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. @@ -4117,72 +4150,24 @@ func (c *EventBridge) PutTargetsRequest(input *PutTargetsInput) (req *request.Re // // Targets are the resources that are invoked when a rule is triggered. // -// Each rule can have up to five (5) targets associated with it at one time. -// -// You can configure the following as targets for Events: -// -// - API destination (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-destinations.html) -// -// - API Gateway (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-gateway-target.html) -// -// - Batch job queue -// -// - CloudWatch group -// -// - CodeBuild project -// -// - CodePipeline +// The maximum number of entries per request is 10. // -// - EC2 CreateSnapshot API call -// -// - EC2 Image Builder -// -// - EC2 RebootInstances API call -// -// - EC2 StopInstances API call -// -// - EC2 TerminateInstances API call -// -// - ECS task -// -// - Event bus in a different account or Region (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cross-account.html) -// -// - Event bus in the same account and Region (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-bus-to-bus.html) -// -// - Firehose delivery stream -// -// - Glue workflow -// -// - Incident Manager response plan (https://docs.aws.amazon.com/incident-manager/latest/userguide/incident-creation.html#incident-tracking-auto-eventbridge) -// -// - Inspector assessment template -// -// - Kinesis stream -// -// - Lambda function -// -// - Redshift cluster -// -// - Redshift Serverless workgroup -// -// - SageMaker Pipeline +// Each rule can have up to five (5) targets associated with it at one time. // -// - SNS topic +// For a list of services you can configure as targets for events, see EventBridge +// targets (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html) +// in the Amazon EventBridge User Guide. // -// - SQS queue +// Creating rules with built-in targets is supported only in the Amazon Web +// Services Management Console. The built-in targets are: // -// - Step Functions state machine +// - Amazon EBS CreateSnapshot API call // -// - Systems Manager Automation +// - Amazon EC2 RebootInstances API call // -// - Systems Manager OpsItem +// - Amazon EC2 StopInstances API call // -// - Systems Manager Run Command -// -// Creating rules with built-in targets is supported only in the Amazon Web -// Services Management Console. The built-in targets are EC2 CreateSnapshot -// API call, EC2 RebootInstances API call, EC2 StopInstances API call, and EC2 -// TerminateInstances API call. +// - Amazon EC2 TerminateInstances API call // // For some target types, PutTargets provides target-specific parameters. If // the target is a Kinesis data stream, you can optionally specify which shard @@ -4191,11 +4176,16 @@ func (c *EventBridge) PutTargetsRequest(input *PutTargetsInput) (req *request.Re // field. // // To be able to make API calls against the resources that you own, Amazon EventBridge -// needs the appropriate permissions. For Lambda and Amazon SNS resources, EventBridge -// relies on resource-based policies. For EC2 instances, Kinesis Data Streams, -// Step Functions state machines and API Gateway 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) +// needs the appropriate permissions: +// +// - For Lambda and Amazon SNS resources, EventBridge relies on resource-based +// policies. +// +// - For EC2 instances, Kinesis Data Streams, Step Functions state machines +// and API Gateway 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 Amazon Web Services account is in the same region and has granted @@ -4218,6 +4208,10 @@ func (c *EventBridge) PutTargetsRequest(input *PutTargetsInput) (req *request.Re // Receiving Events Between Amazon Web Services Accounts (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html) // in the Amazon EventBridge User Guide. // +// If you have an IAM role on a cross-account event bus target, a PutTargets +// call without a role on the same target (same Id and Arn) will not remove +// the role. +// // For more information about enabling cross-account events, see PutPermission // (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPermission.html). // @@ -4456,6 +4450,8 @@ func (c *EventBridge) RemoveTargetsRequest(input *RemoveTargetsInput) (req *requ // entry in FailedEntries provides the ID of the failed target and the error // code. // +// The maximum number of entries per request is 10. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -5212,7 +5208,7 @@ func (c *EventBridge) UpdateEndpointRequest(input *UpdateEndpointInput) (req *re // Update an existing endpoint. For more information about global endpoints, // see Making applications Regional-fault tolerant with global endpoints and // event replication (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-global-endpoints.html) -// in the Amazon EventBridge User Guide.. +// in the Amazon EventBridge 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 @@ -13669,21 +13665,34 @@ type PutEventsRequestEntry struct { _ struct{} `type:"structure"` // A valid JSON object. There is no other schema imposed. The JSON object may - // contain fields and nested subobjects. + // contain fields and nested sub-objects. + // + // Detail, DetailType, and Source are required for EventBridge to successfully + // send an event to an event bus. If you include event entries in a request + // that do not include each of those properties, EventBridge fails that entry. + // If you submit a request in which none of the entries have each of these properties, + // EventBridge fails the entire request. Detail *string `type:"string"` // Free-form string, with a maximum of 128 characters, used to decide what fields // to expect in the event detail. + // + // Detail, DetailType, and Source are required for EventBridge to successfully + // send an event to an event bus. If you include event entries in a request + // that do not include each of those properties, EventBridge fails that entry. + // If you submit a request in which none of the entries have each of these properties, + // EventBridge fails the entire request. DetailType *string `type:"string"` // The name or ARN of the event bus to receive the event. Only the rules that // are associated with this event bus are used to match the event. If you omit // this, the default event bus is used. // - // If you're using a global endpoint with a custom bus, you must enter the name, - // not the ARN, of the event bus in either the primary or secondary Region here - // and the corresponding event bus in the other Region will be determined based - // on the endpoint referenced by the EndpointId. + // If you're using a global endpoint with a custom bus, you can enter either + // the name or Amazon Resource Name (ARN) of the event bus in either the primary + // or secondary Region here. EventBridge then determines the corresponding event + // bus in the other Region based on the endpoint referenced by the EndpointId. + // Specifying the event bus ARN is preferred. EventBusName *string `min:"1" type:"string"` // Amazon Web Services resources, identified by Amazon Resource Name (ARN), @@ -13691,6 +13700,12 @@ type PutEventsRequestEntry struct { Resources []*string `type:"list"` // The source of the event. + // + // Detail, DetailType, and Source are required for EventBridge to successfully + // send an event to an event bus. If you include event entries in a request + // that do not include each of those properties, EventBridge fails that entry. + // If you submit a request in which none of the entries have each of these properties, + // EventBridge fails the entire request. Source *string `type:"string"` // The time stamp of the event, per RFC3339 (https://www.rfc-editor.org/rfc/rfc3339.txt). @@ -13782,12 +13797,46 @@ func (s *PutEventsRequestEntry) SetTraceHeader(v string) *PutEventsRequestEntry return s } -// Represents an event that failed to be submitted. For information about the -// errors that are common to all actions, see Common Errors (https://docs.aws.amazon.com/eventbridge/latest/APIReference/CommonErrors.html). +// Represents the results of an event submitted to an event bus. +// +// If the submission was successful, the entry has the event ID in it. Otherwise, +// you can use the error code and error message to identify the problem with +// the entry. +// +// For information about the errors that are common to all actions, see Common +// Errors (https://docs.aws.amazon.com/eventbridge/latest/APIReference/CommonErrors.html). type PutEventsResultEntry struct { _ struct{} `type:"structure"` // The error code that indicates why the event submission failed. + // + // Retryable errors include: + // + // * InternalFailure (https://docs.aws.amazon.com/eventbridge/latest/APIReference/CommonErrors.html) + // The request processing has failed because of an unknown error, exception + // or failure. + // + // * ThrottlingException (https://docs.aws.amazon.com/eventbridge/latest/APIReference/CommonErrors.html) + // The request was denied due to request throttling. + // + // Non-retryable errors include: + // + // * AccessDeniedException (https://docs.aws.amazon.com/eventbridge/latest/APIReference/CommonErrors.html) + // You do not have sufficient access to perform this action. + // + // * InvalidAccountIdException The account ID provided is not valid. + // + // * InvalidArgument A specified parameter is not valid. + // + // * MalformedDetail The JSON provided is not valid. + // + // * RedactionFailure Redacting the CloudTrail event failed. + // + // * NotAuthorizedForSourceException You do not have permissions to publish + // events with this source onto this event bus. + // + // * NotAuthorizedForDetailTypeException You do not have permissions to publish + // events with this detail type onto this event bus. ErrorCode *string `type:"string"` // The error message that explains why the event submission failed. @@ -13895,8 +13944,13 @@ func (s *PutPartnerEventsInput) SetEntries(v []*PutPartnerEventsRequestEntry) *P type PutPartnerEventsOutput struct { _ struct{} `type:"structure"` - // The list of events from this operation that were successfully written to - // the partner event bus. + // The results for each event entry the partner submitted in this request. If + // the event was successfully submitted, the entry has the event ID in it. Otherwise, + // you can use the error code and error message to identify the problem with + // the entry. + // + // For each record, the index of the response element is the same as the index + // in the request array. Entries []*PutPartnerEventsResultEntry `type:"list"` // The number of events from this operation that could not be written to the @@ -13939,11 +13993,23 @@ type PutPartnerEventsRequestEntry struct { _ struct{} `type:"structure"` // A valid JSON string. There is no other schema imposed. The JSON string may - // contain fields and nested subobjects. + // contain fields and nested sub-objects. + // + // Detail, DetailType, and Source are required for EventBridge to successfully + // send an event to an event bus. If you include event entries in a request + // that do not include each of those properties, EventBridge fails that entry. + // If you submit a request in which none of the entries have each of these properties, + // EventBridge fails the entire request. Detail *string `type:"string"` // A free-form string, with a maximum of 128 characters, used to decide what // fields to expect in the event detail. + // + // Detail, DetailType, and Source are required for EventBridge to successfully + // send an event to an event bus. If you include event entries in a request + // that do not include each of those properties, EventBridge fails that entry. + // If you submit a request in which none of the entries have each of these properties, + // EventBridge fails the entire request. DetailType *string `type:"string"` // Amazon Web Services resources, identified by Amazon Resource Name (ARN), @@ -13951,6 +14017,12 @@ type PutPartnerEventsRequestEntry struct { Resources []*string `type:"list"` // The event source that is generating the entry. + // + // Detail, DetailType, and Source are required for EventBridge to successfully + // send an event to an event bus. If you include event entries in a request + // that do not include each of those properties, EventBridge fails that entry. + // If you submit a request in which none of the entries have each of these properties, + // EventBridge fails the entire request. Source *string `min:"1" type:"string"` // The date and time of the event. @@ -14018,7 +14090,10 @@ func (s *PutPartnerEventsRequestEntry) SetTime(v time.Time) *PutPartnerEventsReq return s } -// Represents an event that a partner tried to generate, but failed. +// The result of an event entry the partner submitted in this request. If the +// event was successfully submitted, the entry has the event ID in it. Otherwise, +// you can use the error code and error message to identify the problem with +// the entry. type PutPartnerEventsResultEntry struct { _ struct{} `type:"structure"` @@ -14249,7 +14324,29 @@ type PutRuleInput struct { // The scheduling expression. For example, "cron(0 20 * * ? *)" or "rate(5 minutes)". ScheduleExpression *string `type:"string"` - // Indicates whether the rule is enabled or disabled. + // The state of the rule. + // + // Valid values include: + // + // * DISABLED: The rule is disabled. EventBridge does not match any events + // against the rule. + // + // * ENABLED: The rule is enabled. EventBridge matches events against the + // rule, except for Amazon Web Services management events delivered through + // CloudTrail. + // + // * ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS: The rule is enabled for + // all events, including Amazon Web Services management events delivered + // through CloudTrail. Management events provide visibility into management + // operations that are performed on resources in your Amazon Web Services + // account. These are also known as control plane operations. For more information, + // see Logging management events (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events) + // in the CloudTrail User Guide, and Filtering management events from Amazon + // Web Services services (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#eb-service-event-cloudtrail) + // in the Amazon EventBridge User Guide. This value is only valid for rules + // on the default (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is-how-it-works-concepts.html#eb-bus-concepts-buses) + // event bus or custom event buses (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-event-bus.html). + // It does not apply to partner event buses (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-saas.html). State *string `type:"string" enum:"RuleState"` // The list of key-value pairs to associate with the rule. @@ -14567,8 +14664,8 @@ func (s *PutTargetsResultEntry) SetTargetId(v string) *PutTargetsResultEntry { } // These are custom parameters to be used when the target is a Amazon Redshift -// cluster or Redshift Serverless workgroup to invoke the Amazon Redshift Data -// API ExecuteStatement based on EventBridge events. +// cluster to invoke the Amazon Redshift Data API ExecuteStatement based on +// EventBridge events. type RedshiftDataParameters struct { _ struct{} `type:"structure"` @@ -14578,8 +14675,6 @@ type RedshiftDataParameters struct { Database *string `min:"1" type:"string" required:"true"` // The database user name. Required when authenticating using temporary credentials. - // - // Do not provide this parameter when connecting to a Redshift Serverless workgroup. DbUser *string `min:"1" type:"string"` // The name or ARN of the secret that enables access to the database. Required @@ -14593,7 +14688,11 @@ type RedshiftDataParameters struct { // String and GoString methods. Sql *string `min:"1" type:"string" sensitive:"true"` - // A list of SQLs. + // One or more SQL statements to run. The SQL statements are run as a single + // transaction. They run serially in the order of the array. Subsequent SQL + // statements don't start until the previous statement in the array completes. + // If any SQL statement fails, then because they are run as one transaction, + // all work is rolled back. // // Sqls is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by RedshiftDataParameters's @@ -15446,6 +15545,28 @@ type Rule struct { ScheduleExpression *string `type:"string"` // The state of the rule. + // + // Valid values include: + // + // * DISABLED: The rule is disabled. EventBridge does not match any events + // against the rule. + // + // * ENABLED: The rule is enabled. EventBridge matches events against the + // rule, except for Amazon Web Services management events delivered through + // CloudTrail. + // + // * ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS: The rule is enabled for + // all events, including Amazon Web Services management events delivered + // through CloudTrail. Management events provide visibility into management + // operations that are performed on resources in your Amazon Web Services + // account. These are also known as control plane operations. For more information, + // see Logging management events (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events) + // in the CloudTrail User Guide, and Filtering management events from Amazon + // Web Services services (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#eb-service-event-cloudtrail) + // in the Amazon EventBridge User Guide. This value is only valid for rules + // on the default (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is-how-it-works-concepts.html#eb-bus-concepts-buses) + // event bus or custom event buses (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-event-bus.html). + // It does not apply to partner event buses (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-saas.html). State *string `type:"string" enum:"RuleState"` } @@ -18052,6 +18173,9 @@ const ( // RuleStateDisabled is a RuleState enum value RuleStateDisabled = "DISABLED" + + // RuleStateEnabledWithAllCloudtrailManagementEvents is a RuleState enum value + RuleStateEnabledWithAllCloudtrailManagementEvents = "ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS" ) // RuleState_Values returns all elements of the RuleState enum @@ -18059,5 +18183,6 @@ func RuleState_Values() []string { return []string{ RuleStateEnabled, RuleStateDisabled, + RuleStateEnabledWithAllCloudtrailManagementEvents, } } diff --git a/service/internetmonitor/api.go b/service/internetmonitor/api.go index 815f50c78ef..2c32a16ae3c 100644 --- a/service/internetmonitor/api.go +++ b/service/internetmonitor/api.go @@ -402,6 +402,264 @@ func (c *InternetMonitor) GetMonitorWithContext(ctx aws.Context, input *GetMonit return out, req.Send() } +const opGetQueryResults = "GetQueryResults" + +// GetQueryResultsRequest generates a "aws/request.Request" representing the +// client's request for the GetQueryResults operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetQueryResults for more information on using the GetQueryResults +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetQueryResultsRequest method. +// req, resp := client.GetQueryResultsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetQueryResults +func (c *InternetMonitor) GetQueryResultsRequest(input *GetQueryResultsInput) (req *request.Request, output *GetQueryResultsOutput) { + op := &request.Operation{ + Name: opGetQueryResults, + HTTPMethod: "GET", + HTTPPath: "/v20210603/Monitors/{MonitorName}/Queries/{QueryId}/Results", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetQueryResultsInput{} + } + + output = &GetQueryResultsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetQueryResults API operation for Amazon CloudWatch Internet Monitor. +// +// Return the data for a query with the Amazon CloudWatch Internet Monitor query +// interface. Specify the query that you want to return results for by providing +// a QueryId and a monitor name. +// +// For more information about using the query interface, including examples, +// see Using the Amazon CloudWatch Internet Monitor query interface (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-cwim-query.html) +// in the Amazon CloudWatch Internet Monitor 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 CloudWatch Internet Monitor's +// API operation GetQueryResults for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// An internal error occurred. +// +// - AccessDeniedException +// You don't have sufficient permission to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - LimitExceededException +// The request exceeded a service quota. +// +// - ValidationException +// Invalid request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetQueryResults +func (c *InternetMonitor) GetQueryResults(input *GetQueryResultsInput) (*GetQueryResultsOutput, error) { + req, out := c.GetQueryResultsRequest(input) + return out, req.Send() +} + +// GetQueryResultsWithContext is the same as GetQueryResults with the addition of +// the ability to pass a context and additional request options. +// +// See GetQueryResults for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *InternetMonitor) GetQueryResultsWithContext(ctx aws.Context, input *GetQueryResultsInput, opts ...request.Option) (*GetQueryResultsOutput, error) { + req, out := c.GetQueryResultsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetQueryResultsPages iterates over the pages of a GetQueryResults operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetQueryResults 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 GetQueryResults operation. +// pageNum := 0 +// err := client.GetQueryResultsPages(params, +// func(page *internetmonitor.GetQueryResultsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *InternetMonitor) GetQueryResultsPages(input *GetQueryResultsInput, fn func(*GetQueryResultsOutput, bool) bool) error { + return c.GetQueryResultsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetQueryResultsPagesWithContext same as GetQueryResultsPages 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 *InternetMonitor) GetQueryResultsPagesWithContext(ctx aws.Context, input *GetQueryResultsInput, fn func(*GetQueryResultsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetQueryResultsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetQueryResultsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetQueryResultsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGetQueryStatus = "GetQueryStatus" + +// GetQueryStatusRequest generates a "aws/request.Request" representing the +// client's request for the GetQueryStatus operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetQueryStatus for more information on using the GetQueryStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetQueryStatusRequest method. +// req, resp := client.GetQueryStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetQueryStatus +func (c *InternetMonitor) GetQueryStatusRequest(input *GetQueryStatusInput) (req *request.Request, output *GetQueryStatusOutput) { + op := &request.Operation{ + Name: opGetQueryStatus, + HTTPMethod: "GET", + HTTPPath: "/v20210603/Monitors/{MonitorName}/Queries/{QueryId}/Status", + } + + if input == nil { + input = &GetQueryStatusInput{} + } + + output = &GetQueryStatusOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetQueryStatus API operation for Amazon CloudWatch Internet Monitor. +// +// Returns the current status of a query for the Amazon CloudWatch Internet +// Monitor query interface, for a specified query ID and monitor. When you run +// a query, check the status to make sure that the query has SUCCEEDED before +// you review the results. +// +// - QUEUED: The query is scheduled to run. +// +// - RUNNING: The query is in progress but not complete. +// +// - SUCCEEDED: The query completed sucessfully. +// +// - FAILED: The query failed due to an error. +// +// - CANCELED: The query was canceled. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Internet Monitor's +// API operation GetQueryStatus for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// An internal error occurred. +// +// - AccessDeniedException +// You don't have sufficient permission to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - LimitExceededException +// The request exceeded a service quota. +// +// - ValidationException +// Invalid request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetQueryStatus +func (c *InternetMonitor) GetQueryStatus(input *GetQueryStatusInput) (*GetQueryStatusOutput, error) { + req, out := c.GetQueryStatusRequest(input) + return out, req.Send() +} + +// GetQueryStatusWithContext is the same as GetQueryStatus with the addition of +// the ability to pass a context and additional request options. +// +// See GetQueryStatus for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *InternetMonitor) GetQueryStatusWithContext(ctx aws.Context, input *GetQueryStatusInput, opts ...request.Option) (*GetQueryStatusOutput, error) { + req, out := c.GetQueryStatusRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListHealthEvents = "ListHealthEvents" // ListHealthEventsRequest generates a "aws/request.Request" representing the @@ -698,93 +956,283 @@ func (c *InternetMonitor) ListMonitorsPagesWithContext(ctx aws.Context, input *L return p.Err() } -const opListTagsForResource = "ListTagsForResource" +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/internetmonitor-2021-06-03/ListTagsForResource +func (c *InternetMonitor) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{ResourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon CloudWatch Internet Monitor. +// +// Lists the tags for a resource. Tags are supported only for monitors in Amazon +// CloudWatch Internet Monitor. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Internet Monitor's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// +// - TooManyRequestsException +// There were too many requests. +// +// - AccessDeniedException +// You don't have sufficient permission to perform this action. +// +// - NotFoundException +// The request specifies something that doesn't exist. +// +// - BadRequestException +// A bad request was received. +// +// - InternalServerErrorException +// There was an internal server error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/ListTagsForResource +func (c *InternetMonitor) 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 *InternetMonitor) 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 opStartQuery = "StartQuery" + +// StartQueryRequest generates a "aws/request.Request" representing the +// client's request for the StartQuery operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartQuery for more information on using the StartQuery +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the StartQueryRequest method. +// req, resp := client.StartQueryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/StartQuery +func (c *InternetMonitor) StartQueryRequest(input *StartQueryInput) (req *request.Request, output *StartQueryOutput) { + op := &request.Operation{ + Name: opStartQuery, + HTTPMethod: "POST", + HTTPPath: "/v20210603/Monitors/{MonitorName}/Queries", + } + + if input == nil { + input = &StartQueryInput{} + } + + output = &StartQueryOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartQuery API operation for Amazon CloudWatch Internet Monitor. +// +// Start a query to return data for a specific query type for the Amazon CloudWatch +// Internet Monitor query interface. Specify a time period for the data that +// you want returned by using StartTime and EndTime. You filter the query results +// to return by providing parameters that you specify with FilterParameters. +// +// For more information about using the query interface, including examples, +// see Using the Amazon CloudWatch Internet Monitor query interface (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-cwim-query.html) +// in the Amazon CloudWatch Internet Monitor 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 CloudWatch Internet Monitor's +// API operation StartQuery for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// An internal error occurred. +// +// - AccessDeniedException +// You don't have sufficient permission to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - LimitExceededException +// The request exceeded a service quota. +// +// - ValidationException +// Invalid request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/StartQuery +func (c *InternetMonitor) StartQuery(input *StartQueryInput) (*StartQueryOutput, error) { + req, out := c.StartQueryRequest(input) + return out, req.Send() +} + +// StartQueryWithContext is the same as StartQuery with the addition of +// the ability to pass a context and additional request options. +// +// See StartQuery for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *InternetMonitor) StartQueryWithContext(ctx aws.Context, input *StartQueryInput, opts ...request.Option) (*StartQueryOutput, error) { + req, out := c.StartQueryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopQuery = "StopQuery" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// StopQueryRequest generates a "aws/request.Request" representing the +// client's request for the StopQuery operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 StopQuery for more information on using the StopQuery // API call, and error handling. // // This method is useful when you want to 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 StopQueryRequest method. +// req, resp := client.StopQueryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/ListTagsForResource -func (c *InternetMonitor) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/StopQuery +func (c *InternetMonitor) StopQueryRequest(input *StopQueryInput) (req *request.Request, output *StopQueryOutput) { op := &request.Operation{ - Name: opListTagsForResource, - HTTPMethod: "GET", - HTTPPath: "/tags/{ResourceArn}", + Name: opStopQuery, + HTTPMethod: "DELETE", + HTTPPath: "/v20210603/Monitors/{MonitorName}/Queries/{QueryId}", } if input == nil { - input = &ListTagsForResourceInput{} + input = &StopQueryInput{} } - output = &ListTagsForResourceOutput{} + output = &StopQueryOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// ListTagsForResource API operation for Amazon CloudWatch Internet Monitor. +// StopQuery API operation for Amazon CloudWatch Internet Monitor. // -// Lists the tags for a resource. Tags are supported only for monitors in Amazon -// CloudWatch Internet Monitor. +// Stop a query that is progress for a specific monitor. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon CloudWatch Internet Monitor's -// API operation ListTagsForResource for usage and error information. +// API operation StopQuery for usage and error information. // // Returned Error Types: // -// - TooManyRequestsException -// There were too many requests. +// - InternalServerException +// An internal error occurred. // // - AccessDeniedException // You don't have sufficient permission to perform this action. // -// - NotFoundException -// The request specifies something that doesn't exist. +// - ThrottlingException +// The request was denied due to request throttling. // -// - BadRequestException -// A bad request was received. +// - LimitExceededException +// The request exceeded a service quota. // -// - InternalServerErrorException -// There was an internal server error. +// - ValidationException +// Invalid request. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/ListTagsForResource -func (c *InternetMonitor) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/StopQuery +func (c *InternetMonitor) StopQuery(input *StopQueryInput) (*StopQueryOutput, error) { + req, out := c.StopQueryRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// StopQueryWithContext is the same as StopQuery 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 StopQuery for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *InternetMonitor) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *InternetMonitor) StopQueryWithContext(ctx aws.Context, input *StopQueryInput, opts ...request.Option) (*StopQueryOutput, error) { + req, out := c.StopQueryRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -1643,10 +2091,81 @@ func (s DeleteMonitorOutput) GoString() string { return s.String() } +// A filter that you use with the results of a Amazon CloudWatch Internet Monitor +// query that you created and ran. The query sets up a repository of data that +// is a subset of your application's Internet Monitor data. FilterParameter +// is a string that defines how you want to filter the repository of data to +// return a set of results, based on your criteria. +// +// The filter parameters that you can specify depend on the query type that +// you used to create the repository, since each query type returns a different +// set of Internet Monitor data. +// +// For each filter, you specify a field (such as city), an operator (such as +// not_equals, and a value or array of values (such as ["Seattle", "Redmond"]). +// Separate values in the array with commas. +// +// For more information about specifying filter parameters, see Using the Amazon +// CloudWatch Internet Monitor query interface (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-cwim-query.html) +// in the Amazon CloudWatch Internet Monitor User Guide. +type FilterParameter struct { + _ struct{} `type:"structure"` + + // A data field that you want to filter, to further scope your application's + // Internet Monitor data in a repository that you created by running a query. + // A field might be city, for example. The field must be one of the fields that + // was returned by the specific query that you used to create the repository. + Field *string `type:"string"` + + // The operator to use with the filter field and a value, such as not_equals. + Operator *string `type:"string" enum:"Operator"` + + // One or more values to be used, together with the specified operator, to filter + // data for a query. For example, you could specify an array of values such + // as ["Seattle", "Redmond"]. Values in the array are separated by commas. + Values []*string `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FilterParameter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FilterParameter) GoString() string { + return s.String() +} + +// SetField sets the Field field's value. +func (s *FilterParameter) SetField(v string) *FilterParameter { + s.Field = &v + return s +} + +// SetOperator sets the Operator field's value. +func (s *FilterParameter) SetOperator(v string) *FilterParameter { + s.Operator = &v + return s +} + +// SetValues sets the Values field's value. +func (s *FilterParameter) SetValues(v []*string) *FilterParameter { + s.Values = v + return s +} + type GetHealthEventInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The internally generated identifier of a health event. Because EventID contains + // The internally-generated identifier of a health event. Because EventID contains // the forward slash (“/”) character, you must URL-encode the EventID field // in the request URL. // @@ -1726,7 +2245,7 @@ type GetHealthEventOutput struct { // EventArn is a required field EventArn *string `min:"20" type:"string" required:"true"` - // The internally generated identifier of a health event. + // The internally-generated identifier of a health event. // // EventId is a required field EventId *string `min:"1" type:"string" required:"true"` @@ -2053,27 +2572,274 @@ func (s *GetMonitorOutput) SetProcessingStatusInfo(v string) *GetMonitorOutput { return s } -// SetResources sets the Resources field's value. -func (s *GetMonitorOutput) SetResources(v []*string) *GetMonitorOutput { - s.Resources = v - return s +// SetResources sets the Resources field's value. +func (s *GetMonitorOutput) SetResources(v []*string) *GetMonitorOutput { + s.Resources = v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetMonitorOutput) SetStatus(v string) *GetMonitorOutput { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetMonitorOutput) SetTags(v map[string]*string) *GetMonitorOutput { + s.Tags = v + return s +} + +// SetTrafficPercentageToMonitor sets the TrafficPercentageToMonitor field's value. +func (s *GetMonitorOutput) SetTrafficPercentageToMonitor(v int64) *GetMonitorOutput { + s.TrafficPercentageToMonitor = &v + return s +} + +type GetQueryResultsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The number of query results that you want to return with this call. + MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"` + + // The name of the monitor to return data for. + // + // MonitorName is a required field + MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" type:"string" required:"true"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` + + // The ID of the query that you want to return data results for. A QueryId is + // an internally-generated identifier for a specific query. + // + // QueryId is a required field + QueryId *string `location:"uri" locationName:"QueryId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQueryResultsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQueryResultsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetQueryResultsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetQueryResultsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.MonitorName == nil { + invalidParams.Add(request.NewErrParamRequired("MonitorName")) + } + if s.MonitorName != nil && len(*s.MonitorName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) + } + if s.QueryId == nil { + invalidParams.Add(request.NewErrParamRequired("QueryId")) + } + if s.QueryId != nil && len(*s.QueryId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QueryId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetQueryResultsInput) SetMaxResults(v int64) *GetQueryResultsInput { + s.MaxResults = &v + return s +} + +// SetMonitorName sets the MonitorName field's value. +func (s *GetQueryResultsInput) SetMonitorName(v string) *GetQueryResultsInput { + s.MonitorName = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetQueryResultsInput) SetNextToken(v string) *GetQueryResultsInput { + s.NextToken = &v + return s +} + +// SetQueryId sets the QueryId field's value. +func (s *GetQueryResultsInput) SetQueryId(v string) *GetQueryResultsInput { + s.QueryId = &v + return s +} + +type GetQueryResultsOutput struct { + _ struct{} `type:"structure"` + + // The data results that the query returns. Data is returned in arrays, aligned + // with the Fields for the query, which creates a repository of Amazon CloudWatch + // Internet Monitor information for your application. Then, you can filter the + // information in the repository by using FilterParameters that you define. + // + // Data is a required field + Data [][]*string `type:"list" required:"true"` + + // The fields that the query returns data for. Fields are name-data type pairs, + // such as availability_score-float. + // + // Fields is a required field + Fields []*QueryField `type:"list" required:"true"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQueryResultsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQueryResultsOutput) GoString() string { + return s.String() +} + +// SetData sets the Data field's value. +func (s *GetQueryResultsOutput) SetData(v [][]*string) *GetQueryResultsOutput { + s.Data = v + return s +} + +// SetFields sets the Fields field's value. +func (s *GetQueryResultsOutput) SetFields(v []*QueryField) *GetQueryResultsOutput { + s.Fields = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetQueryResultsOutput) SetNextToken(v string) *GetQueryResultsOutput { + s.NextToken = &v + return s +} + +type GetQueryStatusInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name of the monitor. + // + // MonitorName is a required field + MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" type:"string" required:"true"` + + // The ID of the query that you want to return the status for. A QueryId is + // an internally-generated dentifier for a specific query. + // + // QueryId is a required field + QueryId *string `location:"uri" locationName:"QueryId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQueryStatusInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQueryStatusInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetQueryStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetQueryStatusInput"} + if s.MonitorName == nil { + invalidParams.Add(request.NewErrParamRequired("MonitorName")) + } + if s.MonitorName != nil && len(*s.MonitorName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) + } + if s.QueryId == nil { + invalidParams.Add(request.NewErrParamRequired("QueryId")) + } + if s.QueryId != nil && len(*s.QueryId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QueryId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMonitorName sets the MonitorName field's value. +func (s *GetQueryStatusInput) SetMonitorName(v string) *GetQueryStatusInput { + s.MonitorName = &v + return s +} + +// SetQueryId sets the QueryId field's value. +func (s *GetQueryStatusInput) SetQueryId(v string) *GetQueryStatusInput { + s.QueryId = &v + return s +} + +type GetQueryStatusOutput struct { + _ struct{} `type:"structure"` + + // The current status for a query. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"QueryStatus"` } -// SetStatus sets the Status field's value. -func (s *GetMonitorOutput) SetStatus(v string) *GetMonitorOutput { - s.Status = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQueryStatusOutput) String() string { + return awsutil.Prettify(s) } -// SetTags sets the Tags field's value. -func (s *GetMonitorOutput) SetTags(v map[string]*string) *GetMonitorOutput { - s.Tags = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQueryStatusOutput) GoString() string { + return s.String() } -// SetTrafficPercentageToMonitor sets the TrafficPercentageToMonitor field's value. -func (s *GetMonitorOutput) SetTrafficPercentageToMonitor(v int64) *GetMonitorOutput { - s.TrafficPercentageToMonitor = &v +// SetStatus sets the Status field's value. +func (s *GetQueryStatusOutput) SetStatus(v string) *GetQueryStatusOutput { + s.Status = &v return s } @@ -2094,7 +2860,7 @@ type HealthEvent struct { // EventArn is a required field EventArn *string `min:"20" type:"string" required:"true"` - // The internally generated identifier of a specific network traffic impairment + // The internally-generated identifier of a specific network traffic impairment // health event. // // EventId is a required field @@ -3133,6 +3899,8 @@ func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForRe // issue before Internet Monitor creates an event when a threshold is crossed // for a local health score. // +// If you don't set a local health event threshold, the default value is 60%. +// // For more information, see Change health event thresholds (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-overview.html#IMUpdateThresholdFromOverview) // in the Internet Monitor section of the CloudWatch User Guide. type LocalHealthEventsConfig struct { @@ -3144,6 +3912,9 @@ type LocalHealthEventsConfig struct { // The minimum percentage of overall traffic for an application that must be // impacted by an issue before Internet Monitor creates an event when a threshold // is crossed for a local health score. + // + // If you don't set a minimum traffic impact threshold, the default value is + // 0.01%. MinTrafficImpact *float64 `type:"double"` // The status of whether Internet Monitor creates a health event based on a @@ -3535,6 +4306,53 @@ func (s *PerformanceMeasurement) SetRoundTripTime(v *RoundTripTime) *Performance return s } +// Defines a field to query for your application's Amazon CloudWatch Internet +// Monitor data. You create a data repository by running a query of a specific +// type. Each QueryType includes a specific set of fields and datatypes to retrieve +// data for. +type QueryField struct { + _ struct{} `type:"structure"` + + // The name of a field to query your application's Amazon CloudWatch Internet + // Monitor data for, such as availability_score. + Name *string `type:"string"` + + // The data type for a query field, which must correspond to the field you're + // defining for QueryField. For example, if the query field name is availability_score, + // the data type is float. + Type *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QueryField) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QueryField) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *QueryField) SetName(v string) *QueryField { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *QueryField) SetType(v string) *QueryField { + s.Type = &v + return s +} + // The request specifies a resource that doesn't exist. type ResourceNotFoundException struct { _ struct{} `type:"structure"` @@ -3719,6 +4537,249 @@ func (s *S3Config) SetLogDeliveryStatus(v string) *S3Config { return s } +type StartQueryInput struct { + _ struct{} `type:"structure"` + + // The timestamp that is the end of the period that you want to retrieve data + // for with your query. + // + // EndTime is a required field + EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The FilterParameters field that you use with Amazon CloudWatch Internet Monitor + // queries is a string the defines how you want a query to be filtered. The + // filter parameters that you can specify depend on the query type, since each + // query type returns a different set of Internet Monitor data. + // + // For more information about specifying filter parameters, see Using the Amazon + // CloudWatch Internet Monitor query interface (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-cwim-query.html) + // in the Amazon CloudWatch Internet Monitor User Guide. + FilterParameters []*FilterParameter `type:"list"` + + // The name of the monitor to query. + // + // MonitorName is a required field + MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" type:"string" required:"true"` + + // The type of query to run. The following are the three types of queries that + // you can run using the Internet Monitor query interface: + // + // * MEASUREMENTS: TBD definition + // + // * TOP_LOCATIONS: TBD definition + // + // * TOP_LOCATION_DETAILS: TBD definition + // + // For lists of the fields returned with each query type and more information + // about how each type of query is performed, see Using the Amazon CloudWatch + // Internet Monitor query interface (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-cwim-query.html) + // in the Amazon CloudWatch Internet Monitor User Guide. + // + // QueryType is a required field + QueryType *string `type:"string" required:"true" enum:"QueryType"` + + // The timestamp that is the beginning of the period that you want to retrieve + // data for with your query. + // + // StartTime is a required field + StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartQueryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartQueryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartQueryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartQueryInput"} + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) + } + if s.MonitorName == nil { + invalidParams.Add(request.NewErrParamRequired("MonitorName")) + } + if s.MonitorName != nil && len(*s.MonitorName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) + } + if s.QueryType == nil { + invalidParams.Add(request.NewErrParamRequired("QueryType")) + } + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTime sets the EndTime field's value. +func (s *StartQueryInput) SetEndTime(v time.Time) *StartQueryInput { + s.EndTime = &v + return s +} + +// SetFilterParameters sets the FilterParameters field's value. +func (s *StartQueryInput) SetFilterParameters(v []*FilterParameter) *StartQueryInput { + s.FilterParameters = v + return s +} + +// SetMonitorName sets the MonitorName field's value. +func (s *StartQueryInput) SetMonitorName(v string) *StartQueryInput { + s.MonitorName = &v + return s +} + +// SetQueryType sets the QueryType field's value. +func (s *StartQueryInput) SetQueryType(v string) *StartQueryInput { + s.QueryType = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *StartQueryInput) SetStartTime(v time.Time) *StartQueryInput { + s.StartTime = &v + return s +} + +type StartQueryOutput struct { + _ struct{} `type:"structure"` + + // The internally-generated identifier of a specific query. + // + // QueryId is a required field + QueryId *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartQueryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartQueryOutput) GoString() string { + return s.String() +} + +// SetQueryId sets the QueryId field's value. +func (s *StartQueryOutput) SetQueryId(v string) *StartQueryOutput { + s.QueryId = &v + return s +} + +type StopQueryInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name of the monitor. + // + // MonitorName is a required field + MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" type:"string" required:"true"` + + // The ID of the query that you want to stop. A QueryId is an internally-generated + // identifier for a specific query. + // + // QueryId is a required field + QueryId *string `location:"uri" locationName:"QueryId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopQueryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopQueryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopQueryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopQueryInput"} + if s.MonitorName == nil { + invalidParams.Add(request.NewErrParamRequired("MonitorName")) + } + if s.MonitorName != nil && len(*s.MonitorName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) + } + if s.QueryId == nil { + invalidParams.Add(request.NewErrParamRequired("QueryId")) + } + if s.QueryId != nil && len(*s.QueryId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QueryId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMonitorName sets the MonitorName field's value. +func (s *StopQueryInput) SetMonitorName(v string) *StopQueryInput { + s.MonitorName = &v + return s +} + +// SetQueryId sets the QueryId field's value. +func (s *StopQueryInput) SetQueryId(v string) *StopQueryInput { + s.QueryId = &v + return s +} + +type StopQueryOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopQueryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopQueryOutput) GoString() string { + return s.String() +} + type TagResourceInput struct { _ struct{} `type:"structure"` @@ -4421,6 +5482,70 @@ func MonitorProcessingStatusCode_Values() []string { } } +const ( + // OperatorEquals is a Operator enum value + OperatorEquals = "EQUALS" + + // OperatorNotEquals is a Operator enum value + OperatorNotEquals = "NOT_EQUALS" +) + +// Operator_Values returns all elements of the Operator enum +func Operator_Values() []string { + return []string{ + OperatorEquals, + OperatorNotEquals, + } +} + +const ( + // QueryStatusQueued is a QueryStatus enum value + QueryStatusQueued = "QUEUED" + + // QueryStatusRunning is a QueryStatus enum value + QueryStatusRunning = "RUNNING" + + // QueryStatusSucceeded is a QueryStatus enum value + QueryStatusSucceeded = "SUCCEEDED" + + // QueryStatusFailed is a QueryStatus enum value + QueryStatusFailed = "FAILED" + + // QueryStatusCanceled is a QueryStatus enum value + QueryStatusCanceled = "CANCELED" +) + +// QueryStatus_Values returns all elements of the QueryStatus enum +func QueryStatus_Values() []string { + return []string{ + QueryStatusQueued, + QueryStatusRunning, + QueryStatusSucceeded, + QueryStatusFailed, + QueryStatusCanceled, + } +} + +const ( + // QueryTypeMeasurements is a QueryType enum value + QueryTypeMeasurements = "MEASUREMENTS" + + // QueryTypeTopLocations is a QueryType enum value + QueryTypeTopLocations = "TOP_LOCATIONS" + + // QueryTypeTopLocationDetails is a QueryType enum value + QueryTypeTopLocationDetails = "TOP_LOCATION_DETAILS" +) + +// QueryType_Values returns all elements of the QueryType enum +func QueryType_Values() []string { + return []string{ + QueryTypeMeasurements, + QueryTypeTopLocations, + QueryTypeTopLocationDetails, + } +} + const ( // TriangulationEventTypeAws is a TriangulationEventType enum value TriangulationEventTypeAws = "AWS" diff --git a/service/internetmonitor/internetmonitoriface/interface.go b/service/internetmonitor/internetmonitoriface/interface.go index d267bc917a3..d92b8203181 100644 --- a/service/internetmonitor/internetmonitoriface/interface.go +++ b/service/internetmonitor/internetmonitoriface/interface.go @@ -76,6 +76,17 @@ type InternetMonitorAPI interface { GetMonitorWithContext(aws.Context, *internetmonitor.GetMonitorInput, ...request.Option) (*internetmonitor.GetMonitorOutput, error) GetMonitorRequest(*internetmonitor.GetMonitorInput) (*request.Request, *internetmonitor.GetMonitorOutput) + GetQueryResults(*internetmonitor.GetQueryResultsInput) (*internetmonitor.GetQueryResultsOutput, error) + GetQueryResultsWithContext(aws.Context, *internetmonitor.GetQueryResultsInput, ...request.Option) (*internetmonitor.GetQueryResultsOutput, error) + GetQueryResultsRequest(*internetmonitor.GetQueryResultsInput) (*request.Request, *internetmonitor.GetQueryResultsOutput) + + GetQueryResultsPages(*internetmonitor.GetQueryResultsInput, func(*internetmonitor.GetQueryResultsOutput, bool) bool) error + GetQueryResultsPagesWithContext(aws.Context, *internetmonitor.GetQueryResultsInput, func(*internetmonitor.GetQueryResultsOutput, bool) bool, ...request.Option) error + + GetQueryStatus(*internetmonitor.GetQueryStatusInput) (*internetmonitor.GetQueryStatusOutput, error) + GetQueryStatusWithContext(aws.Context, *internetmonitor.GetQueryStatusInput, ...request.Option) (*internetmonitor.GetQueryStatusOutput, error) + GetQueryStatusRequest(*internetmonitor.GetQueryStatusInput) (*request.Request, *internetmonitor.GetQueryStatusOutput) + ListHealthEvents(*internetmonitor.ListHealthEventsInput) (*internetmonitor.ListHealthEventsOutput, error) ListHealthEventsWithContext(aws.Context, *internetmonitor.ListHealthEventsInput, ...request.Option) (*internetmonitor.ListHealthEventsOutput, error) ListHealthEventsRequest(*internetmonitor.ListHealthEventsInput) (*request.Request, *internetmonitor.ListHealthEventsOutput) @@ -94,6 +105,14 @@ type InternetMonitorAPI interface { ListTagsForResourceWithContext(aws.Context, *internetmonitor.ListTagsForResourceInput, ...request.Option) (*internetmonitor.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*internetmonitor.ListTagsForResourceInput) (*request.Request, *internetmonitor.ListTagsForResourceOutput) + StartQuery(*internetmonitor.StartQueryInput) (*internetmonitor.StartQueryOutput, error) + StartQueryWithContext(aws.Context, *internetmonitor.StartQueryInput, ...request.Option) (*internetmonitor.StartQueryOutput, error) + StartQueryRequest(*internetmonitor.StartQueryInput) (*request.Request, *internetmonitor.StartQueryOutput) + + StopQuery(*internetmonitor.StopQueryInput) (*internetmonitor.StopQueryOutput, error) + StopQueryWithContext(aws.Context, *internetmonitor.StopQueryInput, ...request.Option) (*internetmonitor.StopQueryOutput, error) + StopQueryRequest(*internetmonitor.StopQueryInput) (*request.Request, *internetmonitor.StopQueryOutput) + TagResource(*internetmonitor.TagResourceInput) (*internetmonitor.TagResourceOutput, error) TagResourceWithContext(aws.Context, *internetmonitor.TagResourceInput, ...request.Option) (*internetmonitor.TagResourceOutput, error) TagResourceRequest(*internetmonitor.TagResourceInput) (*request.Request, *internetmonitor.TagResourceOutput) diff --git a/service/ivschat/api.go b/service/ivschat/api.go index d4dd1480055..b89cde60e35 100644 --- a/service/ivschat/api.go +++ b/service/ivschat/api.go @@ -1778,7 +1778,11 @@ type CreateChatTokenInput struct { // Application-provided attributes to encode into the token and attach to a // chat session. Map keys and values can contain UTF-8 encoded text. The maximum // length of this field is 1 KB total. - Attributes map[string]*string `locationName:"attributes" type:"map"` + // + // Attributes is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateChatTokenInput's + // String and GoString methods. + Attributes map[string]*string `locationName:"attributes" type:"map" sensitive:"true"` // Set of capabilities that the user is allowed to perform in the room. Default: // None (the capability to view messages is implicitly included in all requests). @@ -1797,8 +1801,12 @@ type CreateChatTokenInput struct { // Application-provided ID that uniquely identifies the user associated with // this token. This can be any UTF-8 encoded text. // + // UserId is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateChatTokenInput's + // String and GoString methods. + // // UserId is a required field - UserId *string `locationName:"userId" min:"1" type:"string" required:"true"` + UserId *string `locationName:"userId" min:"1" type:"string" required:"true" sensitive:"true"` } // String returns the string representation. @@ -1882,7 +1890,11 @@ type CreateChatTokenOutput struct { SessionExpirationTime *time.Time `locationName:"sessionExpirationTime" type:"timestamp" timestampFormat:"iso8601"` // The issued client token, encrypted. - Token *string `locationName:"token" type:"string"` + // + // Token is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateChatTokenOutput's + // String and GoString methods. + Token *string `locationName:"token" type:"string" sensitive:"true"` // Time after which the token is no longer valid and cannot be used to connect // to a room. This is an ISO 8601 timestamp; note that this is returned as a @@ -2666,8 +2678,12 @@ type DisconnectUserInput struct { // ID of the user (connection) to disconnect from the room. // + // UserId is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by DisconnectUserInput's + // String and GoString methods. + // // UserId is a required field - UserId *string `locationName:"userId" min:"1" type:"string" required:"true"` + UserId *string `locationName:"userId" min:"1" type:"string" required:"true" sensitive:"true"` } // String returns the string representation. diff --git a/service/kinesisvideo/api.go b/service/kinesisvideo/api.go index 4d5c3ef9258..da2d0d315b3 100644 --- a/service/kinesisvideo/api.go +++ b/service/kinesisvideo/api.go @@ -954,9 +954,6 @@ func (c *KinesisVideo) DescribeMediaStorageConfigurationRequest(input *DescribeM // DescribeMediaStorageConfiguration API operation for Amazon Kinesis Video Streams. // -// This API is related to WebRTC Ingestion (https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/webrtc-ingestion.html) -// and is only available in the us-west-2 region. -// // Returns the most current information about the channel. Specify the ChannelName // or ChannelARN in the input. // @@ -2671,8 +2668,6 @@ func (c *KinesisVideo) UpdateDataRetentionRequest(input *UpdateDataRetentionInpu // retention period, specify the Operation parameter in the request body. In // the request, you must specify either the StreamName or the StreamARN. // -// The retention period that you specify replaces the current value. -// // This operation requires permission for the KinesisVideo:UpdateDataRetention // action. // @@ -2902,17 +2897,15 @@ func (c *KinesisVideo) UpdateMediaStorageConfigurationRequest(input *UpdateMedia // UpdateMediaStorageConfiguration API operation for Amazon Kinesis Video Streams. // -// This API is related to WebRTC Ingestion (https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/webrtc-ingestion.html) -// and is only available in the us-west-2 region. -// // Associates a SignalingChannel to a stream to store the media. There are two -// signaling modes that can specified : +// signaling modes that you can specify : // -// - If the StorageStatus is disabled, no data will be stored, and the StreamARN -// parameter will not be needed. +// - If StorageStatus is enabled, the data will be stored in the StreamARN +// provided. In order for WebRTC Ingestion to work, the stream must have +// data retention enabled. // -// - If the StorageStatus is enabled, the data will be stored in the StreamARN -// provided. +// - If StorageStatus is disabled, no data will be stored, and the StreamARN +// parameter will not be needed. // // If StorageStatus is enabled, direct peer-to-peer (master-viewer) connections // no longer occur. Peers connect directly to the storage session. You must @@ -6844,6 +6837,13 @@ func (s *MediaSourceConfig) SetMediaUriType(v string) *MediaSourceConfig { // A structure that encapsulates, or contains, the media storage configuration // properties. +// +// - If StorageStatus is enabled, the data will be stored in the StreamARN +// provided. In order for WebRTC Ingestion to work, the stream must have +// data retention enabled. +// +// - If StorageStatus is disabled, no data will be stored, and the StreamARN +// parameter will not be needed. type MediaStorageConfiguration struct { _ struct{} `type:"structure"` @@ -6852,7 +6852,7 @@ type MediaStorageConfiguration struct { // Status is a required field Status *string `type:"string" required:"true" enum:"MediaStorageConfigurationStatus"` - // The Amazon Resource Name (ARN) of the stream + // The Amazon Resource Name (ARN) of the stream. StreamARN *string `min:"1" type:"string"` } @@ -8512,8 +8512,11 @@ type UpdateDataRetentionInput struct { // CurrentVersion is a required field CurrentVersion *string `min:"1" type:"string" required:"true"` - // The retention period, in hours. The value you specify replaces the current - // value. The maximum value for this parameter is 87600 (ten years). + // The number of hours to adjust the current retention by. The value you specify + // is added to or subtracted from the current value, depending on the operation. + // + // The minimum value for data retention is 0 and the maximum value is 87600 + // (ten years). // // DataRetentionChangeInHours is a required field DataRetentionChangeInHours *int64 `min:"1" type:"integer" required:"true"` diff --git a/service/medialive/api.go b/service/medialive/api.go index e26492be580..24747501472 100644 --- a/service/medialive/api.go +++ b/service/medialive/api.go @@ -2063,7 +2063,7 @@ func (c *MediaLive) DescribeAccountConfigurationRequest(input *DescribeAccountCo // DescribeAccountConfiguration API operation for AWS Elemental MediaLive. // -// # Get account configuration +// # Describe account 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 @@ -6715,6 +6715,9 @@ func (s AcceptInputDeviceTransferOutput) GoString() string { type AccountConfiguration struct { _ struct{} `type:"structure"` + // Specifies the KMS key to use for all features that use key encryption. Specify + // the ARN of a KMS key that you have created. Or leave blank to use the key + // that MediaLive creates and manages for you. KmsKeyId *string `locationName:"kmsKeyId" type:"string"` } @@ -16141,6 +16144,11 @@ type FeatureActivations struct { // an existing schedule, make sure that you first delete all input prepare actions // from the schedule. InputPrepareScheduleActions *string `locationName:"inputPrepareScheduleActions" type:"string" enum:"FeatureActivationsInputPrepareScheduleActions"` + + // Enables the output static image overlay feature. Enabling this feature allows + // you to send channel schedule updatesto display/clear/modify image overlays + // on an output-by-output bases. + OutputStaticImageOverlayScheduleActions *string `locationName:"outputStaticImageOverlayScheduleActions" type:"string" enum:"FeatureActivationsOutputStaticImageOverlayScheduleActions"` } // String returns the string representation. @@ -16167,6 +16175,12 @@ func (s *FeatureActivations) SetInputPrepareScheduleActions(v string) *FeatureAc return s } +// SetOutputStaticImageOverlayScheduleActions sets the OutputStaticImageOverlayScheduleActions field's value. +func (s *FeatureActivations) SetOutputStaticImageOverlayScheduleActions(v string) *FeatureActivations { + s.OutputStaticImageOverlayScheduleActions = &v + return s +} + // Fec Output Settings type FecOutputSettings struct { _ struct{} `type:"structure"` @@ -28206,6 +28220,12 @@ type ScheduleActionSettings struct { // Action to deactivate a static image overlay StaticImageDeactivateSettings *StaticImageDeactivateScheduleActionSettings `locationName:"staticImageDeactivateSettings" type:"structure"` + + // Action to activate a static image overlay in one or more specified outputs + StaticImageOutputActivateSettings *StaticImageOutputActivateScheduleActionSettings `locationName:"staticImageOutputActivateSettings" type:"structure"` + + // Action to deactivate a static image overlay in one or more specified outputs + StaticImageOutputDeactivateSettings *StaticImageOutputDeactivateScheduleActionSettings `locationName:"staticImageOutputDeactivateSettings" type:"structure"` } // String returns the string representation. @@ -28274,6 +28294,16 @@ func (s *ScheduleActionSettings) Validate() error { invalidParams.AddNested("StaticImageActivateSettings", err.(request.ErrInvalidParams)) } } + if s.StaticImageOutputActivateSettings != nil { + if err := s.StaticImageOutputActivateSettings.Validate(); err != nil { + invalidParams.AddNested("StaticImageOutputActivateSettings", err.(request.ErrInvalidParams)) + } + } + if s.StaticImageOutputDeactivateSettings != nil { + if err := s.StaticImageOutputDeactivateSettings.Validate(); err != nil { + invalidParams.AddNested("StaticImageOutputDeactivateSettings", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -28359,6 +28389,18 @@ func (s *ScheduleActionSettings) SetStaticImageDeactivateSettings(v *StaticImage return s } +// SetStaticImageOutputActivateSettings sets the StaticImageOutputActivateSettings field's value. +func (s *ScheduleActionSettings) SetStaticImageOutputActivateSettings(v *StaticImageOutputActivateScheduleActionSettings) *ScheduleActionSettings { + s.StaticImageOutputActivateSettings = v + return s +} + +// SetStaticImageOutputDeactivateSettings sets the StaticImageOutputDeactivateSettings field's value. +func (s *ScheduleActionSettings) SetStaticImageOutputDeactivateSettings(v *StaticImageOutputDeactivateScheduleActionSettings) *ScheduleActionSettings { + s.StaticImageOutputDeactivateSettings = v + return s +} + // Settings to specify when an action should occur. Only one of the options // must be selected. type ScheduleActionStartSettings struct { @@ -30136,6 +30178,245 @@ func (s *StaticImageDeactivateScheduleActionSettings) SetLayer(v int64) *StaticI return s } +// Settings for the action to activate a static image. +type StaticImageOutputActivateScheduleActionSettings struct { + _ struct{} `type:"structure"` + + // The duration in milliseconds for the image to remain on the video. If omitted + // or set to 0 the duration is unlimited and the image will remain until it + // is explicitly deactivated. + Duration *int64 `locationName:"duration" type:"integer"` + + // The time in milliseconds for the image to fade in. The fade-in starts at + // the start time of the overlay. Default is 0 (no fade-in). + FadeIn *int64 `locationName:"fadeIn" type:"integer"` + + // Applies only if a duration is specified. The time in milliseconds for the + // image to fade out. The fade-out starts when the duration time is hit, so + // it effectively extends the duration. Default is 0 (no fade-out). + FadeOut *int64 `locationName:"fadeOut" type:"integer"` + + // The height of the image when inserted into the video, in pixels. The overlay + // will be scaled up or down to the specified height. Leave blank to use the + // native height of the overlay. + Height *int64 `locationName:"height" min:"1" type:"integer"` + + // The location and filename of the image file to overlay on the video. The + // file must be a 32-bit BMP, PNG, or TGA file, and must not be larger (in pixels) + // than the input video. + // + // Image is a required field + Image *InputLocation `locationName:"image" type:"structure" required:"true"` + + // Placement of the left edge of the overlay relative to the left edge of the + // video frame, in pixels. 0 (the default) is the left edge of the frame. If + // the placement causes the overlay to extend beyond the right edge of the underlying + // video, then the overlay is cropped on the right. + ImageX *int64 `locationName:"imageX" type:"integer"` + + // Placement of the top edge of the overlay relative to the top edge of the + // video frame, in pixels. 0 (the default) is the top edge of the frame. If + // the placement causes the overlay to extend beyond the bottom edge of the + // underlying video, then the overlay is cropped on the bottom. + ImageY *int64 `locationName:"imageY" type:"integer"` + + // The number of the layer, 0 to 7. There are 8 layers that can be overlaid + // on the video, each layer with a different image. The layers are in Z order, + // which means that overlays with higher values of layer are inserted on top + // of overlays with lower values of layer. Default is 0. + Layer *int64 `locationName:"layer" type:"integer"` + + // Opacity of image where 0 is transparent and 100 is fully opaque. Default + // is 100. + Opacity *int64 `locationName:"opacity" type:"integer"` + + // The name(s) of the output(s) the activation should apply to. + // + // OutputNames is a required field + OutputNames []*string `locationName:"outputNames" type:"list" required:"true"` + + // The width of the image when inserted into the video, in pixels. The overlay + // will be scaled up or down to the specified width. Leave blank to use the + // native width of the overlay. + Width *int64 `locationName:"width" min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StaticImageOutputActivateScheduleActionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StaticImageOutputActivateScheduleActionSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StaticImageOutputActivateScheduleActionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StaticImageOutputActivateScheduleActionSettings"} + if s.Height != nil && *s.Height < 1 { + invalidParams.Add(request.NewErrParamMinValue("Height", 1)) + } + if s.Image == nil { + invalidParams.Add(request.NewErrParamRequired("Image")) + } + if s.OutputNames == nil { + invalidParams.Add(request.NewErrParamRequired("OutputNames")) + } + if s.Width != nil && *s.Width < 1 { + invalidParams.Add(request.NewErrParamMinValue("Width", 1)) + } + if s.Image != nil { + if err := s.Image.Validate(); err != nil { + invalidParams.AddNested("Image", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDuration sets the Duration field's value. +func (s *StaticImageOutputActivateScheduleActionSettings) SetDuration(v int64) *StaticImageOutputActivateScheduleActionSettings { + s.Duration = &v + return s +} + +// SetFadeIn sets the FadeIn field's value. +func (s *StaticImageOutputActivateScheduleActionSettings) SetFadeIn(v int64) *StaticImageOutputActivateScheduleActionSettings { + s.FadeIn = &v + return s +} + +// SetFadeOut sets the FadeOut field's value. +func (s *StaticImageOutputActivateScheduleActionSettings) SetFadeOut(v int64) *StaticImageOutputActivateScheduleActionSettings { + s.FadeOut = &v + return s +} + +// SetHeight sets the Height field's value. +func (s *StaticImageOutputActivateScheduleActionSettings) SetHeight(v int64) *StaticImageOutputActivateScheduleActionSettings { + s.Height = &v + return s +} + +// SetImage sets the Image field's value. +func (s *StaticImageOutputActivateScheduleActionSettings) SetImage(v *InputLocation) *StaticImageOutputActivateScheduleActionSettings { + s.Image = v + return s +} + +// SetImageX sets the ImageX field's value. +func (s *StaticImageOutputActivateScheduleActionSettings) SetImageX(v int64) *StaticImageOutputActivateScheduleActionSettings { + s.ImageX = &v + return s +} + +// SetImageY sets the ImageY field's value. +func (s *StaticImageOutputActivateScheduleActionSettings) SetImageY(v int64) *StaticImageOutputActivateScheduleActionSettings { + s.ImageY = &v + return s +} + +// SetLayer sets the Layer field's value. +func (s *StaticImageOutputActivateScheduleActionSettings) SetLayer(v int64) *StaticImageOutputActivateScheduleActionSettings { + s.Layer = &v + return s +} + +// SetOpacity sets the Opacity field's value. +func (s *StaticImageOutputActivateScheduleActionSettings) SetOpacity(v int64) *StaticImageOutputActivateScheduleActionSettings { + s.Opacity = &v + return s +} + +// SetOutputNames sets the OutputNames field's value. +func (s *StaticImageOutputActivateScheduleActionSettings) SetOutputNames(v []*string) *StaticImageOutputActivateScheduleActionSettings { + s.OutputNames = v + return s +} + +// SetWidth sets the Width field's value. +func (s *StaticImageOutputActivateScheduleActionSettings) SetWidth(v int64) *StaticImageOutputActivateScheduleActionSettings { + s.Width = &v + return s +} + +// Settings for the action to deactivate the image in a specific layer. +type StaticImageOutputDeactivateScheduleActionSettings struct { + _ struct{} `type:"structure"` + + // The time in milliseconds for the image to fade out. Default is 0 (no fade-out). + FadeOut *int64 `locationName:"fadeOut" type:"integer"` + + // The image overlay layer to deactivate, 0 to 7. Default is 0. + Layer *int64 `locationName:"layer" type:"integer"` + + // The name(s) of the output(s) the deactivation should apply to. + // + // OutputNames is a required field + OutputNames []*string `locationName:"outputNames" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StaticImageOutputDeactivateScheduleActionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StaticImageOutputDeactivateScheduleActionSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StaticImageOutputDeactivateScheduleActionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StaticImageOutputDeactivateScheduleActionSettings"} + if s.OutputNames == nil { + invalidParams.Add(request.NewErrParamRequired("OutputNames")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFadeOut sets the FadeOut field's value. +func (s *StaticImageOutputDeactivateScheduleActionSettings) SetFadeOut(v int64) *StaticImageOutputDeactivateScheduleActionSettings { + s.FadeOut = &v + return s +} + +// SetLayer sets the Layer field's value. +func (s *StaticImageOutputDeactivateScheduleActionSettings) SetLayer(v int64) *StaticImageOutputDeactivateScheduleActionSettings { + s.Layer = &v + return s +} + +// SetOutputNames sets the OutputNames field's value. +func (s *StaticImageOutputDeactivateScheduleActionSettings) SetOutputNames(v []*string) *StaticImageOutputDeactivateScheduleActionSettings { + s.OutputNames = v + return s +} + // Static Key Settings type StaticKeySettings struct { _ struct{} `type:"structure"` @@ -30871,7 +31152,9 @@ func (s *Thumbnail) SetTimeStamp(v time.Time) *Thumbnail { type ThumbnailConfiguration struct { _ struct{} `type:"structure"` - // Whether Thumbnail is enabled. + // Enables the thumbnail feature. The feature generates thumbnails of the incoming + // video in each pipeline in the channel. AUTO turns the feature on, DISABLE + // turns the feature off. // // State is a required field State *string `locationName:"state" type:"string" required:"true" enum:"ThumbnailState"` @@ -35000,6 +35283,23 @@ func FeatureActivationsInputPrepareScheduleActions_Values() []string { } } +// Feature Activations Output Static Image Overlay Schedule Actions +const ( + // FeatureActivationsOutputStaticImageOverlayScheduleActionsDisabled is a FeatureActivationsOutputStaticImageOverlayScheduleActions enum value + FeatureActivationsOutputStaticImageOverlayScheduleActionsDisabled = "DISABLED" + + // FeatureActivationsOutputStaticImageOverlayScheduleActionsEnabled is a FeatureActivationsOutputStaticImageOverlayScheduleActions enum value + FeatureActivationsOutputStaticImageOverlayScheduleActionsEnabled = "ENABLED" +) + +// FeatureActivationsOutputStaticImageOverlayScheduleActions_Values returns all elements of the FeatureActivationsOutputStaticImageOverlayScheduleActions enum +func FeatureActivationsOutputStaticImageOverlayScheduleActions_Values() []string { + return []string{ + FeatureActivationsOutputStaticImageOverlayScheduleActionsDisabled, + FeatureActivationsOutputStaticImageOverlayScheduleActionsEnabled, + } +} + // Fec Output Include Fec const ( // FecOutputIncludeFecColumn is a FecOutputIncludeFec enum value diff --git a/service/osis/api.go b/service/osis/api.go index 5b5f7c7708f..6e12785c93e 100644 --- a/service/osis/api.go +++ b/service/osis/api.go @@ -84,6 +84,9 @@ func (c *OSIS) CreatePipelineRequest(input *CreatePipelineInput) (req *request.R // - ResourceAlreadyExistsException // You attempted to create a resource that already exists. // +// - ResourceNotFoundException +// You attempted to access or delete a resource that does not exist. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/osis-2022-01-01/CreatePipeline func (c *OSIS) CreatePipeline(input *CreatePipelineInput) (*CreatePipelineOutput, error) { req, out := c.CreatePipelineRequest(input) @@ -1418,6 +1421,54 @@ func (s *AccessDeniedException) RequestID() string { return s.RespMetadata.RequestID } +// Options that specify the configuration of a persistent buffer. To configure +// how OpenSearch Ingestion encrypts this data, set the EncryptionAtRestOptions. +type BufferOptions struct { + _ struct{} `type:"structure"` + + // Whether persistent buffering should be enabled. + // + // PersistentBufferEnabled is a required field + PersistentBufferEnabled *bool `type:"boolean" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BufferOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BufferOptions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BufferOptions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BufferOptions"} + if s.PersistentBufferEnabled == nil { + invalidParams.Add(request.NewErrParamRequired("PersistentBufferEnabled")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPersistentBufferEnabled sets the PersistentBufferEnabled field's value. +func (s *BufferOptions) SetPersistentBufferEnabled(v bool) *BufferOptions { + s.PersistentBufferEnabled = &v + return s +} + // Progress details for a specific stage of a pipeline configuration change. type ChangeProgressStage struct { _ struct{} `type:"structure"` @@ -1655,6 +1706,13 @@ func (s *ConflictException) RequestID() string { type CreatePipelineInput struct { _ struct{} `type:"structure"` + // Key-value pairs to configure persistent buffering for the pipeline. + BufferOptions *BufferOptions `type:"structure"` + + // Key-value pairs to configure encryption for data that is written to a persistent + // buffer. + EncryptionAtRestOptions *EncryptionAtRestOptions `type:"structure"` + // Key-value pairs to configure log publishing. LogPublishingOptions *LogPublishingOptions `type:"structure"` @@ -1736,6 +1794,16 @@ func (s *CreatePipelineInput) Validate() error { if s.PipelineName != nil && len(*s.PipelineName) < 3 { invalidParams.Add(request.NewErrParamMinLen("PipelineName", 3)) } + if s.BufferOptions != nil { + if err := s.BufferOptions.Validate(); err != nil { + invalidParams.AddNested("BufferOptions", err.(request.ErrInvalidParams)) + } + } + if s.EncryptionAtRestOptions != nil { + if err := s.EncryptionAtRestOptions.Validate(); err != nil { + invalidParams.AddNested("EncryptionAtRestOptions", err.(request.ErrInvalidParams)) + } + } if s.LogPublishingOptions != nil { if err := s.LogPublishingOptions.Validate(); err != nil { invalidParams.AddNested("LogPublishingOptions", err.(request.ErrInvalidParams)) @@ -1763,6 +1831,18 @@ func (s *CreatePipelineInput) Validate() error { return nil } +// SetBufferOptions sets the BufferOptions field's value. +func (s *CreatePipelineInput) SetBufferOptions(v *BufferOptions) *CreatePipelineInput { + s.BufferOptions = v + return s +} + +// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value. +func (s *CreatePipelineInput) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *CreatePipelineInput { + s.EncryptionAtRestOptions = v + return s +} + // SetLogPublishingOptions sets the LogPublishingOptions field's value. func (s *CreatePipelineInput) SetLogPublishingOptions(v *LogPublishingOptions) *CreatePipelineInput { s.LogPublishingOptions = v @@ -1907,6 +1987,57 @@ func (s DeletePipelineOutput) GoString() string { return s.String() } +// Options to control how OpenSearch encrypts all data-at-rest. +type EncryptionAtRestOptions struct { + _ struct{} `type:"structure"` + + // The ARN of the KMS key used to encrypt data-at-rest in OpenSearch Ingestion. + // By default, data is encrypted using an AWS owned key. + // + // KmsKeyArn is a required field + KmsKeyArn *string `min:"7" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EncryptionAtRestOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EncryptionAtRestOptions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EncryptionAtRestOptions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncryptionAtRestOptions"} + if s.KmsKeyArn == nil { + invalidParams.Add(request.NewErrParamRequired("KmsKeyArn")) + } + if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 7 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 7)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *EncryptionAtRestOptions) SetKmsKeyArn(v string) *EncryptionAtRestOptions { + s.KmsKeyArn = &v + return s +} + type GetPipelineBlueprintInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -2634,9 +2765,16 @@ func (s *LogPublishingOptions) SetIsLoggingEnabled(v bool) *LogPublishingOptions type Pipeline struct { _ struct{} `type:"structure"` + // Options that specify the configuration of a persistent buffer. To configure + // how OpenSearch Ingestion encrypts this data, set the EncryptionAtRestOptions. + BufferOptions *BufferOptions `type:"structure"` + // The date and time when the pipeline was created. CreatedAt *time.Time `type:"timestamp"` + // Options to control how OpenSearch encrypts all data-at-rest. + EncryptionAtRestOptions *EncryptionAtRestOptions `type:"structure"` + // The ingestion endpoints for the pipeline, which you can send data to. IngestEndpointUrls []*string `type:"list"` @@ -2661,12 +2799,19 @@ type Pipeline struct { // The name of the pipeline. PipelineName *string `type:"string"` + // A list of VPC endpoints that OpenSearch Ingestion has created to other AWS + // services. + ServiceVpcEndpoints []*ServiceVpcEndpoint `type:"list"` + // The current status of the pipeline. Status *string `type:"string" enum:"PipelineStatus"` // The reason for the current status of the pipeline. StatusReason *PipelineStatusReason `type:"structure"` + // A list of tags associated with the given pipeline. + Tags []*Tag `type:"list"` + // The VPC interface endpoints that have access to the pipeline. VpcEndpoints []*VpcEndpoint `type:"list"` } @@ -2689,12 +2834,24 @@ func (s Pipeline) GoString() string { return s.String() } +// SetBufferOptions sets the BufferOptions field's value. +func (s *Pipeline) SetBufferOptions(v *BufferOptions) *Pipeline { + s.BufferOptions = v + return s +} + // SetCreatedAt sets the CreatedAt field's value. func (s *Pipeline) SetCreatedAt(v time.Time) *Pipeline { s.CreatedAt = &v return s } +// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value. +func (s *Pipeline) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *Pipeline { + s.EncryptionAtRestOptions = v + return s +} + // SetIngestEndpointUrls sets the IngestEndpointUrls field's value. func (s *Pipeline) SetIngestEndpointUrls(v []*string) *Pipeline { s.IngestEndpointUrls = v @@ -2743,6 +2900,12 @@ func (s *Pipeline) SetPipelineName(v string) *Pipeline { return s } +// SetServiceVpcEndpoints sets the ServiceVpcEndpoints field's value. +func (s *Pipeline) SetServiceVpcEndpoints(v []*ServiceVpcEndpoint) *Pipeline { + s.ServiceVpcEndpoints = v + return s +} + // SetStatus sets the Status field's value. func (s *Pipeline) SetStatus(v string) *Pipeline { s.Status = &v @@ -2755,6 +2918,12 @@ func (s *Pipeline) SetStatusReason(v *PipelineStatusReason) *Pipeline { return s } +// SetTags sets the Tags field's value. +func (s *Pipeline) SetTags(v []*Tag) *Pipeline { + s.Tags = v + return s +} + // SetVpcEndpoints sets the VpcEndpoints field's value. func (s *Pipeline) SetVpcEndpoints(v []*VpcEndpoint) *Pipeline { s.VpcEndpoints = v @@ -2893,6 +3062,9 @@ type PipelineSummary struct { // Information about a pipeline's current status. StatusReason *PipelineStatusReason `type:"structure"` + + // A list of tags associated with the given pipeline. + Tags []*Tag `type:"list"` } // String returns the string representation. @@ -2961,6 +3133,12 @@ func (s *PipelineSummary) SetStatusReason(v *PipelineStatusReason) *PipelineSumm return s } +// SetTags sets the Tags field's value. +func (s *PipelineSummary) SetTags(v []*Tag) *PipelineSummary { + s.Tags = v + return s +} + // You attempted to create a resource that already exists. type ResourceAlreadyExistsException struct { _ struct{} `type:"structure"` @@ -3089,6 +3267,48 @@ func (s *ResourceNotFoundException) RequestID() string { return s.RespMetadata.RequestID } +// A container for information about VPC endpoints that were created to other +// services +type ServiceVpcEndpoint struct { + _ struct{} `type:"structure"` + + // The name of the service for which a VPC endpoint was created. + ServiceName *string `type:"string" enum:"VpcEndpointServiceName"` + + // The ID of the VPC endpoint that was created. + VpcEndpointId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceVpcEndpoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceVpcEndpoint) GoString() string { + return s.String() +} + +// SetServiceName sets the ServiceName field's value. +func (s *ServiceVpcEndpoint) SetServiceName(v string) *ServiceVpcEndpoint { + s.ServiceName = &v + return s +} + +// SetVpcEndpointId sets the VpcEndpointId field's value. +func (s *ServiceVpcEndpoint) SetVpcEndpointId(v string) *ServiceVpcEndpoint { + s.VpcEndpointId = &v + return s +} + type StartPipelineInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -3498,6 +3718,13 @@ func (s UntagResourceOutput) GoString() string { type UpdatePipelineInput struct { _ struct{} `type:"structure"` + // Key-value pairs to configure persistent buffering for the pipeline. + BufferOptions *BufferOptions `type:"structure"` + + // Key-value pairs to configure encryption for data that is written to a persistent + // buffer. + EncryptionAtRestOptions *EncryptionAtRestOptions `type:"structure"` + // Key-value pairs to configure log publishing. LogPublishingOptions *LogPublishingOptions `type:"structure"` @@ -3554,6 +3781,16 @@ func (s *UpdatePipelineInput) Validate() error { if s.PipelineName != nil && len(*s.PipelineName) < 3 { invalidParams.Add(request.NewErrParamMinLen("PipelineName", 3)) } + if s.BufferOptions != nil { + if err := s.BufferOptions.Validate(); err != nil { + invalidParams.AddNested("BufferOptions", err.(request.ErrInvalidParams)) + } + } + if s.EncryptionAtRestOptions != nil { + if err := s.EncryptionAtRestOptions.Validate(); err != nil { + invalidParams.AddNested("EncryptionAtRestOptions", err.(request.ErrInvalidParams)) + } + } if s.LogPublishingOptions != nil { if err := s.LogPublishingOptions.Validate(); err != nil { invalidParams.AddNested("LogPublishingOptions", err.(request.ErrInvalidParams)) @@ -3566,6 +3803,18 @@ func (s *UpdatePipelineInput) Validate() error { return nil } +// SetBufferOptions sets the BufferOptions field's value. +func (s *UpdatePipelineInput) SetBufferOptions(v *BufferOptions) *UpdatePipelineInput { + s.BufferOptions = v + return s +} + +// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value. +func (s *UpdatePipelineInput) SetEncryptionAtRestOptions(v *EncryptionAtRestOptions) *UpdatePipelineInput { + s.EncryptionAtRestOptions = v + return s +} + // SetLogPublishingOptions sets the LogPublishingOptions field's value. func (s *UpdatePipelineInput) SetLogPublishingOptions(v *LogPublishingOptions) *UpdatePipelineInput { s.LogPublishingOptions = v @@ -4025,3 +4274,15 @@ func PipelineStatus_Values() []string { PipelineStatusStopped, } } + +const ( + // VpcEndpointServiceNameOpensearchServerless is a VpcEndpointServiceName enum value + VpcEndpointServiceNameOpensearchServerless = "OPENSEARCH_SERVERLESS" +) + +// VpcEndpointServiceName_Values returns all elements of the VpcEndpointServiceName enum +func VpcEndpointServiceName_Values() []string { + return []string{ + VpcEndpointServiceNameOpensearchServerless, + } +} diff --git a/service/rds/api.go b/service/rds/api.go index f89dac88f8e..46457c9403b 100644 --- a/service/rds/api.go +++ b/service/rds/api.go @@ -806,6 +806,10 @@ func (c *RDS) CopyDBClusterParameterGroupRequest(input *CopyDBClusterParameterGr // // Copies the specified DB cluster parameter group. // +// You can't copy a default DB cluster parameter group. Instead, create a new +// custom DB cluster parameter group, which copies the default parameters and +// values for the specified DB cluster parameter group family. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1024,6 +1028,10 @@ func (c *RDS) CopyDBParameterGroupRequest(input *CopyDBParameterGroupInput) (req // // Copies the specified DB parameter group. // +// You can't copy a default DB parameter group. Instead, create a new custom +// DB parameter group, which copies the default parameters and values for the +// specified DB parameter group family. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1576,6 +1584,10 @@ func (c *RDS) CreateDBClusterRequest(input *CreateDBClusterInput) (req *request. // - ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault" // The requested operation can't be performed while the cluster is in this state. // +// - ErrCodeInvalidDBSubnetGroupFault "InvalidDBSubnetGroupFault" +// The DBSubnetGroup doesn't belong to the same VPC as that of an existing cross-region +// read replica of the same source instance. +// // - ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault" // The DB subnet group cannot be deleted because it's in use. // @@ -1614,6 +1626,9 @@ func (c *RDS) CreateDBClusterRequest(input *CreateDBClusterInput) (req *request. // - ErrCodeDomainNotFoundFault "DomainNotFoundFault" // Domain doesn't refer to an existing Active Directory domain. // +// - ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault" +// The specified option group could not be found. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBCluster func (c *RDS) CreateDBCluster(input *CreateDBClusterInput) (*CreateDBClusterOutput, error) { req, out := c.CreateDBClusterRequest(input) @@ -11894,6 +11909,9 @@ func (c *RDS) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request. // The aurora-iopt1 storage type isn't available, because you modified the DB // cluster to use this storage type less than one month ago. // +// - ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault" +// The specified option group could not be found. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBCluster func (c *RDS) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutput, error) { req, out := c.ModifyDBClusterRequest(input) @@ -26909,6 +26927,9 @@ type DBCluster struct { // The current state of this DB cluster. Status *string `type:"string"` + // Reserved for future use. + StatusInfos []*DBClusterStatusInfo `locationNameList:"DBClusterStatusInfo" type:"list"` + // Indicates whether the DB cluster is encrypted. StorageEncrypted *bool `type:"boolean"` @@ -27367,6 +27388,12 @@ func (s *DBCluster) SetStatus(v string) *DBCluster { return s } +// SetStatusInfos sets the StatusInfos field's value. +func (s *DBCluster) SetStatusInfos(v []*DBClusterStatusInfo) *DBCluster { + s.StatusInfos = v + return s +} + // SetStorageEncrypted sets the StorageEncrypted field's value. func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster { s.StorageEncrypted = &v @@ -28434,6 +28461,65 @@ func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotIdentifier(v str return s } +// Reserved for future use. +type DBClusterStatusInfo struct { + _ struct{} `type:"structure"` + + // Reserved for future use. + Message *string `type:"string"` + + // Reserved for future use. + Normal *bool `type:"boolean"` + + // Reserved for future use. + Status *string `type:"string"` + + // Reserved for future use. + StatusType *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DBClusterStatusInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DBClusterStatusInfo) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *DBClusterStatusInfo) SetMessage(v string) *DBClusterStatusInfo { + s.Message = &v + return s +} + +// SetNormal sets the Normal field's value. +func (s *DBClusterStatusInfo) SetNormal(v bool) *DBClusterStatusInfo { + s.Normal = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DBClusterStatusInfo) SetStatus(v string) *DBClusterStatusInfo { + s.Status = &v + return s +} + +// SetStatusType sets the StatusType field's value. +func (s *DBClusterStatusInfo) SetStatusType(v string) *DBClusterStatusInfo { + s.StatusType = &v + return s +} + // This data type is used as a response element in the action DescribeDBEngineVersions. type DBEngineVersion struct { _ struct{} `type:"structure"` @@ -49936,6 +50022,9 @@ type RdsCustomClusterConfiguration struct { // Reserved for future use. InterconnectSubnetId *string `type:"string"` + // Reserved for future use. + ReplicaMode *string `type:"string" enum:"ReplicaMode"` + // Reserved for future use. TransitGatewayMulticastDomainId *string `type:"string"` } @@ -49964,6 +50053,12 @@ func (s *RdsCustomClusterConfiguration) SetInterconnectSubnetId(v string) *RdsCu return s } +// SetReplicaMode sets the ReplicaMode field's value. +func (s *RdsCustomClusterConfiguration) SetReplicaMode(v string) *RdsCustomClusterConfiguration { + s.ReplicaMode = &v + return s +} + // SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value. func (s *RdsCustomClusterConfiguration) SetTransitGatewayMulticastDomainId(v string) *RdsCustomClusterConfiguration { s.TransitGatewayMulticastDomainId = &v diff --git a/service/rds/examples_test.go b/service/rds/examples_test.go index d6b1002005f..07a8c4f6f98 100644 --- a/service/rds/examples_test.go +++ b/service/rds/examples_test.go @@ -596,6 +596,8 @@ func ExampleRDS_CreateDBCluster_shared00() { fmt.Println(rds.ErrCodeInvalidVPCNetworkStateFault, aerr.Error()) case rds.ErrCodeInvalidDBClusterStateFault: fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + case rds.ErrCodeInvalidDBSubnetGroupFault: + fmt.Println(rds.ErrCodeInvalidDBSubnetGroupFault, aerr.Error()) case rds.ErrCodeInvalidDBSubnetGroupStateFault: fmt.Println(rds.ErrCodeInvalidDBSubnetGroupStateFault, aerr.Error()) case rds.ErrCodeInvalidSubnet: @@ -618,6 +620,8 @@ func ExampleRDS_CreateDBCluster_shared00() { fmt.Println(rds.ErrCodeInvalidGlobalClusterStateFault, aerr.Error()) case rds.ErrCodeDomainNotFoundFault: fmt.Println(rds.ErrCodeDomainNotFoundFault, aerr.Error()) + case rds.ErrCodeOptionGroupNotFoundFault: + fmt.Println(rds.ErrCodeOptionGroupNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -665,6 +669,8 @@ func ExampleRDS_CreateDBCluster_shared01() { fmt.Println(rds.ErrCodeInvalidVPCNetworkStateFault, aerr.Error()) case rds.ErrCodeInvalidDBClusterStateFault: fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + case rds.ErrCodeInvalidDBSubnetGroupFault: + fmt.Println(rds.ErrCodeInvalidDBSubnetGroupFault, aerr.Error()) case rds.ErrCodeInvalidDBSubnetGroupStateFault: fmt.Println(rds.ErrCodeInvalidDBSubnetGroupStateFault, aerr.Error()) case rds.ErrCodeInvalidSubnet: @@ -687,6 +693,8 @@ func ExampleRDS_CreateDBCluster_shared01() { fmt.Println(rds.ErrCodeInvalidGlobalClusterStateFault, aerr.Error()) case rds.ErrCodeDomainNotFoundFault: fmt.Println(rds.ErrCodeDomainNotFoundFault, aerr.Error()) + case rds.ErrCodeOptionGroupNotFoundFault: + fmt.Println(rds.ErrCodeOptionGroupNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -2985,6 +2993,8 @@ func ExampleRDS_ModifyDBCluster_shared00() { fmt.Println(rds.ErrCodeDomainNotFoundFault, aerr.Error()) case rds.ErrCodeStorageTypeNotAvailableFault: fmt.Println(rds.ErrCodeStorageTypeNotAvailableFault, aerr.Error()) + case rds.ErrCodeOptionGroupNotFoundFault: + fmt.Println(rds.ErrCodeOptionGroupNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } diff --git a/service/redshift/api.go b/service/redshift/api.go index fa211308d21..be2a92c5e56 100644 --- a/service/redshift/api.go +++ b/service/redshift/api.go @@ -1273,6 +1273,9 @@ func (c *Redshift) CreateClusterRequest(input *CreateClusterInput) (req *request // - ErrCodeUnsupportedOperationFault "UnsupportedOperation" // The requested operation isn't supported. // +// - ErrCodeRedshiftIdcApplicationNotExistsFault "RedshiftIdcApplicationNotExists" +// The application you attempted to find doesn't exist. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateCluster func (c *Redshift) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { req, out := c.CreateClusterRequest(input) @@ -2248,6 +2251,98 @@ func (c *Redshift) CreateHsmConfigurationWithContext(ctx aws.Context, input *Cre return out, req.Send() } +const opCreateRedshiftIdcApplication = "CreateRedshiftIdcApplication" + +// CreateRedshiftIdcApplicationRequest generates a "aws/request.Request" representing the +// client's request for the CreateRedshiftIdcApplication operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateRedshiftIdcApplication for more information on using the CreateRedshiftIdcApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateRedshiftIdcApplicationRequest method. +// req, resp := client.CreateRedshiftIdcApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateRedshiftIdcApplication +func (c *Redshift) CreateRedshiftIdcApplicationRequest(input *CreateRedshiftIdcApplicationInput) (req *request.Request, output *CreateRedshiftIdcApplicationOutput) { + op := &request.Operation{ + Name: opCreateRedshiftIdcApplication, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateRedshiftIdcApplicationInput{} + } + + output = &CreateRedshiftIdcApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateRedshiftIdcApplication API operation for Amazon Redshift. +// +// Creates an Amazon Redshift application for use with IAM Identity Center. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation CreateRedshiftIdcApplication for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeRedshiftIdcApplicationAlreadyExistsFault "RedshiftIdcApplicationAlreadyExists" +// The application you attempted to add already exists. +// +// - ErrCodeDependentServiceUnavailableFault "DependentServiceUnavailableFault" +// Your request cannot be completed because a dependent internal service is +// temporarily unavailable. Wait 30 to 60 seconds and try again. +// +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// +// - ErrCodeDependentServiceAccessDeniedFault "DependentServiceAccessDenied" +// A dependent service denied access for the integration. +// +// - ErrCodeRedshiftIdcApplicationQuotaExceededFault "RedshiftIdcApplicationQuotaExceeded" +// The maximum number of Redshift IAM Identity Center applications was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateRedshiftIdcApplication +func (c *Redshift) CreateRedshiftIdcApplication(input *CreateRedshiftIdcApplicationInput) (*CreateRedshiftIdcApplicationOutput, error) { + req, out := c.CreateRedshiftIdcApplicationRequest(input) + return out, req.Send() +} + +// CreateRedshiftIdcApplicationWithContext is the same as CreateRedshiftIdcApplication with the addition of +// the ability to pass a context and additional request options. +// +// See CreateRedshiftIdcApplication for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Redshift) CreateRedshiftIdcApplicationWithContext(ctx aws.Context, input *CreateRedshiftIdcApplicationInput, opts ...request.Option) (*CreateRedshiftIdcApplicationOutput, error) { + req, out := c.CreateRedshiftIdcApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateScheduledAction = "CreateScheduledAction" // CreateScheduledActionRequest generates a "aws/request.Request" representing the @@ -3893,6 +3988,96 @@ func (c *Redshift) DeletePartnerWithContext(ctx aws.Context, input *DeletePartne return out, req.Send() } +const opDeleteRedshiftIdcApplication = "DeleteRedshiftIdcApplication" + +// DeleteRedshiftIdcApplicationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRedshiftIdcApplication operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteRedshiftIdcApplication for more information on using the DeleteRedshiftIdcApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteRedshiftIdcApplicationRequest method. +// req, resp := client.DeleteRedshiftIdcApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteRedshiftIdcApplication +func (c *Redshift) DeleteRedshiftIdcApplicationRequest(input *DeleteRedshiftIdcApplicationInput) (req *request.Request, output *DeleteRedshiftIdcApplicationOutput) { + op := &request.Operation{ + Name: opDeleteRedshiftIdcApplication, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteRedshiftIdcApplicationInput{} + } + + output = &DeleteRedshiftIdcApplicationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteRedshiftIdcApplication API operation for Amazon Redshift. +// +// Deletes an Amazon Redshift IAM Identity Center application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation DeleteRedshiftIdcApplication for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeRedshiftIdcApplicationNotExistsFault "RedshiftIdcApplicationNotExists" +// The application you attempted to find doesn't exist. +// +// - ErrCodeDependentServiceUnavailableFault "DependentServiceUnavailableFault" +// Your request cannot be completed because a dependent internal service is +// temporarily unavailable. Wait 30 to 60 seconds and try again. +// +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// +// - ErrCodeDependentServiceAccessDeniedFault "DependentServiceAccessDenied" +// A dependent service denied access for the integration. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteRedshiftIdcApplication +func (c *Redshift) DeleteRedshiftIdcApplication(input *DeleteRedshiftIdcApplicationInput) (*DeleteRedshiftIdcApplicationOutput, error) { + req, out := c.DeleteRedshiftIdcApplicationRequest(input) + return out, req.Send() +} + +// DeleteRedshiftIdcApplicationWithContext is the same as DeleteRedshiftIdcApplication with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteRedshiftIdcApplication for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Redshift) DeleteRedshiftIdcApplicationWithContext(ctx aws.Context, input *DeleteRedshiftIdcApplicationInput, opts ...request.Option) (*DeleteRedshiftIdcApplicationOutput, error) { + req, out := c.DeleteRedshiftIdcApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteResourcePolicy = "DeleteResourcePolicy" // DeleteResourcePolicyRequest generates a "aws/request.Request" representing the @@ -8112,6 +8297,152 @@ func (c *Redshift) DescribePartnersWithContext(ctx aws.Context, input *DescribeP return out, req.Send() } +const opDescribeRedshiftIdcApplications = "DescribeRedshiftIdcApplications" + +// DescribeRedshiftIdcApplicationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRedshiftIdcApplications operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeRedshiftIdcApplications for more information on using the DescribeRedshiftIdcApplications +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeRedshiftIdcApplicationsRequest method. +// req, resp := client.DescribeRedshiftIdcApplicationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeRedshiftIdcApplications +func (c *Redshift) DescribeRedshiftIdcApplicationsRequest(input *DescribeRedshiftIdcApplicationsInput) (req *request.Request, output *DescribeRedshiftIdcApplicationsOutput) { + op := &request.Operation{ + Name: opDescribeRedshiftIdcApplications, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeRedshiftIdcApplicationsInput{} + } + + output = &DescribeRedshiftIdcApplicationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeRedshiftIdcApplications API operation for Amazon Redshift. +// +// Lists the Amazon Redshift IAM Identity Center applications. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation DescribeRedshiftIdcApplications for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeRedshiftIdcApplicationNotExistsFault "RedshiftIdcApplicationNotExists" +// The application you attempted to find doesn't exist. +// +// - ErrCodeDependentServiceUnavailableFault "DependentServiceUnavailableFault" +// Your request cannot be completed because a dependent internal service is +// temporarily unavailable. Wait 30 to 60 seconds and try again. +// +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// +// - ErrCodeDependentServiceAccessDeniedFault "DependentServiceAccessDenied" +// A dependent service denied access for the integration. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeRedshiftIdcApplications +func (c *Redshift) DescribeRedshiftIdcApplications(input *DescribeRedshiftIdcApplicationsInput) (*DescribeRedshiftIdcApplicationsOutput, error) { + req, out := c.DescribeRedshiftIdcApplicationsRequest(input) + return out, req.Send() +} + +// DescribeRedshiftIdcApplicationsWithContext is the same as DescribeRedshiftIdcApplications with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeRedshiftIdcApplications for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Redshift) DescribeRedshiftIdcApplicationsWithContext(ctx aws.Context, input *DescribeRedshiftIdcApplicationsInput, opts ...request.Option) (*DescribeRedshiftIdcApplicationsOutput, error) { + req, out := c.DescribeRedshiftIdcApplicationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeRedshiftIdcApplicationsPages iterates over the pages of a DescribeRedshiftIdcApplications operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeRedshiftIdcApplications 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 DescribeRedshiftIdcApplications operation. +// pageNum := 0 +// err := client.DescribeRedshiftIdcApplicationsPages(params, +// func(page *redshift.DescribeRedshiftIdcApplicationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Redshift) DescribeRedshiftIdcApplicationsPages(input *DescribeRedshiftIdcApplicationsInput, fn func(*DescribeRedshiftIdcApplicationsOutput, bool) bool) error { + return c.DescribeRedshiftIdcApplicationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeRedshiftIdcApplicationsPagesWithContext same as DescribeRedshiftIdcApplicationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Redshift) DescribeRedshiftIdcApplicationsPagesWithContext(ctx aws.Context, input *DescribeRedshiftIdcApplicationsInput, fn func(*DescribeRedshiftIdcApplicationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeRedshiftIdcApplicationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeRedshiftIdcApplicationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeRedshiftIdcApplicationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeReservedNodeExchangeStatus = "DescribeReservedNodeExchangeStatus" // DescribeReservedNodeExchangeStatusRequest generates a "aws/request.Request" representing the @@ -12007,6 +12338,95 @@ func (c *Redshift) ModifyEventSubscriptionWithContext(ctx aws.Context, input *Mo return out, req.Send() } +const opModifyRedshiftIdcApplication = "ModifyRedshiftIdcApplication" + +// ModifyRedshiftIdcApplicationRequest generates a "aws/request.Request" representing the +// client's request for the ModifyRedshiftIdcApplication operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ModifyRedshiftIdcApplication for more information on using the ModifyRedshiftIdcApplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ModifyRedshiftIdcApplicationRequest method. +// req, resp := client.ModifyRedshiftIdcApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyRedshiftIdcApplication +func (c *Redshift) ModifyRedshiftIdcApplicationRequest(input *ModifyRedshiftIdcApplicationInput) (req *request.Request, output *ModifyRedshiftIdcApplicationOutput) { + op := &request.Operation{ + Name: opModifyRedshiftIdcApplication, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyRedshiftIdcApplicationInput{} + } + + output = &ModifyRedshiftIdcApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyRedshiftIdcApplication API operation for Amazon Redshift. +// +// Changes an existing Amazon Redshift IAM Identity Center application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation ModifyRedshiftIdcApplication for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeRedshiftIdcApplicationNotExistsFault "RedshiftIdcApplicationNotExists" +// The application you attempted to find doesn't exist. +// +// - ErrCodeDependentServiceUnavailableFault "DependentServiceUnavailableFault" +// Your request cannot be completed because a dependent internal service is +// temporarily unavailable. Wait 30 to 60 seconds and try again. +// +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// +// - ErrCodeDependentServiceAccessDeniedFault "DependentServiceAccessDenied" +// A dependent service denied access for the integration. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyRedshiftIdcApplication +func (c *Redshift) ModifyRedshiftIdcApplication(input *ModifyRedshiftIdcApplicationInput) (*ModifyRedshiftIdcApplicationOutput, error) { + req, out := c.ModifyRedshiftIdcApplicationRequest(input) + return out, req.Send() +} + +// ModifyRedshiftIdcApplicationWithContext is the same as ModifyRedshiftIdcApplication with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyRedshiftIdcApplication for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Redshift) ModifyRedshiftIdcApplicationWithContext(ctx aws.Context, input *ModifyRedshiftIdcApplicationInput, opts ...request.Option) (*ModifyRedshiftIdcApplicationOutput, error) { + req, out := c.ModifyRedshiftIdcApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifyScheduledAction = "ModifyScheduledAction" // ModifyScheduledActionRequest generates a "aws/request.Request" representing the @@ -15052,6 +15472,49 @@ func (s *AuthorizeSnapshotAccessOutput) SetSnapshot(v *Snapshot) *AuthorizeSnaps return s } +// The authorized token issuer for the Amazon Redshift IAM Identity Center application. +type AuthorizedTokenIssuer struct { + _ struct{} `type:"structure"` + + // The list of audiences for the authorized token issuer for integrating Amazon + // Redshift with IDC Identity Center. + AuthorizedAudiencesList []*string `type:"list"` + + // The ARN for the authorized token issuer for integrating Amazon Redshift with + // IDC Identity Center. + TrustedTokenIssuerArn *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AuthorizedTokenIssuer) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AuthorizedTokenIssuer) GoString() string { + return s.String() +} + +// SetAuthorizedAudiencesList sets the AuthorizedAudiencesList field's value. +func (s *AuthorizedTokenIssuer) SetAuthorizedAudiencesList(v []*string) *AuthorizedTokenIssuer { + s.AuthorizedAudiencesList = v + return s +} + +// SetTrustedTokenIssuerArn sets the TrustedTokenIssuerArn field's value. +func (s *AuthorizedTokenIssuer) SetTrustedTokenIssuerArn(v string) *AuthorizedTokenIssuer { + s.TrustedTokenIssuerArn = &v + return s +} + // Describes an availability zone. type AvailabilityZone struct { _ struct{} `type:"structure"` @@ -17564,6 +18027,10 @@ type CreateClusterInput struct { // If true, the cluster can be accessed from a public network. PubliclyAccessible *bool `type:"boolean"` + // The Amazon resource name (ARN) of the Amazon Redshift IAM Identity Center + // application. + RedshiftIdcApplicationArn *string `type:"string"` + // A unique identifier for the snapshot schedule. SnapshotScheduleIdentifier *string `type:"string"` @@ -17824,6 +18291,12 @@ func (s *CreateClusterInput) SetPubliclyAccessible(v bool) *CreateClusterInput { return s } +// SetRedshiftIdcApplicationArn sets the RedshiftIdcApplicationArn field's value. +func (s *CreateClusterInput) SetRedshiftIdcApplicationArn(v string) *CreateClusterInput { + s.RedshiftIdcApplicationArn = &v + return s +} + // SetSnapshotScheduleIdentifier sets the SnapshotScheduleIdentifier field's value. func (s *CreateClusterInput) SetSnapshotScheduleIdentifier(v string) *CreateClusterInput { s.SnapshotScheduleIdentifier = &v @@ -19148,6 +19621,178 @@ func (s *CreateHsmConfigurationOutput) SetHsmConfiguration(v *HsmConfiguration) return s } +type CreateRedshiftIdcApplicationInput struct { + _ struct{} `type:"structure"` + + // The token issuer list for the Amazon Redshift IAM Identity Center application + // instance. + AuthorizedTokenIssuerList []*AuthorizedTokenIssuer `type:"list"` + + // The IAM role ARN for the Amazon Redshift IAM Identity Center application + // instance. It has the required permissions to be assumed and invoke the IDC + // Identity Center API. + // + // IamRoleArn is a required field + IamRoleArn *string `type:"string" required:"true"` + + // The display name for the Amazon Redshift IAM Identity Center application + // instance. It appears in the console. + // + // IdcDisplayName is a required field + IdcDisplayName *string `min:"1" type:"string" required:"true"` + + // The Amazon resource name (ARN) of the IAM Identity Center instance where + // Amazon Redshift creates a new managed application. + // + // IdcInstanceArn is a required field + IdcInstanceArn *string `type:"string" required:"true"` + + // The namespace for the Amazon Redshift IAM Identity Center application instance. + // It determines which managed application verifies the connection token. + IdentityNamespace *string `min:"1" type:"string"` + + // The name of the Redshift application in IAM Identity Center. + // + // RedshiftIdcApplicationName is a required field + RedshiftIdcApplicationName *string `min:"1" type:"string" required:"true"` + + // A collection of service integrations for the Redshift IAM Identity Center + // application. + ServiceIntegrations []*ServiceIntegrationsUnion `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRedshiftIdcApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRedshiftIdcApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateRedshiftIdcApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRedshiftIdcApplicationInput"} + if s.IamRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("IamRoleArn")) + } + if s.IdcDisplayName == nil { + invalidParams.Add(request.NewErrParamRequired("IdcDisplayName")) + } + if s.IdcDisplayName != nil && len(*s.IdcDisplayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IdcDisplayName", 1)) + } + if s.IdcInstanceArn == nil { + invalidParams.Add(request.NewErrParamRequired("IdcInstanceArn")) + } + if s.IdentityNamespace != nil && len(*s.IdentityNamespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IdentityNamespace", 1)) + } + if s.RedshiftIdcApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("RedshiftIdcApplicationName")) + } + if s.RedshiftIdcApplicationName != nil && len(*s.RedshiftIdcApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RedshiftIdcApplicationName", 1)) + } + if s.ServiceIntegrations != nil { + for i, v := range s.ServiceIntegrations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServiceIntegrations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthorizedTokenIssuerList sets the AuthorizedTokenIssuerList field's value. +func (s *CreateRedshiftIdcApplicationInput) SetAuthorizedTokenIssuerList(v []*AuthorizedTokenIssuer) *CreateRedshiftIdcApplicationInput { + s.AuthorizedTokenIssuerList = v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *CreateRedshiftIdcApplicationInput) SetIamRoleArn(v string) *CreateRedshiftIdcApplicationInput { + s.IamRoleArn = &v + return s +} + +// SetIdcDisplayName sets the IdcDisplayName field's value. +func (s *CreateRedshiftIdcApplicationInput) SetIdcDisplayName(v string) *CreateRedshiftIdcApplicationInput { + s.IdcDisplayName = &v + return s +} + +// SetIdcInstanceArn sets the IdcInstanceArn field's value. +func (s *CreateRedshiftIdcApplicationInput) SetIdcInstanceArn(v string) *CreateRedshiftIdcApplicationInput { + s.IdcInstanceArn = &v + return s +} + +// SetIdentityNamespace sets the IdentityNamespace field's value. +func (s *CreateRedshiftIdcApplicationInput) SetIdentityNamespace(v string) *CreateRedshiftIdcApplicationInput { + s.IdentityNamespace = &v + return s +} + +// SetRedshiftIdcApplicationName sets the RedshiftIdcApplicationName field's value. +func (s *CreateRedshiftIdcApplicationInput) SetRedshiftIdcApplicationName(v string) *CreateRedshiftIdcApplicationInput { + s.RedshiftIdcApplicationName = &v + return s +} + +// SetServiceIntegrations sets the ServiceIntegrations field's value. +func (s *CreateRedshiftIdcApplicationInput) SetServiceIntegrations(v []*ServiceIntegrationsUnion) *CreateRedshiftIdcApplicationInput { + s.ServiceIntegrations = v + return s +} + +type CreateRedshiftIdcApplicationOutput struct { + _ struct{} `type:"structure"` + + // Contains properties for the Redshift IDC application. + RedshiftIdcApplication *RedshiftIdcApplication `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRedshiftIdcApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRedshiftIdcApplicationOutput) GoString() string { + return s.String() +} + +// SetRedshiftIdcApplication sets the RedshiftIdcApplication field's value. +func (s *CreateRedshiftIdcApplicationOutput) SetRedshiftIdcApplication(v *RedshiftIdcApplication) *CreateRedshiftIdcApplicationOutput { + s.RedshiftIdcApplication = v + return s +} + type CreateScheduledActionInput struct { _ struct{} `type:"structure"` @@ -21620,6 +22265,74 @@ func (s *DeletePartnerOutput) SetPartnerName(v string) *DeletePartnerOutput { return s } +type DeleteRedshiftIdcApplicationInput struct { + _ struct{} `type:"structure"` + + // The ARN for a deleted Amazon Redshift IAM Identity Center application. + // + // RedshiftIdcApplicationArn is a required field + RedshiftIdcApplicationArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRedshiftIdcApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRedshiftIdcApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteRedshiftIdcApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRedshiftIdcApplicationInput"} + if s.RedshiftIdcApplicationArn == nil { + invalidParams.Add(request.NewErrParamRequired("RedshiftIdcApplicationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRedshiftIdcApplicationArn sets the RedshiftIdcApplicationArn field's value. +func (s *DeleteRedshiftIdcApplicationInput) SetRedshiftIdcApplicationArn(v string) *DeleteRedshiftIdcApplicationInput { + s.RedshiftIdcApplicationArn = &v + return s +} + +type DeleteRedshiftIdcApplicationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRedshiftIdcApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRedshiftIdcApplicationOutput) GoString() string { + return s.String() +} + type DeleteResourcePolicyInput struct { _ struct{} `type:"structure"` @@ -25458,6 +26171,106 @@ func (s *DescribePartnersOutput) SetPartnerIntegrationInfoList(v []*PartnerInteg return s } +type DescribeRedshiftIdcApplicationsInput struct { + _ struct{} `type:"structure"` + + // A value that indicates the starting point for the next set of response records + // in a subsequent request. If a value is returned in a response, you can retrieve + // the next set of records by providing this returned marker value in the Marker + // parameter and retrying the command. If the Marker field is empty, all response + // records have been retrieved for the request. + Marker *string `type:"string"` + + // The maximum number of response records to return in each call. If the number + // of remaining response records exceeds the specified MaxRecords value, a value + // is returned in a marker field of the response. You can retrieve the next + // set of records by retrying the command with the returned marker value. + MaxRecords *int64 `type:"integer"` + + // The ARN for the Redshift application that integrates with IAM Identity Center. + RedshiftIdcApplicationArn *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeRedshiftIdcApplicationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeRedshiftIdcApplicationsInput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *DescribeRedshiftIdcApplicationsInput) SetMarker(v string) *DescribeRedshiftIdcApplicationsInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeRedshiftIdcApplicationsInput) SetMaxRecords(v int64) *DescribeRedshiftIdcApplicationsInput { + s.MaxRecords = &v + return s +} + +// SetRedshiftIdcApplicationArn sets the RedshiftIdcApplicationArn field's value. +func (s *DescribeRedshiftIdcApplicationsInput) SetRedshiftIdcApplicationArn(v string) *DescribeRedshiftIdcApplicationsInput { + s.RedshiftIdcApplicationArn = &v + return s +} + +type DescribeRedshiftIdcApplicationsOutput struct { + _ struct{} `type:"structure"` + + // A value that indicates the starting point for the next set of response records + // in a subsequent request. If a value is returned in a response, you can retrieve + // the next set of records by providing this returned marker value in the Marker + // parameter and retrying the command. If the Marker field is empty, all response + // records have been retrieved for the request. + Marker *string `type:"string"` + + // The list of Amazon Redshift IAM Identity Center applications. + RedshiftIdcApplications []*RedshiftIdcApplication `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeRedshiftIdcApplicationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeRedshiftIdcApplicationsOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *DescribeRedshiftIdcApplicationsOutput) SetMarker(v string) *DescribeRedshiftIdcApplicationsOutput { + s.Marker = &v + return s +} + +// SetRedshiftIdcApplications sets the RedshiftIdcApplications field's value. +func (s *DescribeRedshiftIdcApplicationsOutput) SetRedshiftIdcApplications(v []*RedshiftIdcApplication) *DescribeRedshiftIdcApplicationsOutput { + s.RedshiftIdcApplications = v + return s +} + type DescribeReservedNodeExchangeStatusInput struct { _ struct{} `type:"structure"` @@ -29266,6 +30079,100 @@ func (s *IntegrationError) SetErrorMessage(v string) *IntegrationError { return s } +// The Lake Formation scope. +type LakeFormationQuery struct { + _ struct{} `type:"structure"` + + // Determines whether the query scope is enabled or disabled. + // + // Authorization is a required field + Authorization *string `type:"string" required:"true" enum:"ServiceAuthorization"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LakeFormationQuery) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LakeFormationQuery) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LakeFormationQuery) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LakeFormationQuery"} + if s.Authorization == nil { + invalidParams.Add(request.NewErrParamRequired("Authorization")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthorization sets the Authorization field's value. +func (s *LakeFormationQuery) SetAuthorization(v string) *LakeFormationQuery { + s.Authorization = &v + return s +} + +// A list of scopes set up for Lake Formation integration. +type LakeFormationScopeUnion struct { + _ struct{} `type:"structure"` + + // The Lake Formation scope. + LakeFormationQuery *LakeFormationQuery `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LakeFormationScopeUnion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LakeFormationScopeUnion) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LakeFormationScopeUnion) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LakeFormationScopeUnion"} + if s.LakeFormationQuery != nil { + if err := s.LakeFormationQuery.Validate(); err != nil { + invalidParams.AddNested("LakeFormationQuery", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLakeFormationQuery sets the LakeFormationQuery field's value. +func (s *LakeFormationScopeUnion) SetLakeFormationQuery(v *LakeFormationQuery) *LakeFormationScopeUnion { + s.LakeFormationQuery = v + return s +} + // Describes the status of logging for a cluster. type LoggingStatus struct { _ struct{} `type:"structure"` @@ -31254,6 +32161,149 @@ func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscriptio return s } +type ModifyRedshiftIdcApplicationInput struct { + _ struct{} `type:"structure"` + + // The authorized token issuer list for the Amazon Redshift IAM Identity Center + // application to change. + AuthorizedTokenIssuerList []*AuthorizedTokenIssuer `type:"list"` + + // The IAM role ARN associated with the Amazon Redshift IAM Identity Center + // application to change. It has the required permissions to be assumed and + // invoke the IDC Identity Center API. + IamRoleArn *string `type:"string"` + + // The display name for the Amazon Redshift IAM Identity Center application + // to change. It appears on the console. + IdcDisplayName *string `min:"1" type:"string"` + + // The namespace for the Amazon Redshift IAM Identity Center application to + // change. It determines which managed application verifies the connection token. + IdentityNamespace *string `min:"1" type:"string"` + + // The ARN for the Redshift application that integrates with IAM Identity Center. + // + // RedshiftIdcApplicationArn is a required field + RedshiftIdcApplicationArn *string `type:"string" required:"true"` + + // A collection of service integrations associated with the application. + ServiceIntegrations []*ServiceIntegrationsUnion `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ModifyRedshiftIdcApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ModifyRedshiftIdcApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyRedshiftIdcApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyRedshiftIdcApplicationInput"} + if s.IdcDisplayName != nil && len(*s.IdcDisplayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IdcDisplayName", 1)) + } + if s.IdentityNamespace != nil && len(*s.IdentityNamespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IdentityNamespace", 1)) + } + if s.RedshiftIdcApplicationArn == nil { + invalidParams.Add(request.NewErrParamRequired("RedshiftIdcApplicationArn")) + } + if s.ServiceIntegrations != nil { + for i, v := range s.ServiceIntegrations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServiceIntegrations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthorizedTokenIssuerList sets the AuthorizedTokenIssuerList field's value. +func (s *ModifyRedshiftIdcApplicationInput) SetAuthorizedTokenIssuerList(v []*AuthorizedTokenIssuer) *ModifyRedshiftIdcApplicationInput { + s.AuthorizedTokenIssuerList = v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *ModifyRedshiftIdcApplicationInput) SetIamRoleArn(v string) *ModifyRedshiftIdcApplicationInput { + s.IamRoleArn = &v + return s +} + +// SetIdcDisplayName sets the IdcDisplayName field's value. +func (s *ModifyRedshiftIdcApplicationInput) SetIdcDisplayName(v string) *ModifyRedshiftIdcApplicationInput { + s.IdcDisplayName = &v + return s +} + +// SetIdentityNamespace sets the IdentityNamespace field's value. +func (s *ModifyRedshiftIdcApplicationInput) SetIdentityNamespace(v string) *ModifyRedshiftIdcApplicationInput { + s.IdentityNamespace = &v + return s +} + +// SetRedshiftIdcApplicationArn sets the RedshiftIdcApplicationArn field's value. +func (s *ModifyRedshiftIdcApplicationInput) SetRedshiftIdcApplicationArn(v string) *ModifyRedshiftIdcApplicationInput { + s.RedshiftIdcApplicationArn = &v + return s +} + +// SetServiceIntegrations sets the ServiceIntegrations field's value. +func (s *ModifyRedshiftIdcApplicationInput) SetServiceIntegrations(v []*ServiceIntegrationsUnion) *ModifyRedshiftIdcApplicationInput { + s.ServiceIntegrations = v + return s +} + +type ModifyRedshiftIdcApplicationOutput struct { + _ struct{} `type:"structure"` + + // Contains properties for the Redshift IDC application. + RedshiftIdcApplication *RedshiftIdcApplication `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ModifyRedshiftIdcApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ModifyRedshiftIdcApplicationOutput) GoString() string { + return s.String() +} + +// SetRedshiftIdcApplication sets the RedshiftIdcApplication field's value. +func (s *ModifyRedshiftIdcApplicationOutput) SetRedshiftIdcApplication(v *RedshiftIdcApplication) *ModifyRedshiftIdcApplicationOutput { + s.RedshiftIdcApplication = v + return s +} + type ModifyScheduledActionInput struct { _ struct{} `type:"structure"` @@ -32937,6 +33987,123 @@ func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge return s } +// Contains properties for the Redshift IDC application. +type RedshiftIdcApplication struct { + _ struct{} `type:"structure"` + + // The authorized token issuer list for the Amazon Redshift IAM Identity Center + // application. + AuthorizedTokenIssuerList []*AuthorizedTokenIssuer `type:"list"` + + // The ARN for the Amazon Redshift IAM Identity Center application. It has the + // required permissions to be assumed and invoke the IDC Identity Center API. + IamRoleArn *string `type:"string"` + + // The display name for the Amazon Redshift IAM Identity Center application. + // It appears on the console. + IdcDisplayName *string `min:"1" type:"string"` + + // The ARN for the IAM Identity Center instance that Redshift integrates with. + IdcInstanceArn *string `type:"string"` + + // The ARN for the Amazon Redshift IAM Identity Center application. + IdcManagedApplicationArn *string `type:"string"` + + // The onboarding status for the Amazon Redshift IAM Identity Center application. + IdcOnboardStatus *string `type:"string"` + + // The identity namespace for the Amazon Redshift IAM Identity Center application. + // It determines which managed application verifies the connection token. + IdentityNamespace *string `min:"1" type:"string"` + + // The ARN for the Redshift application that integrates with IAM Identity Center. + RedshiftIdcApplicationArn *string `type:"string"` + + // The name of the Redshift application in IAM Identity Center. + RedshiftIdcApplicationName *string `min:"1" type:"string"` + + // A list of service integrations for the Redshift IAM Identity Center application. + ServiceIntegrations []*ServiceIntegrationsUnion `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RedshiftIdcApplication) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RedshiftIdcApplication) GoString() string { + return s.String() +} + +// SetAuthorizedTokenIssuerList sets the AuthorizedTokenIssuerList field's value. +func (s *RedshiftIdcApplication) SetAuthorizedTokenIssuerList(v []*AuthorizedTokenIssuer) *RedshiftIdcApplication { + s.AuthorizedTokenIssuerList = v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *RedshiftIdcApplication) SetIamRoleArn(v string) *RedshiftIdcApplication { + s.IamRoleArn = &v + return s +} + +// SetIdcDisplayName sets the IdcDisplayName field's value. +func (s *RedshiftIdcApplication) SetIdcDisplayName(v string) *RedshiftIdcApplication { + s.IdcDisplayName = &v + return s +} + +// SetIdcInstanceArn sets the IdcInstanceArn field's value. +func (s *RedshiftIdcApplication) SetIdcInstanceArn(v string) *RedshiftIdcApplication { + s.IdcInstanceArn = &v + return s +} + +// SetIdcManagedApplicationArn sets the IdcManagedApplicationArn field's value. +func (s *RedshiftIdcApplication) SetIdcManagedApplicationArn(v string) *RedshiftIdcApplication { + s.IdcManagedApplicationArn = &v + return s +} + +// SetIdcOnboardStatus sets the IdcOnboardStatus field's value. +func (s *RedshiftIdcApplication) SetIdcOnboardStatus(v string) *RedshiftIdcApplication { + s.IdcOnboardStatus = &v + return s +} + +// SetIdentityNamespace sets the IdentityNamespace field's value. +func (s *RedshiftIdcApplication) SetIdentityNamespace(v string) *RedshiftIdcApplication { + s.IdentityNamespace = &v + return s +} + +// SetRedshiftIdcApplicationArn sets the RedshiftIdcApplicationArn field's value. +func (s *RedshiftIdcApplication) SetRedshiftIdcApplicationArn(v string) *RedshiftIdcApplication { + s.RedshiftIdcApplicationArn = &v + return s +} + +// SetRedshiftIdcApplicationName sets the RedshiftIdcApplicationName field's value. +func (s *RedshiftIdcApplication) SetRedshiftIdcApplicationName(v string) *RedshiftIdcApplication { + s.RedshiftIdcApplicationName = &v + return s +} + +// SetServiceIntegrations sets the ServiceIntegrations field's value. +func (s *RedshiftIdcApplication) SetServiceIntegrations(v []*ServiceIntegrationsUnion) *RedshiftIdcApplication { + s.ServiceIntegrations = v + return s +} + type RejectDataShareInput struct { _ struct{} `type:"structure"` @@ -35620,6 +36787,58 @@ func (s *SecondaryClusterInfo) SetClusterNodes(v []*ClusterNode) *SecondaryClust return s } +// A list of service integrations. +type ServiceIntegrationsUnion struct { + _ struct{} `type:"structure"` + + // A list of scopes set up for Lake Formation integration. + LakeFormation []*LakeFormationScopeUnion `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceIntegrationsUnion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceIntegrationsUnion) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ServiceIntegrationsUnion) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ServiceIntegrationsUnion"} + if s.LakeFormation != nil { + for i, v := range s.LakeFormation { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LakeFormation", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLakeFormation sets the LakeFormation field's value. +func (s *ServiceIntegrationsUnion) SetLakeFormation(v []*LakeFormationScopeUnion) *ServiceIntegrationsUnion { + s.LakeFormation = v + return s +} + // Describes a snapshot. type Snapshot struct { _ struct{} `type:"structure"` @@ -37467,6 +38686,22 @@ func ScheduledActionTypeValues_Values() []string { } } +const ( + // ServiceAuthorizationEnabled is a ServiceAuthorization enum value + ServiceAuthorizationEnabled = "Enabled" + + // ServiceAuthorizationDisabled is a ServiceAuthorization enum value + ServiceAuthorizationDisabled = "Disabled" +) + +// ServiceAuthorization_Values returns all elements of the ServiceAuthorization enum +func ServiceAuthorization_Values() []string { + return []string{ + ServiceAuthorizationEnabled, + ServiceAuthorizationDisabled, + } +} + const ( // SnapshotAttributeToSortBySourceType is a SnapshotAttributeToSortBy enum value SnapshotAttributeToSortBySourceType = "SOURCE_TYPE" diff --git a/service/redshift/errors.go b/service/redshift/errors.go index 470b464c0f3..93d7b98f814 100644 --- a/service/redshift/errors.go +++ b/service/redshift/errors.go @@ -222,6 +222,12 @@ const ( // An error occurred. The custom domain name couldn't be found. ErrCodeCustomDomainAssociationNotFoundFault = "CustomDomainAssociationNotFoundFault" + // ErrCodeDependentServiceAccessDeniedFault for service response error code + // "DependentServiceAccessDenied". + // + // A dependent service denied access for the integration. + ErrCodeDependentServiceAccessDeniedFault = "DependentServiceAccessDenied" + // ErrCodeDependentServiceRequestThrottlingFault for service response error code // "DependentServiceRequestThrottlingFault". // @@ -600,6 +606,24 @@ const ( // The name of the partner was not found. ErrCodePartnerNotFoundFault = "PartnerNotFound" + // ErrCodeRedshiftIdcApplicationAlreadyExistsFault for service response error code + // "RedshiftIdcApplicationAlreadyExists". + // + // The application you attempted to add already exists. + ErrCodeRedshiftIdcApplicationAlreadyExistsFault = "RedshiftIdcApplicationAlreadyExists" + + // ErrCodeRedshiftIdcApplicationNotExistsFault for service response error code + // "RedshiftIdcApplicationNotExists". + // + // The application you attempted to find doesn't exist. + ErrCodeRedshiftIdcApplicationNotExistsFault = "RedshiftIdcApplicationNotExists" + + // ErrCodeRedshiftIdcApplicationQuotaExceededFault for service response error code + // "RedshiftIdcApplicationQuotaExceeded". + // + // The maximum number of Redshift IAM Identity Center applications was exceeded. + ErrCodeRedshiftIdcApplicationQuotaExceededFault = "RedshiftIdcApplicationQuotaExceeded" + // ErrCodeReservedNodeAlreadyExistsFault for service response error code // "ReservedNodeAlreadyExists". // diff --git a/service/redshift/redshiftiface/interface.go b/service/redshift/redshiftiface/interface.go index e887b180ea8..a445f3a6ce1 100644 --- a/service/redshift/redshiftiface/interface.go +++ b/service/redshift/redshiftiface/interface.go @@ -148,6 +148,10 @@ type RedshiftAPI interface { CreateHsmConfigurationWithContext(aws.Context, *redshift.CreateHsmConfigurationInput, ...request.Option) (*redshift.CreateHsmConfigurationOutput, error) CreateHsmConfigurationRequest(*redshift.CreateHsmConfigurationInput) (*request.Request, *redshift.CreateHsmConfigurationOutput) + CreateRedshiftIdcApplication(*redshift.CreateRedshiftIdcApplicationInput) (*redshift.CreateRedshiftIdcApplicationOutput, error) + CreateRedshiftIdcApplicationWithContext(aws.Context, *redshift.CreateRedshiftIdcApplicationInput, ...request.Option) (*redshift.CreateRedshiftIdcApplicationOutput, error) + CreateRedshiftIdcApplicationRequest(*redshift.CreateRedshiftIdcApplicationInput) (*request.Request, *redshift.CreateRedshiftIdcApplicationOutput) + CreateScheduledAction(*redshift.CreateScheduledActionInput) (*redshift.CreateScheduledActionOutput, error) CreateScheduledActionWithContext(aws.Context, *redshift.CreateScheduledActionInput, ...request.Option) (*redshift.CreateScheduledActionOutput, error) CreateScheduledActionRequest(*redshift.CreateScheduledActionInput) (*request.Request, *redshift.CreateScheduledActionOutput) @@ -220,6 +224,10 @@ type RedshiftAPI interface { DeletePartnerWithContext(aws.Context, *redshift.DeletePartnerInput, ...request.Option) (*redshift.DeletePartnerOutput, error) DeletePartnerRequest(*redshift.DeletePartnerInput) (*request.Request, *redshift.DeletePartnerOutput) + DeleteRedshiftIdcApplication(*redshift.DeleteRedshiftIdcApplicationInput) (*redshift.DeleteRedshiftIdcApplicationOutput, error) + DeleteRedshiftIdcApplicationWithContext(aws.Context, *redshift.DeleteRedshiftIdcApplicationInput, ...request.Option) (*redshift.DeleteRedshiftIdcApplicationOutput, error) + DeleteRedshiftIdcApplicationRequest(*redshift.DeleteRedshiftIdcApplicationInput) (*request.Request, *redshift.DeleteRedshiftIdcApplicationOutput) + DeleteResourcePolicy(*redshift.DeleteResourcePolicyInput) (*redshift.DeleteResourcePolicyOutput, error) DeleteResourcePolicyWithContext(aws.Context, *redshift.DeleteResourcePolicyInput, ...request.Option) (*redshift.DeleteResourcePolicyOutput, error) DeleteResourcePolicyRequest(*redshift.DeleteResourcePolicyInput) (*request.Request, *redshift.DeleteResourcePolicyOutput) @@ -425,6 +433,13 @@ type RedshiftAPI interface { DescribePartnersWithContext(aws.Context, *redshift.DescribePartnersInput, ...request.Option) (*redshift.DescribePartnersOutput, error) DescribePartnersRequest(*redshift.DescribePartnersInput) (*request.Request, *redshift.DescribePartnersOutput) + DescribeRedshiftIdcApplications(*redshift.DescribeRedshiftIdcApplicationsInput) (*redshift.DescribeRedshiftIdcApplicationsOutput, error) + DescribeRedshiftIdcApplicationsWithContext(aws.Context, *redshift.DescribeRedshiftIdcApplicationsInput, ...request.Option) (*redshift.DescribeRedshiftIdcApplicationsOutput, error) + DescribeRedshiftIdcApplicationsRequest(*redshift.DescribeRedshiftIdcApplicationsInput) (*request.Request, *redshift.DescribeRedshiftIdcApplicationsOutput) + + DescribeRedshiftIdcApplicationsPages(*redshift.DescribeRedshiftIdcApplicationsInput, func(*redshift.DescribeRedshiftIdcApplicationsOutput, bool) bool) error + DescribeRedshiftIdcApplicationsPagesWithContext(aws.Context, *redshift.DescribeRedshiftIdcApplicationsInput, func(*redshift.DescribeRedshiftIdcApplicationsOutput, bool) bool, ...request.Option) error + DescribeReservedNodeExchangeStatus(*redshift.DescribeReservedNodeExchangeStatusInput) (*redshift.DescribeReservedNodeExchangeStatusOutput, error) DescribeReservedNodeExchangeStatusWithContext(aws.Context, *redshift.DescribeReservedNodeExchangeStatusInput, ...request.Option) (*redshift.DescribeReservedNodeExchangeStatusOutput, error) DescribeReservedNodeExchangeStatusRequest(*redshift.DescribeReservedNodeExchangeStatusInput) (*request.Request, *redshift.DescribeReservedNodeExchangeStatusOutput) @@ -598,6 +613,10 @@ type RedshiftAPI interface { ModifyEventSubscriptionWithContext(aws.Context, *redshift.ModifyEventSubscriptionInput, ...request.Option) (*redshift.ModifyEventSubscriptionOutput, error) ModifyEventSubscriptionRequest(*redshift.ModifyEventSubscriptionInput) (*request.Request, *redshift.ModifyEventSubscriptionOutput) + ModifyRedshiftIdcApplication(*redshift.ModifyRedshiftIdcApplicationInput) (*redshift.ModifyRedshiftIdcApplicationOutput, error) + ModifyRedshiftIdcApplicationWithContext(aws.Context, *redshift.ModifyRedshiftIdcApplicationInput, ...request.Option) (*redshift.ModifyRedshiftIdcApplicationOutput, error) + ModifyRedshiftIdcApplicationRequest(*redshift.ModifyRedshiftIdcApplicationInput) (*request.Request, *redshift.ModifyRedshiftIdcApplicationOutput) + ModifyScheduledAction(*redshift.ModifyScheduledActionInput) (*redshift.ModifyScheduledActionOutput, error) ModifyScheduledActionWithContext(aws.Context, *redshift.ModifyScheduledActionInput, ...request.Option) (*redshift.ModifyScheduledActionOutput, error) ModifyScheduledActionRequest(*redshift.ModifyScheduledActionInput) (*request.Request, *redshift.ModifyScheduledActionOutput) diff --git a/service/redshiftserverless/api.go b/service/redshiftserverless/api.go index 19405e3013d..05288b71466 100644 --- a/service/redshiftserverless/api.go +++ b/service/redshiftserverless/api.go @@ -5194,6 +5194,9 @@ type CreateNamespaceInput struct { // NamespaceName is a required field NamespaceName *string `locationName:"namespaceName" min:"3" type:"string" required:"true"` + // The ARN for the Redshift application that integrates with IAM Identity Center. + RedshiftIdcApplicationArn *string `locationName:"redshiftIdcApplicationArn" min:"1" type:"string"` + // A list of tag instances. Tags []*Tag `locationName:"tags" type:"list"` } @@ -5225,6 +5228,9 @@ func (s *CreateNamespaceInput) Validate() error { if s.NamespaceName != nil && len(*s.NamespaceName) < 3 { invalidParams.Add(request.NewErrParamMinLen("NamespaceName", 3)) } + if s.RedshiftIdcApplicationArn != nil && len(*s.RedshiftIdcApplicationArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RedshiftIdcApplicationArn", 1)) + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -5302,6 +5308,12 @@ func (s *CreateNamespaceInput) SetNamespaceName(v string) *CreateNamespaceInput return s } +// SetRedshiftIdcApplicationArn sets the RedshiftIdcApplicationArn field's value. +func (s *CreateNamespaceInput) SetRedshiftIdcApplicationArn(v string) *CreateNamespaceInput { + s.RedshiftIdcApplicationArn = &v + return s +} + // SetTags sets the Tags field's value. func (s *CreateNamespaceInput) SetTags(v []*Tag) *CreateNamespaceInput { s.Tags = v diff --git a/service/s3/api.go b/service/s3/api.go index cf17e8299b1..ed5da158742 100644 --- a/service/s3/api.go +++ b/service/s3/api.go @@ -10246,7 +10246,7 @@ func (c *S3) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req // or an object, it checks the PublicAccessBlock configuration for both the // bucket (or the bucket that contains the object) and the bucket owner's account. // If the PublicAccessBlock configurations are different between the bucket -// and the account, S3 uses the most restrictive combination of the bucket-level +// and the account, Amazon S3 uses the most restrictive combination of the bucket-level // and account-level settings. // // For more information about when Amazon S3 considers a bucket or an object diff --git a/service/s3/examples_test.go b/service/s3/examples_test.go index cf293cccece..1552ad38a69 100644 --- a/service/s3/examples_test.go +++ b/service/s3/examples_test.go @@ -125,12 +125,16 @@ func ExampleS3_CopyObject_shared00() { fmt.Println(result) } -// To create a bucket -// The following example creates a bucket. +// To create a bucket in a specific region +// The following example creates a bucket. The request specifies an AWS region where +// to create the bucket. func ExampleS3_CreateBucket_shared00() { svc := s3.New(session.New()) input := &s3.CreateBucketInput{ Bucket: aws.String("examplebucket"), + CreateBucketConfiguration: &s3.CreateBucketConfiguration{ + LocationConstraint: aws.String("eu-west-1"), + }, } result, err := svc.CreateBucket(input) @@ -155,16 +159,12 @@ func ExampleS3_CreateBucket_shared00() { fmt.Println(result) } -// To create a bucket in a specific region -// The following example creates a bucket. The request specifies an AWS region where -// to create the bucket. +// To create a bucket +// The following example creates a bucket. func ExampleS3_CreateBucket_shared01() { svc := s3.New(session.New()) input := &s3.CreateBucketInput{ Bucket: aws.String("examplebucket"), - CreateBucketConfiguration: &s3.CreateBucketConfiguration{ - LocationConstraint: aws.String("eu-west-1"), - }, } result, err := svc.CreateBucket(input) @@ -452,15 +452,15 @@ func ExampleS3_DeleteObject_shared01() { fmt.Println(result) } -// To remove tag set from an object version -// The following example removes tag set associated with the specified object version. -// The request specifies both the object key and object version. +// To remove tag set from an object +// The following example removes tag set associated with the specified object. If the +// bucket is versioning enabled, the operation removes tag set from the latest object +// version. func ExampleS3_DeleteObjectTagging_shared00() { svc := s3.New(session.New()) input := &s3.DeleteObjectTaggingInput{ - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), - VersionId: aws.String("ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), } result, err := svc.DeleteObjectTagging(input) @@ -481,15 +481,15 @@ func ExampleS3_DeleteObjectTagging_shared00() { fmt.Println(result) } -// To remove tag set from an object -// The following example removes tag set associated with the specified object. If the -// bucket is versioning enabled, the operation removes tag set from the latest object -// version. +// To remove tag set from an object version +// The following example removes tag set associated with the specified object version. +// The request specifies both the object key and object version. func ExampleS3_DeleteObjectTagging_shared01() { svc := s3.New(session.New()) input := &s3.DeleteObjectTaggingInput{ - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), + VersionId: aws.String("ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"), } result, err := svc.DeleteObjectTagging(input) @@ -903,15 +903,13 @@ func ExampleS3_GetBucketWebsite_shared00() { fmt.Println(result) } -// To retrieve a byte range of an object -// The following example retrieves an object for an S3 bucket. The request specifies -// the range header to retrieve a specific byte range. +// To retrieve an object +// The following example retrieves an object for an S3 bucket. func ExampleS3_GetObject_shared00() { svc := s3.New(session.New()) input := &s3.GetObjectInput{ Bucket: aws.String("examplebucket"), - Key: aws.String("SampleFile.txt"), - Range: aws.String("bytes=0-9"), + Key: aws.String("HappyFace.jpg"), } result, err := svc.GetObject(input) @@ -936,13 +934,15 @@ func ExampleS3_GetObject_shared00() { fmt.Println(result) } -// To retrieve an object -// The following example retrieves an object for an S3 bucket. +// To retrieve a byte range of an object +// The following example retrieves an object for an S3 bucket. The request specifies +// the range header to retrieve a specific byte range. func ExampleS3_GetObject_shared01() { svc := s3.New(session.New()) input := &s3.GetObjectInput{ Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), + Key: aws.String("SampleFile.txt"), + Range: aws.String("bytes=0-9"), } result, err := svc.GetObject(input) @@ -1158,12 +1158,16 @@ func ExampleS3_ListBuckets_shared00() { fmt.Println(result) } -// To list in-progress multipart uploads on a bucket -// The following example lists in-progress multipart uploads on a specific bucket. +// List next set of multipart uploads when previous result is truncated +// The following example specifies the upload-id-marker and key-marker from previous +// truncated response to retrieve next setup of multipart uploads. func ExampleS3_ListMultipartUploads_shared00() { svc := s3.New(session.New()) input := &s3.ListMultipartUploadsInput{ - Bucket: aws.String("examplebucket"), + Bucket: aws.String("examplebucket"), + KeyMarker: aws.String("nextkeyfrompreviousresponse"), + MaxUploads: aws.Int64(2), + UploadIdMarker: aws.String("valuefrompreviousresponse"), } result, err := svc.ListMultipartUploads(input) @@ -1184,16 +1188,12 @@ func ExampleS3_ListMultipartUploads_shared00() { fmt.Println(result) } -// List next set of multipart uploads when previous result is truncated -// The following example specifies the upload-id-marker and key-marker from previous -// truncated response to retrieve next setup of multipart uploads. +// To list in-progress multipart uploads on a bucket +// The following example lists in-progress multipart uploads on a specific bucket. func ExampleS3_ListMultipartUploads_shared01() { svc := s3.New(session.New()) input := &s3.ListMultipartUploadsInput{ - Bucket: aws.String("examplebucket"), - KeyMarker: aws.String("nextkeyfrompreviousresponse"), - MaxUploads: aws.Int64(2), - UploadIdMarker: aws.String("valuefrompreviousresponse"), + Bucket: aws.String("examplebucket"), } result, err := svc.ListMultipartUploads(input) @@ -1748,18 +1748,16 @@ func ExampleS3_PutBucketWebsite_shared00() { fmt.Println(result) } -// To upload an object and specify server-side encryption and object tags -// The following example uploads an object. The request specifies the optional server-side -// encryption option. The request also specifies optional object tags. If the bucket -// is versioning enabled, S3 returns version ID in response. +// To upload an object +// The following example uploads an object to a versioning-enabled bucket. The source +// file is specified using Windows file syntax. S3 returns VersionId of the newly created +// object. func ExampleS3_PutObject_shared00() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), - Bucket: aws.String("examplebucket"), - Key: aws.String("exampleobject"), - ServerSideEncryption: aws.String("AES256"), - Tagging: aws.String("key1=value1&key2=value2"), + Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), } result, err := svc.PutObject(input) @@ -1780,15 +1778,18 @@ func ExampleS3_PutObject_shared00() { fmt.Println(result) } -// To create an object. -// The following example creates an object. If the bucket is versioning enabled, S3 -// returns version ID in response. +// To upload an object and specify server-side encryption and object tags +// The following example uploads an object. The request specifies the optional server-side +// encryption option. The request also specifies optional object tags. If the bucket +// is versioning enabled, S3 returns version ID in response. func ExampleS3_PutObject_shared01() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), - Bucket: aws.String("examplebucket"), - Key: aws.String("objectkey"), + Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), + Bucket: aws.String("examplebucket"), + Key: aws.String("exampleobject"), + ServerSideEncryption: aws.String("AES256"), + Tagging: aws.String("key1=value1&key2=value2"), } result, err := svc.PutObject(input) @@ -1809,17 +1810,15 @@ func ExampleS3_PutObject_shared01() { fmt.Println(result) } -// To upload an object (specify optional headers) -// The following example uploads an object. The request specifies optional request headers -// to directs S3 to use specific storage class and use server-side encryption. +// To create an object. +// The following example creates an object. If the bucket is versioning enabled, S3 +// returns version ID in response. func ExampleS3_PutObject_shared02() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), - ServerSideEncryption: aws.String("AES256"), - StorageClass: aws.String("STANDARD_IA"), + Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), + Bucket: aws.String("examplebucket"), + Key: aws.String("objectkey"), } result, err := svc.PutObject(input) @@ -1840,16 +1839,19 @@ func ExampleS3_PutObject_shared02() { fmt.Println(result) } -// To upload an object and specify optional tags -// The following example uploads an object. The request specifies optional object tags. -// The bucket is versioned, therefore S3 returns version ID of the newly created object. +// To upload object and specify user-defined metadata +// The following example creates an object. The request also specifies optional metadata. +// If the bucket is versioning enabled, S3 returns version ID in response. func ExampleS3_PutObject_shared03() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("c:\\HappyFace.jpg")), - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), - Tagging: aws.String("key1=value1&key2=value2"), + Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), + Bucket: aws.String("examplebucket"), + Key: aws.String("exampleobject"), + Metadata: map[string]*string{ + "metadata1": aws.String("value1"), + "metadata2": aws.String("value2"), + }, } result, err := svc.PutObject(input) @@ -1870,19 +1872,16 @@ func ExampleS3_PutObject_shared03() { fmt.Println(result) } -// To upload object and specify user-defined metadata -// The following example creates an object. The request also specifies optional metadata. -// If the bucket is versioning enabled, S3 returns version ID in response. +// To upload an object and specify optional tags +// The following example uploads an object. The request specifies optional object tags. +// The bucket is versioned, therefore S3 returns version ID of the newly created object. func ExampleS3_PutObject_shared04() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), - Bucket: aws.String("examplebucket"), - Key: aws.String("exampleobject"), - Metadata: map[string]*string{ - "metadata1": aws.String("value1"), - "metadata2": aws.String("value2"), - }, + Body: aws.ReadSeekCloser(strings.NewReader("c:\\HappyFace.jpg")), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), + Tagging: aws.String("key1=value1&key2=value2"), } result, err := svc.PutObject(input) @@ -1934,16 +1933,17 @@ func ExampleS3_PutObject_shared05() { fmt.Println(result) } -// To upload an object -// The following example uploads an object to a versioning-enabled bucket. The source -// file is specified using Windows file syntax. S3 returns VersionId of the newly created -// object. +// To upload an object (specify optional headers) +// The following example uploads an object. The request specifies optional request headers +// to directs S3 to use specific storage class and use server-side encryption. func ExampleS3_PutObject_shared06() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), + Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), + ServerSideEncryption: aws.String("AES256"), + StorageClass: aws.String("STANDARD_IA"), } result, err := svc.PutObject(input) @@ -2104,17 +2104,18 @@ func ExampleS3_UploadPart_shared00() { fmt.Println(result) } -// To upload a part by copying data from an existing object as data source -// The following example uploads a part of a multipart upload by copying data from an -// existing object as data source. +// To upload a part by copying byte range from an existing object as data source +// The following example uploads a part of a multipart upload by copying a specified +// byte range from an existing object as data source. func ExampleS3_UploadPartCopy_shared00() { svc := s3.New(session.New()) input := &s3.UploadPartCopyInput{ - Bucket: aws.String("examplebucket"), - CopySource: aws.String("/bucketname/sourceobjectkey"), - Key: aws.String("examplelargeobject"), - PartNumber: aws.Int64(1), - UploadId: aws.String("exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"), + Bucket: aws.String("examplebucket"), + CopySource: aws.String("/bucketname/sourceobjectkey"), + CopySourceRange: aws.String("bytes=1-100000"), + Key: aws.String("examplelargeobject"), + PartNumber: aws.Int64(2), + UploadId: aws.String("exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"), } result, err := svc.UploadPartCopy(input) @@ -2135,18 +2136,17 @@ func ExampleS3_UploadPartCopy_shared00() { fmt.Println(result) } -// To upload a part by copying byte range from an existing object as data source -// The following example uploads a part of a multipart upload by copying a specified -// byte range from an existing object as data source. +// To upload a part by copying data from an existing object as data source +// The following example uploads a part of a multipart upload by copying data from an +// existing object as data source. func ExampleS3_UploadPartCopy_shared01() { svc := s3.New(session.New()) input := &s3.UploadPartCopyInput{ - Bucket: aws.String("examplebucket"), - CopySource: aws.String("/bucketname/sourceobjectkey"), - CopySourceRange: aws.String("bytes=1-100000"), - Key: aws.String("examplelargeobject"), - PartNumber: aws.Int64(2), - UploadId: aws.String("exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"), + Bucket: aws.String("examplebucket"), + CopySource: aws.String("/bucketname/sourceobjectkey"), + Key: aws.String("examplelargeobject"), + PartNumber: aws.Int64(1), + UploadId: aws.String("exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"), } result, err := svc.UploadPartCopy(input) diff --git a/service/ssoadmin/api.go b/service/ssoadmin/api.go index e764dd685f3..251c8e9cf02 100644 --- a/service/ssoadmin/api.go +++ b/service/ssoadmin/api.go @@ -9426,11 +9426,13 @@ func (s *AuthenticationMethodItem) SetAuthenticationMethodType(v string) *Authen return s } -// ~~~[ TODO: ADD DESCRIPTION HERE ]~~~ +// A structure that defines configuration settings for an application that supports +// the OAuth 2.0 Authorization Code Grant. type AuthorizationCodeGrant struct { _ struct{} `type:"structure"` - // ~~~[ TODO: ADD DESCRIPTION HERE ]~~~ + // A list of URIs that are valid locations to redirect a user's browser after + // the user is authorized. RedirectUris []*string `min:"1" type:"list"` } @@ -13757,15 +13759,25 @@ func (s *GetPermissionsBoundaryForPermissionSetOutput) SetPermissionsBoundary(v return s } -// ~~~[ TODO: ADD DESCRIPTION HERE ]~~~ +// The Grant union represents the set of possible configuration options for +// the selected grant type. Exactly one member of the union must be specified, +// and must match the grant type selected. type Grant struct { _ struct{} `type:"structure"` - // ~~~[ TODO: ADD DESCRIPTION HERE ]~~~ + // Configuration options for the authorization_code grant type. AuthorizationCode *AuthorizationCodeGrant `type:"structure"` - // ~~~[ TODO: ADD DESCRIPTION HERE ]~~~ + // Configuration options for the urn:ietf:params:oauth:grant-type:jwt-bearer + // grant type. JwtBearer *JwtBearerGrant `type:"structure"` + + // Configuration options for the refresh_token grant type. + RefreshToken *RefreshTokenGrant `type:"structure"` + + // Configuration options for the urn:ietf:params:oauth:grant-type:token-exchange + // grant type. + TokenExchange *TokenExchangeGrant `type:"structure"` } // String returns the string representation. @@ -13818,16 +13830,28 @@ func (s *Grant) SetJwtBearer(v *JwtBearerGrant) *Grant { return s } -// ~~~[ TODO: ADD DESCRIPTION HERE ]~~~ +// SetRefreshToken sets the RefreshToken field's value. +func (s *Grant) SetRefreshToken(v *RefreshTokenGrant) *Grant { + s.RefreshToken = v + return s +} + +// SetTokenExchange sets the TokenExchange field's value. +func (s *Grant) SetTokenExchange(v *TokenExchangeGrant) *Grant { + s.TokenExchange = v + return s +} + +// A structure that defines a single grant and its configuration. type GrantItem struct { _ struct{} `type:"structure"` - // ~~~[ TODO: ADD DESCRIPTION HERE ]~~~ + // The configuration structure for the selected grant. // // Grant is a required field Grant *Grant `type:"structure" required:"true"` - // ~~~[ TODO: ADD DESCRIPTION HERE ]~~~ + // The type of the selected grant. // // GrantType is a required field GrantType *string `type:"string" required:"true" enum:"GrantType"` @@ -14069,11 +14093,13 @@ func (s *InternalServerException) RequestID() string { return s.RespMetadata.RequestID } -// ~~~[ TODO: ADD DESCRIPTION HERE ]~~~ +// A structure that defines configuration settings for an application that supports +// the JWT Bearer Token Authorization Grant. type JwtBearerGrant struct { _ struct{} `type:"structure"` - // ~~~[ TODO: ADD DESCRIPTION HERE ]~~~ + // A list of allowed token issuers trusted by the Identity Center instances + // for this application. AuthorizedTokenIssuers []*AuthorizedTokenIssuer `min:"1" type:"list"` } @@ -18149,6 +18175,30 @@ func (s PutPermissionsBoundaryToPermissionSetOutput) GoString() string { return s.String() } +// A structure that defines configuration settings for an application that supports +// the OAuth 2.0 Refresh Token Grant. +type RefreshTokenGrant struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RefreshTokenGrant) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RefreshTokenGrant) GoString() string { + return s.String() +} + // Indicates that a requested resource is not found. type ResourceNotFoundException struct { _ struct{} `type:"structure"` @@ -18705,6 +18755,30 @@ func (s *ThrottlingException) RequestID() string { return s.RespMetadata.RequestID } +// A structure that defines configuration settings for an application that supports +// the OAuth 2.0 Token Exchange Grant. +type TokenExchangeGrant struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TokenExchangeGrant) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TokenExchangeGrant) GoString() string { + return s.String() +} + // A structure that describes the configuration of a trusted token issuer. The // structure and available settings are determined by the type of the trusted // token issuer. @@ -19078,6 +19152,8 @@ func (s UpdateApplicationOutput) GoString() string { return s.String() } +// A structure that describes the options for the access portal associated with +// an application that can be updated. type UpdateApplicationPortalOptions struct { _ struct{} `type:"structure"` diff --git a/service/ssooidc/api.go b/service/ssooidc/api.go index c743913c572..04f6c811b63 100644 --- a/service/ssooidc/api.go +++ b/service/ssooidc/api.go @@ -56,9 +56,10 @@ func (c *SSOOIDC) CreateTokenRequest(input *CreateTokenInput) (req *request.Requ // CreateToken API operation for AWS SSO OIDC. // -// Creates and returns an access token for the authorized client. The access -// token issued will be used to fetch short-term credentials for the assigned -// roles in the AWS account. +// Creates and returns access and refresh tokens for clients that are authenticated +// using client secrets. The access token can be used to fetch short-term credentials +// for the assigned AWS accounts or to access application APIs using bearer +// authentication. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -133,6 +134,131 @@ func (c *SSOOIDC) CreateTokenWithContext(ctx aws.Context, input *CreateTokenInpu return out, req.Send() } +const opCreateTokenWithIAM = "CreateTokenWithIAM" + +// CreateTokenWithIAMRequest generates a "aws/request.Request" representing the +// client's request for the CreateTokenWithIAM operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateTokenWithIAM for more information on using the CreateTokenWithIAM +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateTokenWithIAMRequest method. +// req, resp := client.CreateTokenWithIAMRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenWithIAM +func (c *SSOOIDC) CreateTokenWithIAMRequest(input *CreateTokenWithIAMInput) (req *request.Request, output *CreateTokenWithIAMOutput) { + op := &request.Operation{ + Name: opCreateTokenWithIAM, + HTTPMethod: "POST", + HTTPPath: "/token?aws_iam=t", + } + + if input == nil { + input = &CreateTokenWithIAMInput{} + } + + output = &CreateTokenWithIAMOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTokenWithIAM API operation for AWS SSO OIDC. +// +// Creates and returns access and refresh tokens for clients and applications +// that are authenticated using IAM entities. The access token can be used to +// fetch short-term credentials for the assigned AWS accounts or to access application +// APIs using bearer authentication. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 SSO OIDC's +// API operation CreateTokenWithIAM for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter might be missing or out of range. +// +// - InvalidClientException +// Indicates that the clientId or clientSecret in the request is invalid. For +// example, this can occur when a client sends an incorrect clientId or an expired +// clientSecret. +// +// - InvalidGrantException +// Indicates that a request contains an invalid grant. This can occur if a client +// makes a CreateToken request with an invalid grant type. +// +// - UnauthorizedClientException +// Indicates that the client is not currently authorized to make the request. +// This can happen when a clientId is not issued for a public client. +// +// - UnsupportedGrantTypeException +// Indicates that the grant type in the request is not supported by the service. +// +// - InvalidScopeException +// Indicates that the scope provided in the request is invalid. +// +// - AuthorizationPendingException +// Indicates that a request to authorize a client with an access user session +// token is pending. +// +// - SlowDownException +// Indicates that the client is making the request too frequently and is more +// than the service can handle. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ExpiredTokenException +// Indicates that the token issued by the service is expired and is no longer +// valid. +// +// - InternalServerException +// Indicates that an error from the service occurred while trying to process +// a request. +// +// - InvalidRequestRegionException +// Indicates that a token provided as input to the request was issued by and +// is only usable by calling IAM Identity Center endpoints in another region. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenWithIAM +func (c *SSOOIDC) CreateTokenWithIAM(input *CreateTokenWithIAMInput) (*CreateTokenWithIAMOutput, error) { + req, out := c.CreateTokenWithIAMRequest(input) + return out, req.Send() +} + +// CreateTokenWithIAMWithContext is the same as CreateTokenWithIAM with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTokenWithIAM for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSOOIDC) CreateTokenWithIAMWithContext(ctx aws.Context, input *CreateTokenWithIAMInput, opts ...request.Option) (*CreateTokenWithIAMOutput, error) { + req, out := c.CreateTokenWithIAMRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRegisterClient = "RegisterClient" // RegisterClientRequest generates a "aws/request.Request" representing the @@ -331,8 +457,11 @@ type AccessDeniedException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Single error code. For this exception the value will be access_denied. Error_ *string `locationName:"error" type:"string"` + // Human-readable text providing additional information, used to assist the + // client developer in understanding the error that occurred. Error_description *string `locationName:"error_description" type:"string"` Message_ *string `locationName:"message" type:"string"` @@ -400,8 +529,11 @@ type AuthorizationPendingException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Single error code. For this exception the value will be authorization_pending. Error_ *string `locationName:"error" type:"string"` + // Human-readable text providing additional information, used to assist the + // client developer in understanding the error that occurred. Error_description *string `locationName:"error_description" type:"string"` Message_ *string `locationName:"message" type:"string"` @@ -466,8 +598,8 @@ func (s *AuthorizationPendingException) RequestID() string { type CreateTokenInput struct { _ struct{} `type:"structure"` - // The unique identifier string for each client. This value should come from - // the persisted result of the RegisterClient API. + // The unique identifier string for the client or application. This value comes + // from the result of the RegisterClient API. // // ClientId is a required field ClientId *string `locationName:"clientId" type:"string" required:"true"` @@ -475,23 +607,30 @@ type CreateTokenInput struct { // A secret string generated for the client. This value should come from the // persisted result of the RegisterClient API. // + // ClientSecret is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateTokenInput's + // String and GoString methods. + // // ClientSecret is a required field - ClientSecret *string `locationName:"clientSecret" type:"string" required:"true"` + ClientSecret *string `locationName:"clientSecret" type:"string" required:"true" sensitive:"true"` - // The authorization code received from the authorization service. This parameter - // is required to perform an authorization grant request to get access to a - // token. + // Used only when calling this API for the Authorization Code grant type. The + // short-term code is used to identify this authorization request. This grant + // type is currently unsupported for the CreateToken API. Code *string `locationName:"code" type:"string"` - // Used only when calling this API for the device code grant type. This short-term - // code is used to identify this authentication attempt. This should come from - // an in-memory reference to the result of the StartDeviceAuthorization API. + // Used only when calling this API for the Device Code grant type. This short-term + // code is used to identify this authorization request. This comes from the + // result of the StartDeviceAuthorization API. DeviceCode *string `locationName:"deviceCode" type:"string"` - // Supports grant types for the authorization code, refresh token, and device - // code request. For device code requests, specify the following value: + // Supports the following OAuth grant types: Device Code and Refresh Token. + // Specify either of the following values, depending on the grant type that + // you want: + // + // * Device Code - urn:ietf:params:oauth:grant-type:device_code // - // urn:ietf:params:oauth:grant-type:device_code + // * Refresh Token - refresh_token // // For information about how to obtain the device code, see the StartDeviceAuthorization // topic. @@ -499,21 +638,28 @@ type CreateTokenInput struct { // GrantType is a required field GrantType *string `locationName:"grantType" type:"string" required:"true"` - // The location of the application that will receive the authorization code. - // Users authorize the service to send the request to this location. + // Used only when calling this API for the Authorization Code grant type. This + // value specifies the location of the client or application that has registered + // to receive the authorization code. RedirectUri *string `locationName:"redirectUri" type:"string"` - // Currently, refreshToken is not yet implemented and is not supported. For - // more information about the features and limitations of the current IAM Identity - // Center OIDC implementation, see Considerations for Using this Guide in the - // IAM Identity Center OIDC API Reference (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html). + // Used only when calling this API for the Refresh Token grant type. This token + // is used to refresh short-term tokens, such as the access token, that might + // expire. // - // The token used to obtain an access token in the event that the access token - // is invalid or expired. - RefreshToken *string `locationName:"refreshToken" type:"string"` - - // The list of scopes that is defined by the client. Upon authorization, this - // list is used to restrict permissions when granting an access token. + // For more information about the features and limitations of the current IAM + // Identity Center OIDC implementation, see Considerations for Using this Guide + // in the IAM Identity Center OIDC API Reference (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html). + // + // RefreshToken is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateTokenInput's + // String and GoString methods. + RefreshToken *string `locationName:"refreshToken" type:"string" sensitive:"true"` + + // The list of scopes for which authorization is requested. The access token + // that is issued is limited to the scopes that are granted. If this value is + // not specified, IAM Identity Center authorizes all scopes that are configured + // for the client during the call to RegisterClient. Scope []*string `locationName:"scope" type:"list"` } @@ -605,31 +751,43 @@ func (s *CreateTokenInput) SetScope(v []*string) *CreateTokenInput { type CreateTokenOutput struct { _ struct{} `type:"structure"` - // An opaque token to access IAM Identity Center resources assigned to a user. - AccessToken *string `locationName:"accessToken" type:"string"` + // A bearer token to access AWS accounts and applications assigned to a user. + // + // AccessToken is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateTokenOutput's + // String and GoString methods. + AccessToken *string `locationName:"accessToken" type:"string" sensitive:"true"` // Indicates the time in seconds when an access token will expire. ExpiresIn *int64 `locationName:"expiresIn" type:"integer"` - // Currently, idToken is not yet implemented and is not supported. For more - // information about the features and limitations of the current IAM Identity - // Center OIDC implementation, see Considerations for Using this Guide in the - // IAM Identity Center OIDC API Reference (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html). + // The idToken is not implemented or supported. For more information about the + // features and limitations of the current IAM Identity Center OIDC implementation, + // see Considerations for Using this Guide in the IAM Identity Center OIDC API + // Reference (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html). // - // The identifier of the user that associated with the access token, if present. - IdToken *string `locationName:"idToken" type:"string"` - - // Currently, refreshToken is not yet implemented and is not supported. For - // more information about the features and limitations of the current IAM Identity - // Center OIDC implementation, see Considerations for Using this Guide in the - // IAM Identity Center OIDC API Reference (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html). + // A JSON Web Token (JWT) that identifies who is associated with the issued + // access token. // + // IdToken is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateTokenOutput's + // String and GoString methods. + IdToken *string `locationName:"idToken" type:"string" sensitive:"true"` + // A token that, if present, can be used to refresh a previously issued access // token that might have expired. - RefreshToken *string `locationName:"refreshToken" type:"string"` + // + // For more information about the features and limitations of the current IAM + // Identity Center OIDC implementation, see Considerations for Using this Guide + // in the IAM Identity Center OIDC API Reference (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html). + // + // RefreshToken is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateTokenOutput's + // String and GoString methods. + RefreshToken *string `locationName:"refreshToken" type:"string" sensitive:"true"` // Used to notify the client that the returned token is an access token. The - // supported type is BearerToken. + // supported token type is Bearer. TokenType *string `locationName:"tokenType" type:"string"` } @@ -681,14 +839,312 @@ func (s *CreateTokenOutput) SetTokenType(v string) *CreateTokenOutput { return s } +type CreateTokenWithIAMInput struct { + _ struct{} `type:"structure"` + + // Used only when calling this API for the JWT Bearer grant type. This value + // specifies the JSON Web Token (JWT) issued by a trusted token issuer. To authorize + // a trusted token issuer, configure the JWT Bearer GrantOptions for the application. + // + // Assertion is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateTokenWithIAMInput's + // String and GoString methods. + Assertion *string `locationName:"assertion" type:"string" sensitive:"true"` + + // The unique identifier string for the client or application. This value is + // an application ARN that has OAuth grants configured. + // + // ClientId is a required field + ClientId *string `locationName:"clientId" type:"string" required:"true"` + + // Used only when calling this API for the Authorization Code grant type. This + // short-term code is used to identify this authorization request. The code + // is obtained through a redirect from IAM Identity Center to a redirect URI + // persisted in the Authorization Code GrantOptions for the application. + Code *string `locationName:"code" type:"string"` + + // Supports the following OAuth grant types: Authorization Code, Refresh Token, + // JWT Bearer, and Token Exchange. Specify one of the following values, depending + // on the grant type that you want: + // + // * Authorization Code - authorization_code + // + // * Refresh Token - refresh_token + // + // * JWT Bearer - urn:ietf:params:oauth:grant-type:jwt-bearer + // + // * Token Exchange - urn:ietf:params:oauth:grant-type:token-exchange + // + // GrantType is a required field + GrantType *string `locationName:"grantType" type:"string" required:"true"` + + // Used only when calling this API for the Authorization Code grant type. This + // value specifies the location of the client or application that has registered + // to receive the authorization code. + RedirectUri *string `locationName:"redirectUri" type:"string"` + + // Used only when calling this API for the Refresh Token grant type. This token + // is used to refresh short-term tokens, such as the access token, that might + // expire. + // + // For more information about the features and limitations of the current IAM + // Identity Center OIDC implementation, see Considerations for Using this Guide + // in the IAM Identity Center OIDC API Reference (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html). + // + // RefreshToken is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateTokenWithIAMInput's + // String and GoString methods. + RefreshToken *string `locationName:"refreshToken" type:"string" sensitive:"true"` + + // Used only when calling this API for the Token Exchange grant type. This value + // specifies the type of token that the requester can receive. The following + // values are supported: + // + // * Access Token - urn:ietf:params:oauth:token-type:access_token + // + // * Refresh Token - urn:ietf:params:oauth:token-type:refresh_token + RequestedTokenType *string `locationName:"requestedTokenType" type:"string"` + + // The list of scopes for which authorization is requested. The access token + // that is issued is limited to the scopes that are granted. If the value is + // not specified, IAM Identity Center authorizes all scopes configured for the + // application, including the following default scopes: openid, aws, sts:identity_context. + Scope []*string `locationName:"scope" type:"list"` + + // Used only when calling this API for the Token Exchange grant type. This value + // specifies the subject of the exchange. The value of the subject token must + // be an access token issued by IAM Identity Center to a different client or + // application. The access token must have authorized scopes that indicate the + // requested application as a target audience. + // + // SubjectToken is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateTokenWithIAMInput's + // String and GoString methods. + SubjectToken *string `locationName:"subjectToken" type:"string" sensitive:"true"` + + // Used only when calling this API for the Token Exchange grant type. This value + // specifies the type of token that is passed as the subject of the exchange. + // The following value is supported: + // + // * Access Token - urn:ietf:params:oauth:token-type:access_token + SubjectTokenType *string `locationName:"subjectTokenType" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTokenWithIAMInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTokenWithIAMInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTokenWithIAMInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTokenWithIAMInput"} + if s.ClientId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientId")) + } + if s.GrantType == nil { + invalidParams.Add(request.NewErrParamRequired("GrantType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssertion sets the Assertion field's value. +func (s *CreateTokenWithIAMInput) SetAssertion(v string) *CreateTokenWithIAMInput { + s.Assertion = &v + return s +} + +// SetClientId sets the ClientId field's value. +func (s *CreateTokenWithIAMInput) SetClientId(v string) *CreateTokenWithIAMInput { + s.ClientId = &v + return s +} + +// SetCode sets the Code field's value. +func (s *CreateTokenWithIAMInput) SetCode(v string) *CreateTokenWithIAMInput { + s.Code = &v + return s +} + +// SetGrantType sets the GrantType field's value. +func (s *CreateTokenWithIAMInput) SetGrantType(v string) *CreateTokenWithIAMInput { + s.GrantType = &v + return s +} + +// SetRedirectUri sets the RedirectUri field's value. +func (s *CreateTokenWithIAMInput) SetRedirectUri(v string) *CreateTokenWithIAMInput { + s.RedirectUri = &v + return s +} + +// SetRefreshToken sets the RefreshToken field's value. +func (s *CreateTokenWithIAMInput) SetRefreshToken(v string) *CreateTokenWithIAMInput { + s.RefreshToken = &v + return s +} + +// SetRequestedTokenType sets the RequestedTokenType field's value. +func (s *CreateTokenWithIAMInput) SetRequestedTokenType(v string) *CreateTokenWithIAMInput { + s.RequestedTokenType = &v + return s +} + +// SetScope sets the Scope field's value. +func (s *CreateTokenWithIAMInput) SetScope(v []*string) *CreateTokenWithIAMInput { + s.Scope = v + return s +} + +// SetSubjectToken sets the SubjectToken field's value. +func (s *CreateTokenWithIAMInput) SetSubjectToken(v string) *CreateTokenWithIAMInput { + s.SubjectToken = &v + return s +} + +// SetSubjectTokenType sets the SubjectTokenType field's value. +func (s *CreateTokenWithIAMInput) SetSubjectTokenType(v string) *CreateTokenWithIAMInput { + s.SubjectTokenType = &v + return s +} + +type CreateTokenWithIAMOutput struct { + _ struct{} `type:"structure"` + + // A bearer token to access AWS accounts and applications assigned to a user. + // + // AccessToken is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateTokenWithIAMOutput's + // String and GoString methods. + AccessToken *string `locationName:"accessToken" type:"string" sensitive:"true"` + + // Indicates the time in seconds when an access token will expire. + ExpiresIn *int64 `locationName:"expiresIn" type:"integer"` + + // A JSON Web Token (JWT) that identifies the user associated with the issued + // access token. + // + // IdToken is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateTokenWithIAMOutput's + // String and GoString methods. + IdToken *string `locationName:"idToken" type:"string" sensitive:"true"` + + // Indicates the type of tokens that are issued by IAM Identity Center. The + // following values are supported: + // + // * Access Token - urn:ietf:params:oauth:token-type:access_token + // + // * Refresh Token - urn:ietf:params:oauth:token-type:refresh_token + IssuedTokenType *string `locationName:"issuedTokenType" type:"string"` + + // A token that, if present, can be used to refresh a previously issued access + // token that might have expired. + // + // For more information about the features and limitations of the current IAM + // Identity Center OIDC implementation, see Considerations for Using this Guide + // in the IAM Identity Center OIDC API Reference (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html). + // + // RefreshToken is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateTokenWithIAMOutput's + // String and GoString methods. + RefreshToken *string `locationName:"refreshToken" type:"string" sensitive:"true"` + + // The list of scopes for which authorization is granted. The access token that + // is issued is limited to the scopes that are granted. + Scope []*string `locationName:"scope" type:"list"` + + // Used to notify the requester that the returned token is an access token. + // The supported token type is Bearer. + TokenType *string `locationName:"tokenType" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTokenWithIAMOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTokenWithIAMOutput) GoString() string { + return s.String() +} + +// SetAccessToken sets the AccessToken field's value. +func (s *CreateTokenWithIAMOutput) SetAccessToken(v string) *CreateTokenWithIAMOutput { + s.AccessToken = &v + return s +} + +// SetExpiresIn sets the ExpiresIn field's value. +func (s *CreateTokenWithIAMOutput) SetExpiresIn(v int64) *CreateTokenWithIAMOutput { + s.ExpiresIn = &v + return s +} + +// SetIdToken sets the IdToken field's value. +func (s *CreateTokenWithIAMOutput) SetIdToken(v string) *CreateTokenWithIAMOutput { + s.IdToken = &v + return s +} + +// SetIssuedTokenType sets the IssuedTokenType field's value. +func (s *CreateTokenWithIAMOutput) SetIssuedTokenType(v string) *CreateTokenWithIAMOutput { + s.IssuedTokenType = &v + return s +} + +// SetRefreshToken sets the RefreshToken field's value. +func (s *CreateTokenWithIAMOutput) SetRefreshToken(v string) *CreateTokenWithIAMOutput { + s.RefreshToken = &v + return s +} + +// SetScope sets the Scope field's value. +func (s *CreateTokenWithIAMOutput) SetScope(v []*string) *CreateTokenWithIAMOutput { + s.Scope = v + return s +} + +// SetTokenType sets the TokenType field's value. +func (s *CreateTokenWithIAMOutput) SetTokenType(v string) *CreateTokenWithIAMOutput { + s.TokenType = &v + return s +} + // Indicates that the token issued by the service is expired and is no longer // valid. type ExpiredTokenException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Single error code. For this exception the value will be expired_token. Error_ *string `locationName:"error" type:"string"` + // Human-readable text providing additional information, used to assist the + // client developer in understanding the error that occurred. Error_description *string `locationName:"error_description" type:"string"` Message_ *string `locationName:"message" type:"string"` @@ -756,8 +1212,11 @@ type InternalServerException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Single error code. For this exception the value will be server_error. Error_ *string `locationName:"error" type:"string"` + // Human-readable text providing additional information, used to assist the + // client developer in understanding the error that occurred. Error_description *string `locationName:"error_description" type:"string"` Message_ *string `locationName:"message" type:"string"` @@ -826,8 +1285,11 @@ type InvalidClientException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Single error code. For this exception the value will be invalid_client. Error_ *string `locationName:"error" type:"string"` + // Human-readable text providing additional information, used to assist the + // client developer in understanding the error that occurred. Error_description *string `locationName:"error_description" type:"string"` Message_ *string `locationName:"message" type:"string"` @@ -895,8 +1357,11 @@ type InvalidClientMetadataException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Single error code. For this exception the value will be invalid_client_metadata. Error_ *string `locationName:"error" type:"string"` + // Human-readable text providing additional information, used to assist the + // client developer in understanding the error that occurred. Error_description *string `locationName:"error_description" type:"string"` Message_ *string `locationName:"message" type:"string"` @@ -964,8 +1429,11 @@ type InvalidGrantException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Single error code. For this exception the value will be invalid_grant. Error_ *string `locationName:"error" type:"string"` + // Human-readable text providing additional information, used to assist the + // client developer in understanding the error that occurred. Error_description *string `locationName:"error_description" type:"string"` Message_ *string `locationName:"message" type:"string"` @@ -1033,8 +1501,11 @@ type InvalidRequestException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Single error code. For this exception the value will be invalid_request. Error_ *string `locationName:"error" type:"string"` + // Human-readable text providing additional information, used to assist the + // client developer in understanding the error that occurred. Error_description *string `locationName:"error_description" type:"string"` Message_ *string `locationName:"message" type:"string"` @@ -1096,13 +1567,95 @@ func (s *InvalidRequestException) RequestID() string { return s.RespMetadata.RequestID } +// Indicates that a token provided as input to the request was issued by and +// is only usable by calling IAM Identity Center endpoints in another region. +type InvalidRequestRegionException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // Indicates the IAM Identity Center endpoint which the requester may call with + // this token. + Endpoint *string `locationName:"endpoint" type:"string"` + + // Single error code. For this exception the value will be invalid_request. + Error_ *string `locationName:"error" type:"string"` + + // Human-readable text providing additional information, used to assist the + // client developer in understanding the error that occurred. + Error_description *string `locationName:"error_description" type:"string"` + + Message_ *string `locationName:"message" type:"string"` + + // Indicates the region which the requester may call with this token. + Region *string `locationName:"region" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidRequestRegionException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidRequestRegionException) GoString() string { + return s.String() +} + +func newErrorInvalidRequestRegionException(v protocol.ResponseMetadata) error { + return &InvalidRequestRegionException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidRequestRegionException) Code() string { + return "InvalidRequestRegionException" +} + +// Message returns the exception's message. +func (s *InvalidRequestRegionException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidRequestRegionException) OrigErr() error { + return nil +} + +func (s *InvalidRequestRegionException) 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 *InvalidRequestRegionException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidRequestRegionException) RequestID() string { + return s.RespMetadata.RequestID +} + // Indicates that the scope provided in the request is invalid. type InvalidScopeException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Single error code. For this exception the value will be invalid_scope. Error_ *string `locationName:"error" type:"string"` + // Human-readable text providing additional information, used to assist the + // client developer in understanding the error that occurred. Error_description *string `locationName:"error_description" type:"string"` Message_ *string `locationName:"message" type:"string"` @@ -1238,7 +1791,7 @@ func (s *RegisterClientInput) SetScopes(v []*string) *RegisterClientInput { type RegisterClientOutput struct { _ struct{} `type:"structure"` - // The endpoint where the client can request authorization. + // An endpoint that the client can use to request authorization. AuthorizationEndpoint *string `locationName:"authorizationEndpoint" type:"string"` // The unique identifier string for each client. This client uses this identifier @@ -1250,12 +1803,16 @@ type RegisterClientOutput struct { // A secret string generated for the client. The client will use this string // to get authenticated by the service in subsequent calls. - ClientSecret *string `locationName:"clientSecret" type:"string"` + // + // ClientSecret is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by RegisterClientOutput's + // String and GoString methods. + ClientSecret *string `locationName:"clientSecret" type:"string" sensitive:"true"` // Indicates the time at which the clientId and clientSecret will become invalid. ClientSecretExpiresAt *int64 `locationName:"clientSecretExpiresAt" type:"long"` - // The endpoint where the client can get an access token. + // An endpoint that the client can use to create tokens. TokenEndpoint *string `locationName:"tokenEndpoint" type:"string"` } @@ -1319,8 +1876,11 @@ type SlowDownException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Single error code. For this exception the value will be slow_down. Error_ *string `locationName:"error" type:"string"` + // Human-readable text providing additional information, used to assist the + // client developer in understanding the error that occurred. Error_description *string `locationName:"error_description" type:"string"` Message_ *string `locationName:"message" type:"string"` @@ -1395,11 +1955,15 @@ type StartDeviceAuthorizationInput struct { // A secret string that is generated for the client. This value should come // from the persisted result of the RegisterClient API operation. // + // ClientSecret is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by StartDeviceAuthorizationInput's + // String and GoString methods. + // // ClientSecret is a required field - ClientSecret *string `locationName:"clientSecret" type:"string" required:"true"` + ClientSecret *string `locationName:"clientSecret" type:"string" required:"true" sensitive:"true"` - // The URL for the AWS access portal. For more information, see Using the AWS - // access portal (https://docs.aws.amazon.com/singlesignon/latest/userguide/using-the-portal.html) + // The URL for the Amazon Web Services access portal. For more information, + // see Using the Amazon Web Services access portal (https://docs.aws.amazon.com/singlesignon/latest/userguide/using-the-portal.html) // in the IAM Identity Center User Guide. // // StartUrl is a required field @@ -1550,8 +2114,11 @@ type UnauthorizedClientException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Single error code. For this exception the value will be unauthorized_client. Error_ *string `locationName:"error" type:"string"` + // Human-readable text providing additional information, used to assist the + // client developer in understanding the error that occurred. Error_description *string `locationName:"error_description" type:"string"` Message_ *string `locationName:"message" type:"string"` @@ -1618,8 +2185,11 @@ type UnsupportedGrantTypeException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Single error code. For this exception the value will be unsupported_grant_type. Error_ *string `locationName:"error" type:"string"` + // Human-readable text providing additional information, used to assist the + // client developer in understanding the error that occurred. Error_description *string `locationName:"error_description" type:"string"` Message_ *string `locationName:"message" type:"string"` diff --git a/service/ssooidc/doc.go b/service/ssooidc/doc.go index 8b5ee6019af..083568c616f 100644 --- a/service/ssooidc/doc.go +++ b/service/ssooidc/doc.go @@ -3,15 +3,13 @@ // Package ssooidc provides the client and types for making API // requests to AWS SSO OIDC. // -// AWS IAM Identity Center (successor to AWS Single Sign-On) OpenID Connect -// (OIDC) is a web service that enables a client (such as AWS CLI or a native -// application) to register with IAM Identity Center. The service also enables -// the client to fetch the user’s access token upon successful authentication -// and authorization with IAM Identity Center. +// IAM Identity Center OpenID Connect (OIDC) is a web service that enables a +// client (such as CLI or a native application) to register with IAM Identity +// Center. The service also enables the client to fetch the user’s access +// token upon successful authentication and authorization with IAM Identity +// Center. // -// Although AWS Single Sign-On was renamed, the sso and identitystore API namespaces -// will continue to retain their original name for backward compatibility purposes. -// For more information, see IAM Identity Center rename (https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html#renamed). +// IAM Identity Center uses the sso and identitystore API namespaces. // // # Considerations for Using This Guide // @@ -22,21 +20,24 @@ // - The IAM Identity Center OIDC service currently implements only the portions // of the OAuth 2.0 Device Authorization Grant standard (https://tools.ietf.org/html/rfc8628 // (https://tools.ietf.org/html/rfc8628)) that are necessary to enable single -// sign-on authentication with the AWS CLI. Support for other OIDC flows -// frequently needed for native applications, such as Authorization Code -// Flow (+ PKCE), will be addressed in future releases. +// sign-on authentication with the CLI. // -// - The service emits only OIDC access tokens, such that obtaining a new -// token (For example, token refresh) requires explicit user re-authentication. +// - With older versions of the CLI, the service only emits OIDC access tokens, +// so to obtain a new token, users must explicitly re-authenticate. To access +// the OIDC flow that supports token refresh and doesn’t require re-authentication, +// update to the latest CLI version (1.27.10 for CLI V1 and 2.9.0 for CLI +// V2) with support for OIDC token refresh and configurable IAM Identity +// Center session durations. For more information, see Configure Amazon Web +// Services access portal session duration (https://docs.aws.amazon.com/singlesignon/latest/userguide/configure-user-session.html). // -// - The access tokens provided by this service grant access to all AWS account -// entitlements assigned to an IAM Identity Center user, not just a particular -// application. +// - The access tokens provided by this service grant access to all Amazon +// Web Services account entitlements assigned to an IAM Identity Center user, +// not just a particular application. // // - The documentation in this guide does not describe the mechanism to convert -// the access token into AWS Auth (“sigv4”) credentials for use with -// IAM-protected AWS service endpoints. For more information, see GetRoleCredentials -// (https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/API_GetRoleCredentials.html) +// the access token into Amazon Web Services Auth (“sigv4”) credentials +// for use with IAM-protected Amazon Web Services service endpoints. For +// more information, see GetRoleCredentials (https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/API_GetRoleCredentials.html) // in the IAM Identity Center Portal API Reference Guide. // // For general information about IAM Identity Center, see What is IAM Identity diff --git a/service/ssooidc/errors.go b/service/ssooidc/errors.go index 69837701268..e6242e4928d 100644 --- a/service/ssooidc/errors.go +++ b/service/ssooidc/errors.go @@ -64,6 +64,13 @@ const ( // a required parameter might be missing or out of range. ErrCodeInvalidRequestException = "InvalidRequestException" + // ErrCodeInvalidRequestRegionException for service response error code + // "InvalidRequestRegionException". + // + // Indicates that a token provided as input to the request was issued by and + // is only usable by calling IAM Identity Center endpoints in another region. + ErrCodeInvalidRequestRegionException = "InvalidRequestRegionException" + // ErrCodeInvalidScopeException for service response error code // "InvalidScopeException". // @@ -100,6 +107,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InvalidClientMetadataException": newErrorInvalidClientMetadataException, "InvalidGrantException": newErrorInvalidGrantException, "InvalidRequestException": newErrorInvalidRequestException, + "InvalidRequestRegionException": newErrorInvalidRequestRegionException, "InvalidScopeException": newErrorInvalidScopeException, "SlowDownException": newErrorSlowDownException, "UnauthorizedClientException": newErrorUnauthorizedClientException, diff --git a/service/ssooidc/examples_test.go b/service/ssooidc/examples_test.go new file mode 100644 index 00000000000..fa851fd8bf1 --- /dev/null +++ b/service/ssooidc/examples_test.go @@ -0,0 +1,432 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package ssooidc_test + +import ( + "fmt" + "strings" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/session" + "github.com/aws/aws-sdk-go/service/ssooidc" +) + +var _ time.Duration +var _ strings.Reader +var _ aws.Config + +func parseTime(layout, value string) *time.Time { + t, err := time.Parse(layout, value) + if err != nil { + panic(err) + } + return &t +} + +// Call OAuth/OIDC /token endpoint for Device Code grant with Secret authentication +// + +func ExampleSSOOIDC_CreateToken_shared00() { + svc := ssooidc.New(session.New()) + input := &ssooidc.CreateTokenInput{ + ClientId: aws.String("_yzkThXVzLWVhc3QtMQEXAMPLECLIENTID"), + ClientSecret: aws.String("VERYLONGSECRETeyJraWQiOiJrZXktMTU2NDAyODA5OSIsImFsZyI6IkhTMzg0In0"), + DeviceCode: aws.String("yJraWQiOiJrZXktMTU2Njk2ODA4OCIsImFsZyI6IkhTMzIn0EXAMPLEDEVICECODE"), + GrantType: aws.String("urn:ietf:params:oauth:grant-type:device-code"), + } + + result, err := svc.CreateToken(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case ssooidc.ErrCodeInvalidRequestException: + fmt.Println(ssooidc.ErrCodeInvalidRequestException, aerr.Error()) + case ssooidc.ErrCodeInvalidClientException: + fmt.Println(ssooidc.ErrCodeInvalidClientException, aerr.Error()) + case ssooidc.ErrCodeInvalidGrantException: + fmt.Println(ssooidc.ErrCodeInvalidGrantException, aerr.Error()) + case ssooidc.ErrCodeUnauthorizedClientException: + fmt.Println(ssooidc.ErrCodeUnauthorizedClientException, aerr.Error()) + case ssooidc.ErrCodeUnsupportedGrantTypeException: + fmt.Println(ssooidc.ErrCodeUnsupportedGrantTypeException, aerr.Error()) + case ssooidc.ErrCodeInvalidScopeException: + fmt.Println(ssooidc.ErrCodeInvalidScopeException, aerr.Error()) + case ssooidc.ErrCodeAuthorizationPendingException: + fmt.Println(ssooidc.ErrCodeAuthorizationPendingException, aerr.Error()) + case ssooidc.ErrCodeSlowDownException: + fmt.Println(ssooidc.ErrCodeSlowDownException, aerr.Error()) + case ssooidc.ErrCodeAccessDeniedException: + fmt.Println(ssooidc.ErrCodeAccessDeniedException, aerr.Error()) + case ssooidc.ErrCodeExpiredTokenException: + fmt.Println(ssooidc.ErrCodeExpiredTokenException, aerr.Error()) + case ssooidc.ErrCodeInternalServerException: + fmt.Println(ssooidc.ErrCodeInternalServerException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Call OAuth/OIDC /token endpoint for Refresh Token grant with Secret authentication +// + +func ExampleSSOOIDC_CreateToken_shared01() { + svc := ssooidc.New(session.New()) + input := &ssooidc.CreateTokenInput{ + ClientId: aws.String("_yzkThXVzLWVhc3QtMQEXAMPLECLIENTID"), + ClientSecret: aws.String("VERYLONGSECRETeyJraWQiOiJrZXktMTU2NDAyODA5OSIsImFsZyI6IkhTMzg0In0"), + GrantType: aws.String("refresh_token"), + RefreshToken: aws.String("aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN"), + Scope: []*string{ + aws.String("codewhisperer:completions"), + }, + } + + result, err := svc.CreateToken(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case ssooidc.ErrCodeInvalidRequestException: + fmt.Println(ssooidc.ErrCodeInvalidRequestException, aerr.Error()) + case ssooidc.ErrCodeInvalidClientException: + fmt.Println(ssooidc.ErrCodeInvalidClientException, aerr.Error()) + case ssooidc.ErrCodeInvalidGrantException: + fmt.Println(ssooidc.ErrCodeInvalidGrantException, aerr.Error()) + case ssooidc.ErrCodeUnauthorizedClientException: + fmt.Println(ssooidc.ErrCodeUnauthorizedClientException, aerr.Error()) + case ssooidc.ErrCodeUnsupportedGrantTypeException: + fmt.Println(ssooidc.ErrCodeUnsupportedGrantTypeException, aerr.Error()) + case ssooidc.ErrCodeInvalidScopeException: + fmt.Println(ssooidc.ErrCodeInvalidScopeException, aerr.Error()) + case ssooidc.ErrCodeAuthorizationPendingException: + fmt.Println(ssooidc.ErrCodeAuthorizationPendingException, aerr.Error()) + case ssooidc.ErrCodeSlowDownException: + fmt.Println(ssooidc.ErrCodeSlowDownException, aerr.Error()) + case ssooidc.ErrCodeAccessDeniedException: + fmt.Println(ssooidc.ErrCodeAccessDeniedException, aerr.Error()) + case ssooidc.ErrCodeExpiredTokenException: + fmt.Println(ssooidc.ErrCodeExpiredTokenException, aerr.Error()) + case ssooidc.ErrCodeInternalServerException: + fmt.Println(ssooidc.ErrCodeInternalServerException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Call OAuth/OIDC /token endpoint for Authorization Code grant with IAM authentication +// + +func ExampleSSOOIDC_CreateTokenWithIAM_shared00() { + svc := ssooidc.New(session.New()) + input := &ssooidc.CreateTokenWithIAMInput{ + ClientId: aws.String("arn:aws:sso::123456789012:application/ssoins-111111111111/apl-222222222222"), + Code: aws.String("yJraWQiOiJrZXktMTU2Njk2ODA4OCIsImFsZyI6IkhTMzg0In0EXAMPLEAUTHCODE"), + GrantType: aws.String("authorization_code"), + RedirectUri: aws.String("https://mywebapp.example/redirect"), + Scope: []*string{ + aws.String("openid"), + aws.String("aws"), + aws.String("sts:identity_context"), + }, + } + + result, err := svc.CreateTokenWithIAM(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case ssooidc.ErrCodeInvalidRequestException: + fmt.Println(ssooidc.ErrCodeInvalidRequestException, aerr.Error()) + case ssooidc.ErrCodeInvalidClientException: + fmt.Println(ssooidc.ErrCodeInvalidClientException, aerr.Error()) + case ssooidc.ErrCodeInvalidGrantException: + fmt.Println(ssooidc.ErrCodeInvalidGrantException, aerr.Error()) + case ssooidc.ErrCodeUnauthorizedClientException: + fmt.Println(ssooidc.ErrCodeUnauthorizedClientException, aerr.Error()) + case ssooidc.ErrCodeUnsupportedGrantTypeException: + fmt.Println(ssooidc.ErrCodeUnsupportedGrantTypeException, aerr.Error()) + case ssooidc.ErrCodeInvalidScopeException: + fmt.Println(ssooidc.ErrCodeInvalidScopeException, aerr.Error()) + case ssooidc.ErrCodeAuthorizationPendingException: + fmt.Println(ssooidc.ErrCodeAuthorizationPendingException, aerr.Error()) + case ssooidc.ErrCodeSlowDownException: + fmt.Println(ssooidc.ErrCodeSlowDownException, aerr.Error()) + case ssooidc.ErrCodeAccessDeniedException: + fmt.Println(ssooidc.ErrCodeAccessDeniedException, aerr.Error()) + case ssooidc.ErrCodeExpiredTokenException: + fmt.Println(ssooidc.ErrCodeExpiredTokenException, aerr.Error()) + case ssooidc.ErrCodeInternalServerException: + fmt.Println(ssooidc.ErrCodeInternalServerException, aerr.Error()) + case ssooidc.ErrCodeInvalidRequestRegionException: + fmt.Println(ssooidc.ErrCodeInvalidRequestRegionException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Call OAuth/OIDC /token endpoint for Refresh Token grant with IAM authentication +// + +func ExampleSSOOIDC_CreateTokenWithIAM_shared01() { + svc := ssooidc.New(session.New()) + input := &ssooidc.CreateTokenWithIAMInput{ + ClientId: aws.String("arn:aws:sso::123456789012:application/ssoins-111111111111/apl-222222222222"), + GrantType: aws.String("refresh_token"), + RefreshToken: aws.String("aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN"), + } + + result, err := svc.CreateTokenWithIAM(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case ssooidc.ErrCodeInvalidRequestException: + fmt.Println(ssooidc.ErrCodeInvalidRequestException, aerr.Error()) + case ssooidc.ErrCodeInvalidClientException: + fmt.Println(ssooidc.ErrCodeInvalidClientException, aerr.Error()) + case ssooidc.ErrCodeInvalidGrantException: + fmt.Println(ssooidc.ErrCodeInvalidGrantException, aerr.Error()) + case ssooidc.ErrCodeUnauthorizedClientException: + fmt.Println(ssooidc.ErrCodeUnauthorizedClientException, aerr.Error()) + case ssooidc.ErrCodeUnsupportedGrantTypeException: + fmt.Println(ssooidc.ErrCodeUnsupportedGrantTypeException, aerr.Error()) + case ssooidc.ErrCodeInvalidScopeException: + fmt.Println(ssooidc.ErrCodeInvalidScopeException, aerr.Error()) + case ssooidc.ErrCodeAuthorizationPendingException: + fmt.Println(ssooidc.ErrCodeAuthorizationPendingException, aerr.Error()) + case ssooidc.ErrCodeSlowDownException: + fmt.Println(ssooidc.ErrCodeSlowDownException, aerr.Error()) + case ssooidc.ErrCodeAccessDeniedException: + fmt.Println(ssooidc.ErrCodeAccessDeniedException, aerr.Error()) + case ssooidc.ErrCodeExpiredTokenException: + fmt.Println(ssooidc.ErrCodeExpiredTokenException, aerr.Error()) + case ssooidc.ErrCodeInternalServerException: + fmt.Println(ssooidc.ErrCodeInternalServerException, aerr.Error()) + case ssooidc.ErrCodeInvalidRequestRegionException: + fmt.Println(ssooidc.ErrCodeInvalidRequestRegionException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Call OAuth/OIDC /token endpoint for JWT Bearer grant with IAM authentication +// + +func ExampleSSOOIDC_CreateTokenWithIAM_shared02() { + svc := ssooidc.New(session.New()) + input := &ssooidc.CreateTokenWithIAMInput{ + Assertion: aws.String("eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjFMVE16YWtpaGlSbGFfOHoyQkVKVlhlV01xbyJ9.eyJ2ZXIiOiIyLjAiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vOTEyMjA0MGQtNmM2Ny00YzViLWIxMTItMzZhMzA0YjY2ZGFkL3YyLjAiLCJzdWIiOiJBQUFBQUFBQUFBQUFBQUFBQUFBQUFJa3pxRlZyU2FTYUZIeTc4MmJidGFRIiwiYXVkIjoiNmNiMDQwMTgtYTNmNS00NmE3LWI5OTUtOTQwYzc4ZjVhZWYzIiwiZXhwIjoxNTM2MzYxNDExLCJpYXQiOjE1MzYyNzQ3MTEsIm5iZiI6MTUzNjI3NDcxMSwibmFtZSI6IkFiZSBMaW5jb2xuIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiQWJlTGlAbWljcm9zb2Z0LmNvbSIsIm9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC02NmYzLTMzMzJlY2E3ZWE4MSIsInRpZCI6IjkxMjIwNDBkLTZjNjctNGM1Yi1iMTEyLTM2YTMwNGI2NmRhZCIsIm5vbmNlIjoiMTIzNTIzIiwiYWlvIjoiRGYyVVZYTDFpeCFsTUNXTVNPSkJjRmF0emNHZnZGR2hqS3Y4cTVnMHg3MzJkUjVNQjVCaXN2R1FPN1lXQnlqZDhpUURMcSFlR2JJRGFreXA1bW5PcmNkcUhlWVNubHRlcFFtUnA2QUlaOGpZIn0.1AFWW-Ck5nROwSlltm7GzZvDwUkqvhSQpm55TQsmVo9Y59cLhRXpvB8n-55HCr9Z6G_31_UbeUkoz612I2j_Sm9FFShSDDjoaLQr54CreGIJvjtmS3EkK9a7SJBbcpL1MpUtlfygow39tFjY7EVNW9plWUvRrTgVk7lYLprvfzw-CIqw3gHC-T7IK_m_xkr08INERBtaecwhTeN4chPC4W3jdmw_lIxzC48YoQ0dB1L9-ImX98Egypfrlbm0IBL5spFzL6JDZIRRJOu8vecJvj1mq-IUhGt0MacxX8jdxYLP-KUu2d9MbNKpCKJuZ7p8gwTL5B7NlUdh_dmSviPWrw"), + ClientId: aws.String("arn:aws:sso::123456789012:application/ssoins-111111111111/apl-222222222222"), + GrantType: aws.String("urn:ietf:params:oauth:grant-type:jwt-bearer"), + } + + result, err := svc.CreateTokenWithIAM(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case ssooidc.ErrCodeInvalidRequestException: + fmt.Println(ssooidc.ErrCodeInvalidRequestException, aerr.Error()) + case ssooidc.ErrCodeInvalidClientException: + fmt.Println(ssooidc.ErrCodeInvalidClientException, aerr.Error()) + case ssooidc.ErrCodeInvalidGrantException: + fmt.Println(ssooidc.ErrCodeInvalidGrantException, aerr.Error()) + case ssooidc.ErrCodeUnauthorizedClientException: + fmt.Println(ssooidc.ErrCodeUnauthorizedClientException, aerr.Error()) + case ssooidc.ErrCodeUnsupportedGrantTypeException: + fmt.Println(ssooidc.ErrCodeUnsupportedGrantTypeException, aerr.Error()) + case ssooidc.ErrCodeInvalidScopeException: + fmt.Println(ssooidc.ErrCodeInvalidScopeException, aerr.Error()) + case ssooidc.ErrCodeAuthorizationPendingException: + fmt.Println(ssooidc.ErrCodeAuthorizationPendingException, aerr.Error()) + case ssooidc.ErrCodeSlowDownException: + fmt.Println(ssooidc.ErrCodeSlowDownException, aerr.Error()) + case ssooidc.ErrCodeAccessDeniedException: + fmt.Println(ssooidc.ErrCodeAccessDeniedException, aerr.Error()) + case ssooidc.ErrCodeExpiredTokenException: + fmt.Println(ssooidc.ErrCodeExpiredTokenException, aerr.Error()) + case ssooidc.ErrCodeInternalServerException: + fmt.Println(ssooidc.ErrCodeInternalServerException, aerr.Error()) + case ssooidc.ErrCodeInvalidRequestRegionException: + fmt.Println(ssooidc.ErrCodeInvalidRequestRegionException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Call OAuth/OIDC /token endpoint for Token Exchange grant with IAM authentication +// + +func ExampleSSOOIDC_CreateTokenWithIAM_shared03() { + svc := ssooidc.New(session.New()) + input := &ssooidc.CreateTokenWithIAMInput{ + ClientId: aws.String("arn:aws:sso::123456789012:application/ssoins-111111111111/apl-222222222222"), + GrantType: aws.String("urn:ietf:params:oauth:grant-type:token-exchange"), + RequestedTokenType: aws.String("urn:ietf:params:oauth:token-type:access_token"), + SubjectToken: aws.String("aoak-Hig8TUDPNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZDIFFERENTACCESSTOKEN"), + SubjectTokenType: aws.String("urn:ietf:params:oauth:token-type:access_token"), + } + + result, err := svc.CreateTokenWithIAM(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case ssooidc.ErrCodeInvalidRequestException: + fmt.Println(ssooidc.ErrCodeInvalidRequestException, aerr.Error()) + case ssooidc.ErrCodeInvalidClientException: + fmt.Println(ssooidc.ErrCodeInvalidClientException, aerr.Error()) + case ssooidc.ErrCodeInvalidGrantException: + fmt.Println(ssooidc.ErrCodeInvalidGrantException, aerr.Error()) + case ssooidc.ErrCodeUnauthorizedClientException: + fmt.Println(ssooidc.ErrCodeUnauthorizedClientException, aerr.Error()) + case ssooidc.ErrCodeUnsupportedGrantTypeException: + fmt.Println(ssooidc.ErrCodeUnsupportedGrantTypeException, aerr.Error()) + case ssooidc.ErrCodeInvalidScopeException: + fmt.Println(ssooidc.ErrCodeInvalidScopeException, aerr.Error()) + case ssooidc.ErrCodeAuthorizationPendingException: + fmt.Println(ssooidc.ErrCodeAuthorizationPendingException, aerr.Error()) + case ssooidc.ErrCodeSlowDownException: + fmt.Println(ssooidc.ErrCodeSlowDownException, aerr.Error()) + case ssooidc.ErrCodeAccessDeniedException: + fmt.Println(ssooidc.ErrCodeAccessDeniedException, aerr.Error()) + case ssooidc.ErrCodeExpiredTokenException: + fmt.Println(ssooidc.ErrCodeExpiredTokenException, aerr.Error()) + case ssooidc.ErrCodeInternalServerException: + fmt.Println(ssooidc.ErrCodeInternalServerException, aerr.Error()) + case ssooidc.ErrCodeInvalidRequestRegionException: + fmt.Println(ssooidc.ErrCodeInvalidRequestRegionException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Call OAuth/OIDC /register-client endpoint +// + +func ExampleSSOOIDC_RegisterClient_shared00() { + svc := ssooidc.New(session.New()) + input := &ssooidc.RegisterClientInput{ + ClientName: aws.String("My IDE Plugin"), + ClientType: aws.String("public"), + Scopes: []*string{ + aws.String("sso:account:access"), + aws.String("codewhisperer:completions"), + }, + } + + result, err := svc.RegisterClient(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case ssooidc.ErrCodeInvalidRequestException: + fmt.Println(ssooidc.ErrCodeInvalidRequestException, aerr.Error()) + case ssooidc.ErrCodeInvalidScopeException: + fmt.Println(ssooidc.ErrCodeInvalidScopeException, aerr.Error()) + case ssooidc.ErrCodeInvalidClientMetadataException: + fmt.Println(ssooidc.ErrCodeInvalidClientMetadataException, aerr.Error()) + case ssooidc.ErrCodeInternalServerException: + fmt.Println(ssooidc.ErrCodeInternalServerException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Call OAuth/OIDC /start-device-authorization endpoint +// + +func ExampleSSOOIDC_StartDeviceAuthorization_shared00() { + svc := ssooidc.New(session.New()) + input := &ssooidc.StartDeviceAuthorizationInput{ + ClientId: aws.String("_yzkThXVzLWVhc3QtMQEXAMPLECLIENTID"), + ClientSecret: aws.String("VERYLONGSECRETeyJraWQiOiJrZXktMTU2NDAyODA5OSIsImFsZyI6IkhTMzg0In0"), + StartUrl: aws.String("https://identitycenter.amazonaws.com/ssoins-111111111111"), + } + + result, err := svc.StartDeviceAuthorization(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case ssooidc.ErrCodeInvalidRequestException: + fmt.Println(ssooidc.ErrCodeInvalidRequestException, aerr.Error()) + case ssooidc.ErrCodeInvalidClientException: + fmt.Println(ssooidc.ErrCodeInvalidClientException, aerr.Error()) + case ssooidc.ErrCodeUnauthorizedClientException: + fmt.Println(ssooidc.ErrCodeUnauthorizedClientException, aerr.Error()) + case ssooidc.ErrCodeSlowDownException: + fmt.Println(ssooidc.ErrCodeSlowDownException, aerr.Error()) + case ssooidc.ErrCodeInternalServerException: + fmt.Println(ssooidc.ErrCodeInternalServerException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} diff --git a/service/ssooidc/service.go b/service/ssooidc/service.go index 969f33c37b8..782bae3692d 100644 --- a/service/ssooidc/service.go +++ b/service/ssooidc/service.go @@ -51,7 +51,7 @@ const ( func New(p client.ConfigProvider, cfgs ...*aws.Config) *SSOOIDC { c := p.ClientConfig(EndpointsID, cfgs...) if c.SigningNameDerived || len(c.SigningName) == 0 { - c.SigningName = "awsssooidc" + c.SigningName = "sso-oauth" } return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) } diff --git a/service/ssooidc/ssooidciface/interface.go b/service/ssooidc/ssooidciface/interface.go index 55a544ff21a..6b688e5d8c4 100644 --- a/service/ssooidc/ssooidciface/interface.go +++ b/service/ssooidc/ssooidciface/interface.go @@ -64,6 +64,10 @@ type SSOOIDCAPI interface { CreateTokenWithContext(aws.Context, *ssooidc.CreateTokenInput, ...request.Option) (*ssooidc.CreateTokenOutput, error) CreateTokenRequest(*ssooidc.CreateTokenInput) (*request.Request, *ssooidc.CreateTokenOutput) + CreateTokenWithIAM(*ssooidc.CreateTokenWithIAMInput) (*ssooidc.CreateTokenWithIAMOutput, error) + CreateTokenWithIAMWithContext(aws.Context, *ssooidc.CreateTokenWithIAMInput, ...request.Option) (*ssooidc.CreateTokenWithIAMOutput, error) + CreateTokenWithIAMRequest(*ssooidc.CreateTokenWithIAMInput) (*request.Request, *ssooidc.CreateTokenWithIAMOutput) + RegisterClient(*ssooidc.RegisterClientInput) (*ssooidc.RegisterClientOutput, error) RegisterClientWithContext(aws.Context, *ssooidc.RegisterClientInput, ...request.Option) (*ssooidc.RegisterClientOutput, error) RegisterClientRequest(*ssooidc.RegisterClientInput) (*request.Request, *ssooidc.RegisterClientOutput) diff --git a/service/sts/api.go b/service/sts/api.go index 11af63b4d8b..9305b9010d1 100644 --- a/service/sts/api.go +++ b/service/sts/api.go @@ -1460,7 +1460,15 @@ type AssumeRoleInput struct { // in the IAM User Guide. PolicyArns []*PolicyDescriptorType `type:"list"` - // Reserved for future use. + // A list of previously acquired trusted context assertions in the format of + // a JSON array. The trusted context assertion is signed and encrypted by Amazon + // Web Services STS. + // + // The following is an example of a ProvidedContext value that includes a single + // trusted context assertion and the ARN of the context provider from which + // the trusted context assertion was generated. + // + // [{"ProviderArn":"arn:aws:iam::aws:contextProvider/identitycenter","ContextAssertion":"trusted-context-assertion"}] ProvidedContexts []*ProvidedContext `type:"list"` // The Amazon Resource Name (ARN) of the role to assume. @@ -3405,14 +3413,18 @@ func (s *PolicyDescriptorType) SetArn(v string) *PolicyDescriptorType { return s } -// Reserved for future use. +// Contains information about the provided context. This includes the signed +// and encrypted trusted context assertion and the context provider ARN from +// which the trusted context assertion was generated. type ProvidedContext struct { _ struct{} `type:"structure"` - // Reserved for future use. + // The signed and encrypted trusted context assertion generated by the context + // provider. The trusted context assertion is signed and encrypted by Amazon + // Web Services STS. ContextAssertion *string `min:"4" type:"string"` - // Reserved for future use. + // The context provider ARN from which the trusted context assertion was generated. ProviderArn *string `min:"20" type:"string"` } diff --git a/service/trustedadvisor/api.go b/service/trustedadvisor/api.go new file mode 100644 index 00000000000..273cfc328a3 --- /dev/null +++ b/service/trustedadvisor/api.go @@ -0,0 +1,4633 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package trustedadvisor + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opGetOrganizationRecommendation = "GetOrganizationRecommendation" + +// GetOrganizationRecommendationRequest generates a "aws/request.Request" representing the +// client's request for the GetOrganizationRecommendation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetOrganizationRecommendation for more information on using the GetOrganizationRecommendation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetOrganizationRecommendationRequest method. +// req, resp := client.GetOrganizationRecommendationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/GetOrganizationRecommendation +func (c *TrustedAdvisor) GetOrganizationRecommendationRequest(input *GetOrganizationRecommendationInput) (req *request.Request, output *GetOrganizationRecommendationOutput) { + op := &request.Operation{ + Name: opGetOrganizationRecommendation, + HTTPMethod: "GET", + HTTPPath: "/v1/organization-recommendations/{organizationRecommendationIdentifier}", + } + + if input == nil { + input = &GetOrganizationRecommendationInput{} + } + + output = &GetOrganizationRecommendationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetOrganizationRecommendation API operation for TrustedAdvisor Public API. +// +// Get a specific recommendation within an AWS Organizations organization. This +// API supports only prioritized recommendations. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for TrustedAdvisor Public API's +// API operation GetOrganizationRecommendation for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// Exception that access has been denied due to insufficient access +// +// - InternalServerException +// Exception to notify that an unexpected internal error occurred during processing +// of the request +// +// - ValidationException +// Exception that the request failed to satisfy service constraints +// +// - ResourceNotFoundException +// Exception that the requested resource has not been found +// +// - ThrottlingException +// Exception to notify that requests are being throttled +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/GetOrganizationRecommendation +func (c *TrustedAdvisor) GetOrganizationRecommendation(input *GetOrganizationRecommendationInput) (*GetOrganizationRecommendationOutput, error) { + req, out := c.GetOrganizationRecommendationRequest(input) + return out, req.Send() +} + +// GetOrganizationRecommendationWithContext is the same as GetOrganizationRecommendation with the addition of +// the ability to pass a context and additional request options. +// +// See GetOrganizationRecommendation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *TrustedAdvisor) GetOrganizationRecommendationWithContext(ctx aws.Context, input *GetOrganizationRecommendationInput, opts ...request.Option) (*GetOrganizationRecommendationOutput, error) { + req, out := c.GetOrganizationRecommendationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetRecommendation = "GetRecommendation" + +// GetRecommendationRequest generates a "aws/request.Request" representing the +// client's request for the GetRecommendation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetRecommendation for more information on using the GetRecommendation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetRecommendationRequest method. +// req, resp := client.GetRecommendationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/GetRecommendation +func (c *TrustedAdvisor) GetRecommendationRequest(input *GetRecommendationInput) (req *request.Request, output *GetRecommendationOutput) { + op := &request.Operation{ + Name: opGetRecommendation, + HTTPMethod: "GET", + HTTPPath: "/v1/recommendations/{recommendationIdentifier}", + } + + if input == nil { + input = &GetRecommendationInput{} + } + + output = &GetRecommendationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetRecommendation API operation for TrustedAdvisor Public API. +// +// # Get a specific Recommendation +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for TrustedAdvisor Public API's +// API operation GetRecommendation for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// Exception that access has been denied due to insufficient access +// +// - InternalServerException +// Exception to notify that an unexpected internal error occurred during processing +// of the request +// +// - ValidationException +// Exception that the request failed to satisfy service constraints +// +// - ResourceNotFoundException +// Exception that the requested resource has not been found +// +// - ThrottlingException +// Exception to notify that requests are being throttled +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/GetRecommendation +func (c *TrustedAdvisor) GetRecommendation(input *GetRecommendationInput) (*GetRecommendationOutput, error) { + req, out := c.GetRecommendationRequest(input) + return out, req.Send() +} + +// GetRecommendationWithContext is the same as GetRecommendation with the addition of +// the ability to pass a context and additional request options. +// +// See GetRecommendation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *TrustedAdvisor) GetRecommendationWithContext(ctx aws.Context, input *GetRecommendationInput, opts ...request.Option) (*GetRecommendationOutput, error) { + req, out := c.GetRecommendationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListChecks = "ListChecks" + +// ListChecksRequest generates a "aws/request.Request" representing the +// client's request for the ListChecks operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListChecks for more information on using the ListChecks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListChecksRequest method. +// req, resp := client.ListChecksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListChecks +func (c *TrustedAdvisor) ListChecksRequest(input *ListChecksInput) (req *request.Request, output *ListChecksOutput) { + op := &request.Operation{ + Name: opListChecks, + HTTPMethod: "GET", + HTTPPath: "/v1/checks", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListChecksInput{} + } + + output = &ListChecksOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListChecks API operation for TrustedAdvisor Public API. +// +// # List a filterable set of Checks +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for TrustedAdvisor Public API's +// API operation ListChecks for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// Exception that access has been denied due to insufficient access +// +// - InternalServerException +// Exception to notify that an unexpected internal error occurred during processing +// of the request +// +// - ValidationException +// Exception that the request failed to satisfy service constraints +// +// - ThrottlingException +// Exception to notify that requests are being throttled +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListChecks +func (c *TrustedAdvisor) ListChecks(input *ListChecksInput) (*ListChecksOutput, error) { + req, out := c.ListChecksRequest(input) + return out, req.Send() +} + +// ListChecksWithContext is the same as ListChecks with the addition of +// the ability to pass a context and additional request options. +// +// See ListChecks for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *TrustedAdvisor) ListChecksWithContext(ctx aws.Context, input *ListChecksInput, opts ...request.Option) (*ListChecksOutput, error) { + req, out := c.ListChecksRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListChecksPages iterates over the pages of a ListChecks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListChecks 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 ListChecks operation. +// pageNum := 0 +// err := client.ListChecksPages(params, +// func(page *trustedadvisor.ListChecksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *TrustedAdvisor) ListChecksPages(input *ListChecksInput, fn func(*ListChecksOutput, bool) bool) error { + return c.ListChecksPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListChecksPagesWithContext same as ListChecksPages 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 *TrustedAdvisor) ListChecksPagesWithContext(ctx aws.Context, input *ListChecksInput, fn func(*ListChecksOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListChecksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListChecksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListChecksOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListOrganizationRecommendationAccounts = "ListOrganizationRecommendationAccounts" + +// ListOrganizationRecommendationAccountsRequest generates a "aws/request.Request" representing the +// client's request for the ListOrganizationRecommendationAccounts operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListOrganizationRecommendationAccounts for more information on using the ListOrganizationRecommendationAccounts +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListOrganizationRecommendationAccountsRequest method. +// req, resp := client.ListOrganizationRecommendationAccountsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListOrganizationRecommendationAccounts +func (c *TrustedAdvisor) ListOrganizationRecommendationAccountsRequest(input *ListOrganizationRecommendationAccountsInput) (req *request.Request, output *ListOrganizationRecommendationAccountsOutput) { + op := &request.Operation{ + Name: opListOrganizationRecommendationAccounts, + HTTPMethod: "GET", + HTTPPath: "/v1/organization-recommendations/{organizationRecommendationIdentifier}/accounts", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListOrganizationRecommendationAccountsInput{} + } + + output = &ListOrganizationRecommendationAccountsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListOrganizationRecommendationAccounts API operation for TrustedAdvisor Public API. +// +// Lists the accounts that own the resources for an organization aggregate recommendation. +// This API only supports prioritized recommendations. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for TrustedAdvisor Public API's +// API operation ListOrganizationRecommendationAccounts for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// Exception that access has been denied due to insufficient access +// +// - InternalServerException +// Exception to notify that an unexpected internal error occurred during processing +// of the request +// +// - ValidationException +// Exception that the request failed to satisfy service constraints +// +// - ResourceNotFoundException +// Exception that the requested resource has not been found +// +// - ThrottlingException +// Exception to notify that requests are being throttled +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListOrganizationRecommendationAccounts +func (c *TrustedAdvisor) ListOrganizationRecommendationAccounts(input *ListOrganizationRecommendationAccountsInput) (*ListOrganizationRecommendationAccountsOutput, error) { + req, out := c.ListOrganizationRecommendationAccountsRequest(input) + return out, req.Send() +} + +// ListOrganizationRecommendationAccountsWithContext is the same as ListOrganizationRecommendationAccounts with the addition of +// the ability to pass a context and additional request options. +// +// See ListOrganizationRecommendationAccounts for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *TrustedAdvisor) ListOrganizationRecommendationAccountsWithContext(ctx aws.Context, input *ListOrganizationRecommendationAccountsInput, opts ...request.Option) (*ListOrganizationRecommendationAccountsOutput, error) { + req, out := c.ListOrganizationRecommendationAccountsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListOrganizationRecommendationAccountsPages iterates over the pages of a ListOrganizationRecommendationAccounts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListOrganizationRecommendationAccounts 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 ListOrganizationRecommendationAccounts operation. +// pageNum := 0 +// err := client.ListOrganizationRecommendationAccountsPages(params, +// func(page *trustedadvisor.ListOrganizationRecommendationAccountsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *TrustedAdvisor) ListOrganizationRecommendationAccountsPages(input *ListOrganizationRecommendationAccountsInput, fn func(*ListOrganizationRecommendationAccountsOutput, bool) bool) error { + return c.ListOrganizationRecommendationAccountsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListOrganizationRecommendationAccountsPagesWithContext same as ListOrganizationRecommendationAccountsPages 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 *TrustedAdvisor) ListOrganizationRecommendationAccountsPagesWithContext(ctx aws.Context, input *ListOrganizationRecommendationAccountsInput, fn func(*ListOrganizationRecommendationAccountsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListOrganizationRecommendationAccountsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListOrganizationRecommendationAccountsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListOrganizationRecommendationAccountsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListOrganizationRecommendationResources = "ListOrganizationRecommendationResources" + +// ListOrganizationRecommendationResourcesRequest generates a "aws/request.Request" representing the +// client's request for the ListOrganizationRecommendationResources operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListOrganizationRecommendationResources for more information on using the ListOrganizationRecommendationResources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListOrganizationRecommendationResourcesRequest method. +// req, resp := client.ListOrganizationRecommendationResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListOrganizationRecommendationResources +func (c *TrustedAdvisor) ListOrganizationRecommendationResourcesRequest(input *ListOrganizationRecommendationResourcesInput) (req *request.Request, output *ListOrganizationRecommendationResourcesOutput) { + op := &request.Operation{ + Name: opListOrganizationRecommendationResources, + HTTPMethod: "GET", + HTTPPath: "/v1/organization-recommendations/{organizationRecommendationIdentifier}/resources", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListOrganizationRecommendationResourcesInput{} + } + + output = &ListOrganizationRecommendationResourcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListOrganizationRecommendationResources API operation for TrustedAdvisor Public API. +// +// List Resources of a Recommendation within an Organization. This API only +// supports prioritized recommendations. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for TrustedAdvisor Public API's +// API operation ListOrganizationRecommendationResources for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// Exception that access has been denied due to insufficient access +// +// - InternalServerException +// Exception to notify that an unexpected internal error occurred during processing +// of the request +// +// - ValidationException +// Exception that the request failed to satisfy service constraints +// +// - ResourceNotFoundException +// Exception that the requested resource has not been found +// +// - ThrottlingException +// Exception to notify that requests are being throttled +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListOrganizationRecommendationResources +func (c *TrustedAdvisor) ListOrganizationRecommendationResources(input *ListOrganizationRecommendationResourcesInput) (*ListOrganizationRecommendationResourcesOutput, error) { + req, out := c.ListOrganizationRecommendationResourcesRequest(input) + return out, req.Send() +} + +// ListOrganizationRecommendationResourcesWithContext is the same as ListOrganizationRecommendationResources with the addition of +// the ability to pass a context and additional request options. +// +// See ListOrganizationRecommendationResources for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *TrustedAdvisor) ListOrganizationRecommendationResourcesWithContext(ctx aws.Context, input *ListOrganizationRecommendationResourcesInput, opts ...request.Option) (*ListOrganizationRecommendationResourcesOutput, error) { + req, out := c.ListOrganizationRecommendationResourcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListOrganizationRecommendationResourcesPages iterates over the pages of a ListOrganizationRecommendationResources operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListOrganizationRecommendationResources 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 ListOrganizationRecommendationResources operation. +// pageNum := 0 +// err := client.ListOrganizationRecommendationResourcesPages(params, +// func(page *trustedadvisor.ListOrganizationRecommendationResourcesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *TrustedAdvisor) ListOrganizationRecommendationResourcesPages(input *ListOrganizationRecommendationResourcesInput, fn func(*ListOrganizationRecommendationResourcesOutput, bool) bool) error { + return c.ListOrganizationRecommendationResourcesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListOrganizationRecommendationResourcesPagesWithContext same as ListOrganizationRecommendationResourcesPages 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 *TrustedAdvisor) ListOrganizationRecommendationResourcesPagesWithContext(ctx aws.Context, input *ListOrganizationRecommendationResourcesInput, fn func(*ListOrganizationRecommendationResourcesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListOrganizationRecommendationResourcesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListOrganizationRecommendationResourcesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListOrganizationRecommendationResourcesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListOrganizationRecommendations = "ListOrganizationRecommendations" + +// ListOrganizationRecommendationsRequest generates a "aws/request.Request" representing the +// client's request for the ListOrganizationRecommendations operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListOrganizationRecommendations for more information on using the ListOrganizationRecommendations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListOrganizationRecommendationsRequest method. +// req, resp := client.ListOrganizationRecommendationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListOrganizationRecommendations +func (c *TrustedAdvisor) ListOrganizationRecommendationsRequest(input *ListOrganizationRecommendationsInput) (req *request.Request, output *ListOrganizationRecommendationsOutput) { + op := &request.Operation{ + Name: opListOrganizationRecommendations, + HTTPMethod: "GET", + HTTPPath: "/v1/organization-recommendations", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListOrganizationRecommendationsInput{} + } + + output = &ListOrganizationRecommendationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListOrganizationRecommendations API operation for TrustedAdvisor Public API. +// +// List a filterable set of Recommendations within an Organization. This API +// only supports prioritized recommendations. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for TrustedAdvisor Public API's +// API operation ListOrganizationRecommendations for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// Exception that access has been denied due to insufficient access +// +// - InternalServerException +// Exception to notify that an unexpected internal error occurred during processing +// of the request +// +// - ValidationException +// Exception that the request failed to satisfy service constraints +// +// - ThrottlingException +// Exception to notify that requests are being throttled +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListOrganizationRecommendations +func (c *TrustedAdvisor) ListOrganizationRecommendations(input *ListOrganizationRecommendationsInput) (*ListOrganizationRecommendationsOutput, error) { + req, out := c.ListOrganizationRecommendationsRequest(input) + return out, req.Send() +} + +// ListOrganizationRecommendationsWithContext is the same as ListOrganizationRecommendations with the addition of +// the ability to pass a context and additional request options. +// +// See ListOrganizationRecommendations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *TrustedAdvisor) ListOrganizationRecommendationsWithContext(ctx aws.Context, input *ListOrganizationRecommendationsInput, opts ...request.Option) (*ListOrganizationRecommendationsOutput, error) { + req, out := c.ListOrganizationRecommendationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListOrganizationRecommendationsPages iterates over the pages of a ListOrganizationRecommendations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListOrganizationRecommendations 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 ListOrganizationRecommendations operation. +// pageNum := 0 +// err := client.ListOrganizationRecommendationsPages(params, +// func(page *trustedadvisor.ListOrganizationRecommendationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *TrustedAdvisor) ListOrganizationRecommendationsPages(input *ListOrganizationRecommendationsInput, fn func(*ListOrganizationRecommendationsOutput, bool) bool) error { + return c.ListOrganizationRecommendationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListOrganizationRecommendationsPagesWithContext same as ListOrganizationRecommendationsPages 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 *TrustedAdvisor) ListOrganizationRecommendationsPagesWithContext(ctx aws.Context, input *ListOrganizationRecommendationsInput, fn func(*ListOrganizationRecommendationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListOrganizationRecommendationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListOrganizationRecommendationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListOrganizationRecommendationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListRecommendationResources = "ListRecommendationResources" + +// ListRecommendationResourcesRequest generates a "aws/request.Request" representing the +// client's request for the ListRecommendationResources operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListRecommendationResources for more information on using the ListRecommendationResources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListRecommendationResourcesRequest method. +// req, resp := client.ListRecommendationResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListRecommendationResources +func (c *TrustedAdvisor) ListRecommendationResourcesRequest(input *ListRecommendationResourcesInput) (req *request.Request, output *ListRecommendationResourcesOutput) { + op := &request.Operation{ + Name: opListRecommendationResources, + HTTPMethod: "GET", + HTTPPath: "/v1/recommendations/{recommendationIdentifier}/resources", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListRecommendationResourcesInput{} + } + + output = &ListRecommendationResourcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListRecommendationResources API operation for TrustedAdvisor Public API. +// +// # List Resources of a Recommendation +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for TrustedAdvisor Public API's +// API operation ListRecommendationResources for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// Exception that access has been denied due to insufficient access +// +// - InternalServerException +// Exception to notify that an unexpected internal error occurred during processing +// of the request +// +// - ValidationException +// Exception that the request failed to satisfy service constraints +// +// - ResourceNotFoundException +// Exception that the requested resource has not been found +// +// - ThrottlingException +// Exception to notify that requests are being throttled +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListRecommendationResources +func (c *TrustedAdvisor) ListRecommendationResources(input *ListRecommendationResourcesInput) (*ListRecommendationResourcesOutput, error) { + req, out := c.ListRecommendationResourcesRequest(input) + return out, req.Send() +} + +// ListRecommendationResourcesWithContext is the same as ListRecommendationResources with the addition of +// the ability to pass a context and additional request options. +// +// See ListRecommendationResources for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *TrustedAdvisor) ListRecommendationResourcesWithContext(ctx aws.Context, input *ListRecommendationResourcesInput, opts ...request.Option) (*ListRecommendationResourcesOutput, error) { + req, out := c.ListRecommendationResourcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListRecommendationResourcesPages iterates over the pages of a ListRecommendationResources operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRecommendationResources 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 ListRecommendationResources operation. +// pageNum := 0 +// err := client.ListRecommendationResourcesPages(params, +// func(page *trustedadvisor.ListRecommendationResourcesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *TrustedAdvisor) ListRecommendationResourcesPages(input *ListRecommendationResourcesInput, fn func(*ListRecommendationResourcesOutput, bool) bool) error { + return c.ListRecommendationResourcesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListRecommendationResourcesPagesWithContext same as ListRecommendationResourcesPages 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 *TrustedAdvisor) ListRecommendationResourcesPagesWithContext(ctx aws.Context, input *ListRecommendationResourcesInput, fn func(*ListRecommendationResourcesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRecommendationResourcesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRecommendationResourcesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListRecommendationResourcesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListRecommendations = "ListRecommendations" + +// ListRecommendationsRequest generates a "aws/request.Request" representing the +// client's request for the ListRecommendations operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListRecommendations for more information on using the ListRecommendations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListRecommendationsRequest method. +// req, resp := client.ListRecommendationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListRecommendations +func (c *TrustedAdvisor) ListRecommendationsRequest(input *ListRecommendationsInput) (req *request.Request, output *ListRecommendationsOutput) { + op := &request.Operation{ + Name: opListRecommendations, + HTTPMethod: "GET", + HTTPPath: "/v1/recommendations", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListRecommendationsInput{} + } + + output = &ListRecommendationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListRecommendations API operation for TrustedAdvisor Public API. +// +// # List a filterable set of Recommendations +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for TrustedAdvisor Public API's +// API operation ListRecommendations for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// Exception that access has been denied due to insufficient access +// +// - InternalServerException +// Exception to notify that an unexpected internal error occurred during processing +// of the request +// +// - ValidationException +// Exception that the request failed to satisfy service constraints +// +// - ThrottlingException +// Exception to notify that requests are being throttled +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListRecommendations +func (c *TrustedAdvisor) ListRecommendations(input *ListRecommendationsInput) (*ListRecommendationsOutput, error) { + req, out := c.ListRecommendationsRequest(input) + return out, req.Send() +} + +// ListRecommendationsWithContext is the same as ListRecommendations with the addition of +// the ability to pass a context and additional request options. +// +// See ListRecommendations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *TrustedAdvisor) ListRecommendationsWithContext(ctx aws.Context, input *ListRecommendationsInput, opts ...request.Option) (*ListRecommendationsOutput, error) { + req, out := c.ListRecommendationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListRecommendationsPages iterates over the pages of a ListRecommendations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRecommendations 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 ListRecommendations operation. +// pageNum := 0 +// err := client.ListRecommendationsPages(params, +// func(page *trustedadvisor.ListRecommendationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *TrustedAdvisor) ListRecommendationsPages(input *ListRecommendationsInput, fn func(*ListRecommendationsOutput, bool) bool) error { + return c.ListRecommendationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListRecommendationsPagesWithContext same as ListRecommendationsPages 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 *TrustedAdvisor) ListRecommendationsPagesWithContext(ctx aws.Context, input *ListRecommendationsInput, fn func(*ListRecommendationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRecommendationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRecommendationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListRecommendationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opUpdateOrganizationRecommendationLifecycle = "UpdateOrganizationRecommendationLifecycle" + +// UpdateOrganizationRecommendationLifecycleRequest generates a "aws/request.Request" representing the +// client's request for the UpdateOrganizationRecommendationLifecycle operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateOrganizationRecommendationLifecycle for more information on using the UpdateOrganizationRecommendationLifecycle +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateOrganizationRecommendationLifecycleRequest method. +// req, resp := client.UpdateOrganizationRecommendationLifecycleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/UpdateOrganizationRecommendationLifecycle +func (c *TrustedAdvisor) UpdateOrganizationRecommendationLifecycleRequest(input *UpdateOrganizationRecommendationLifecycleInput) (req *request.Request, output *UpdateOrganizationRecommendationLifecycleOutput) { + op := &request.Operation{ + Name: opUpdateOrganizationRecommendationLifecycle, + HTTPMethod: "PUT", + HTTPPath: "/v1/organization-recommendations/{organizationRecommendationIdentifier}/lifecycle", + } + + if input == nil { + input = &UpdateOrganizationRecommendationLifecycleInput{} + } + + output = &UpdateOrganizationRecommendationLifecycleOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateOrganizationRecommendationLifecycle API operation for TrustedAdvisor Public API. +// +// Update the lifecyle of a Recommendation within an Organization. This API +// only supports prioritized recommendations. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for TrustedAdvisor Public API's +// API operation UpdateOrganizationRecommendationLifecycle for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// Exception that access has been denied due to insufficient access +// +// - ConflictException +// Exception that the request was denied due to conflictions in state +// +// - InternalServerException +// Exception to notify that an unexpected internal error occurred during processing +// of the request +// +// - ValidationException +// Exception that the request failed to satisfy service constraints +// +// - ResourceNotFoundException +// Exception that the requested resource has not been found +// +// - ThrottlingException +// Exception to notify that requests are being throttled +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/UpdateOrganizationRecommendationLifecycle +func (c *TrustedAdvisor) UpdateOrganizationRecommendationLifecycle(input *UpdateOrganizationRecommendationLifecycleInput) (*UpdateOrganizationRecommendationLifecycleOutput, error) { + req, out := c.UpdateOrganizationRecommendationLifecycleRequest(input) + return out, req.Send() +} + +// UpdateOrganizationRecommendationLifecycleWithContext is the same as UpdateOrganizationRecommendationLifecycle with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateOrganizationRecommendationLifecycle for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *TrustedAdvisor) UpdateOrganizationRecommendationLifecycleWithContext(ctx aws.Context, input *UpdateOrganizationRecommendationLifecycleInput, opts ...request.Option) (*UpdateOrganizationRecommendationLifecycleOutput, error) { + req, out := c.UpdateOrganizationRecommendationLifecycleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRecommendationLifecycle = "UpdateRecommendationLifecycle" + +// UpdateRecommendationLifecycleRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRecommendationLifecycle operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateRecommendationLifecycle for more information on using the UpdateRecommendationLifecycle +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateRecommendationLifecycleRequest method. +// req, resp := client.UpdateRecommendationLifecycleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/UpdateRecommendationLifecycle +func (c *TrustedAdvisor) UpdateRecommendationLifecycleRequest(input *UpdateRecommendationLifecycleInput) (req *request.Request, output *UpdateRecommendationLifecycleOutput) { + op := &request.Operation{ + Name: opUpdateRecommendationLifecycle, + HTTPMethod: "PUT", + HTTPPath: "/v1/recommendations/{recommendationIdentifier}/lifecycle", + } + + if input == nil { + input = &UpdateRecommendationLifecycleInput{} + } + + output = &UpdateRecommendationLifecycleOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateRecommendationLifecycle API operation for TrustedAdvisor Public API. +// +// Update the lifecyle of a Recommendation. This API only supports prioritized +// recommendations. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for TrustedAdvisor Public API's +// API operation UpdateRecommendationLifecycle for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// Exception that access has been denied due to insufficient access +// +// - ConflictException +// Exception that the request was denied due to conflictions in state +// +// - InternalServerException +// Exception to notify that an unexpected internal error occurred during processing +// of the request +// +// - ValidationException +// Exception that the request failed to satisfy service constraints +// +// - ResourceNotFoundException +// Exception that the requested resource has not been found +// +// - ThrottlingException +// Exception to notify that requests are being throttled +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/UpdateRecommendationLifecycle +func (c *TrustedAdvisor) UpdateRecommendationLifecycle(input *UpdateRecommendationLifecycleInput) (*UpdateRecommendationLifecycleOutput, error) { + req, out := c.UpdateRecommendationLifecycleRequest(input) + return out, req.Send() +} + +// UpdateRecommendationLifecycleWithContext is the same as UpdateRecommendationLifecycle with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRecommendationLifecycle for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *TrustedAdvisor) UpdateRecommendationLifecycleWithContext(ctx aws.Context, input *UpdateRecommendationLifecycleInput, opts ...request.Option) (*UpdateRecommendationLifecycleOutput, error) { + req, out := c.UpdateRecommendationLifecycleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Exception that access has been denied due to insufficient access +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +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", s.Code(), s.Message()) +} + +// 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 +} + +// Summary of an AccountRecommendationLifecycle for an Organization Recommendation +type AccountRecommendationLifecycleSummary struct { + _ struct{} `type:"structure"` + + // The AWS account ID + AccountId *string `locationName:"accountId" min:"12" type:"string"` + + // The Recommendation ARN + AccountRecommendationArn *string `locationName:"accountRecommendationArn" min:"20" type:"string"` + + // When the Recommendation was last updated + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" timestampFormat:"iso8601"` + + // The lifecycle stage from AWS Trusted Advisor Priority + LifecycleStage *string `locationName:"lifecycleStage" type:"string" enum:"RecommendationLifecycleStage"` + + // Reason for the lifecycle stage change + // + // UpdateReason is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by AccountRecommendationLifecycleSummary's + // String and GoString methods. + UpdateReason *string `locationName:"updateReason" min:"10" type:"string" sensitive:"true"` + + // Reason code for the lifecycle state change + UpdateReasonCode *string `locationName:"updateReasonCode" type:"string" enum:"UpdateRecommendationLifecycleStageReasonCode"` + + // The person on whose behalf a Technical Account Manager (TAM) updated the + // recommendation. This information is only available when a Technical Account + // Manager takes an action on a recommendation managed by AWS Trusted Advisor + // Priority + UpdatedOnBehalfOf *string `locationName:"updatedOnBehalfOf" type:"string"` + + // The job title of the person on whose behalf a Technical Account Manager (TAM) + // updated the recommendation. This information is only available when a Technical + // Account Manager takes an action on a recommendation managed by AWS Trusted + // Advisor Priority + UpdatedOnBehalfOfJobTitle *string `locationName:"updatedOnBehalfOfJobTitle" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccountRecommendationLifecycleSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccountRecommendationLifecycleSummary) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *AccountRecommendationLifecycleSummary) SetAccountId(v string) *AccountRecommendationLifecycleSummary { + s.AccountId = &v + return s +} + +// SetAccountRecommendationArn sets the AccountRecommendationArn field's value. +func (s *AccountRecommendationLifecycleSummary) SetAccountRecommendationArn(v string) *AccountRecommendationLifecycleSummary { + s.AccountRecommendationArn = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *AccountRecommendationLifecycleSummary) SetLastUpdatedAt(v time.Time) *AccountRecommendationLifecycleSummary { + s.LastUpdatedAt = &v + return s +} + +// SetLifecycleStage sets the LifecycleStage field's value. +func (s *AccountRecommendationLifecycleSummary) SetLifecycleStage(v string) *AccountRecommendationLifecycleSummary { + s.LifecycleStage = &v + return s +} + +// SetUpdateReason sets the UpdateReason field's value. +func (s *AccountRecommendationLifecycleSummary) SetUpdateReason(v string) *AccountRecommendationLifecycleSummary { + s.UpdateReason = &v + return s +} + +// SetUpdateReasonCode sets the UpdateReasonCode field's value. +func (s *AccountRecommendationLifecycleSummary) SetUpdateReasonCode(v string) *AccountRecommendationLifecycleSummary { + s.UpdateReasonCode = &v + return s +} + +// SetUpdatedOnBehalfOf sets the UpdatedOnBehalfOf field's value. +func (s *AccountRecommendationLifecycleSummary) SetUpdatedOnBehalfOf(v string) *AccountRecommendationLifecycleSummary { + s.UpdatedOnBehalfOf = &v + return s +} + +// SetUpdatedOnBehalfOfJobTitle sets the UpdatedOnBehalfOfJobTitle field's value. +func (s *AccountRecommendationLifecycleSummary) SetUpdatedOnBehalfOfJobTitle(v string) *AccountRecommendationLifecycleSummary { + s.UpdatedOnBehalfOfJobTitle = &v + return s +} + +// A summary of an AWS Trusted Advisor Check +type CheckSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the AWS Trusted Advisor Check + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The AWS Services that the Check applies to + // + // AwsServices is a required field + AwsServices []*string `locationName:"awsServices" type:"list" required:"true"` + + // A description of what the AWS Trusted Advisor Check is monitoring + // + // Description is a required field + Description *string `locationName:"description" type:"string" required:"true"` + + // The unique identifier of the AWS Trusted Advisor Check + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // The column headings for the metadata returned in the resource + // + // Metadata is a required field + Metadata map[string]*string `locationName:"metadata" type:"map" required:"true"` + + // The name of the AWS Trusted Advisor Check + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The Recommendation pillars that the AWS Trusted Advisor Check falls under + // + // Pillars is a required field + Pillars []*string `locationName:"pillars" type:"list" required:"true" enum:"RecommendationPillar"` + + // The source of the Recommendation + // + // Source is a required field + Source *string `locationName:"source" type:"string" required:"true" enum:"RecommendationSource"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CheckSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CheckSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CheckSummary) SetArn(v string) *CheckSummary { + s.Arn = &v + return s +} + +// SetAwsServices sets the AwsServices field's value. +func (s *CheckSummary) SetAwsServices(v []*string) *CheckSummary { + s.AwsServices = v + return s +} + +// SetDescription sets the Description field's value. +func (s *CheckSummary) SetDescription(v string) *CheckSummary { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *CheckSummary) SetId(v string) *CheckSummary { + s.Id = &v + return s +} + +// SetMetadata sets the Metadata field's value. +func (s *CheckSummary) SetMetadata(v map[string]*string) *CheckSummary { + s.Metadata = v + return s +} + +// SetName sets the Name field's value. +func (s *CheckSummary) SetName(v string) *CheckSummary { + s.Name = &v + return s +} + +// SetPillars sets the Pillars field's value. +func (s *CheckSummary) SetPillars(v []*string) *CheckSummary { + s.Pillars = v + return s +} + +// SetSource sets the Source field's value. +func (s *CheckSummary) SetSource(v string) *CheckSummary { + s.Source = &v + return s +} + +// Exception that the request was denied due to conflictions in state +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +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", s.Code(), s.Message()) +} + +// 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 GetOrganizationRecommendationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Recommendation identifier + // + // OrganizationRecommendationIdentifier is a required field + OrganizationRecommendationIdentifier *string `location:"uri" locationName:"organizationRecommendationIdentifier" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetOrganizationRecommendationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetOrganizationRecommendationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetOrganizationRecommendationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetOrganizationRecommendationInput"} + if s.OrganizationRecommendationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationRecommendationIdentifier")) + } + if s.OrganizationRecommendationIdentifier != nil && len(*s.OrganizationRecommendationIdentifier) < 20 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationRecommendationIdentifier", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOrganizationRecommendationIdentifier sets the OrganizationRecommendationIdentifier field's value. +func (s *GetOrganizationRecommendationInput) SetOrganizationRecommendationIdentifier(v string) *GetOrganizationRecommendationInput { + s.OrganizationRecommendationIdentifier = &v + return s +} + +type GetOrganizationRecommendationOutput struct { + _ struct{} `type:"structure"` + + // The Recommendation + OrganizationRecommendation *OrganizationRecommendation `locationName:"organizationRecommendation" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetOrganizationRecommendationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetOrganizationRecommendationOutput) GoString() string { + return s.String() +} + +// SetOrganizationRecommendation sets the OrganizationRecommendation field's value. +func (s *GetOrganizationRecommendationOutput) SetOrganizationRecommendation(v *OrganizationRecommendation) *GetOrganizationRecommendationOutput { + s.OrganizationRecommendation = v + return s +} + +type GetRecommendationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Recommendation identifier + // + // RecommendationIdentifier is a required field + RecommendationIdentifier *string `location:"uri" locationName:"recommendationIdentifier" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRecommendationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRecommendationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetRecommendationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetRecommendationInput"} + if s.RecommendationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("RecommendationIdentifier")) + } + if s.RecommendationIdentifier != nil && len(*s.RecommendationIdentifier) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RecommendationIdentifier", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRecommendationIdentifier sets the RecommendationIdentifier field's value. +func (s *GetRecommendationInput) SetRecommendationIdentifier(v string) *GetRecommendationInput { + s.RecommendationIdentifier = &v + return s +} + +type GetRecommendationOutput struct { + _ struct{} `type:"structure"` + + // The Recommendation + Recommendation *Recommendation `locationName:"recommendation" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRecommendationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRecommendationOutput) GoString() string { + return s.String() +} + +// SetRecommendation sets the Recommendation field's value. +func (s *GetRecommendationOutput) SetRecommendation(v *Recommendation) *GetRecommendationOutput { + s.Recommendation = v + return s +} + +// Exception to notify that an unexpected internal error occurred during processing +// of the request +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) 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 *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListChecksInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The aws service associated with the check + AwsService *string `location:"querystring" locationName:"awsService" min:"2" type:"string"` + + // The ISO 639-1 code for the language that you want your checks to appear in. + Language *string `location:"querystring" locationName:"language" type:"string" enum:"RecommendationLanguage"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"4" type:"string"` + + // The pillar of the check + Pillar *string `location:"querystring" locationName:"pillar" type:"string" enum:"RecommendationPillar"` + + // The source of the check + Source *string `location:"querystring" locationName:"source" type:"string" enum:"RecommendationSource"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListChecksInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListChecksInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListChecksInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListChecksInput"} + if s.AwsService != nil && len(*s.AwsService) < 2 { + invalidParams.Add(request.NewErrParamMinLen("AwsService", 2)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 4 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 4)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsService sets the AwsService field's value. +func (s *ListChecksInput) SetAwsService(v string) *ListChecksInput { + s.AwsService = &v + return s +} + +// SetLanguage sets the Language field's value. +func (s *ListChecksInput) SetLanguage(v string) *ListChecksInput { + s.Language = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListChecksInput) SetMaxResults(v int64) *ListChecksInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListChecksInput) SetNextToken(v string) *ListChecksInput { + s.NextToken = &v + return s +} + +// SetPillar sets the Pillar field's value. +func (s *ListChecksInput) SetPillar(v string) *ListChecksInput { + s.Pillar = &v + return s +} + +// SetSource sets the Source field's value. +func (s *ListChecksInput) SetSource(v string) *ListChecksInput { + s.Source = &v + return s +} + +type ListChecksOutput struct { + _ struct{} `type:"structure"` + + // The list of Checks + // + // CheckSummaries is a required field + CheckSummaries []*CheckSummary `locationName:"checkSummaries" type:"list" required:"true"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `locationName:"nextToken" min:"4" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListChecksOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListChecksOutput) GoString() string { + return s.String() +} + +// SetCheckSummaries sets the CheckSummaries field's value. +func (s *ListChecksOutput) SetCheckSummaries(v []*CheckSummary) *ListChecksOutput { + s.CheckSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListChecksOutput) SetNextToken(v string) *ListChecksOutput { + s.NextToken = &v + return s +} + +type ListOrganizationRecommendationAccountsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // An account affected by this organization recommendation + AffectedAccountId *string `location:"querystring" locationName:"affectedAccountId" min:"12" type:"string"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"4" type:"string"` + + // The Recommendation identifier + // + // OrganizationRecommendationIdentifier is a required field + OrganizationRecommendationIdentifier *string `location:"uri" locationName:"organizationRecommendationIdentifier" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListOrganizationRecommendationAccountsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListOrganizationRecommendationAccountsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListOrganizationRecommendationAccountsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListOrganizationRecommendationAccountsInput"} + if s.AffectedAccountId != nil && len(*s.AffectedAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AffectedAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 4 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 4)) + } + if s.OrganizationRecommendationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationRecommendationIdentifier")) + } + if s.OrganizationRecommendationIdentifier != nil && len(*s.OrganizationRecommendationIdentifier) < 20 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationRecommendationIdentifier", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAffectedAccountId sets the AffectedAccountId field's value. +func (s *ListOrganizationRecommendationAccountsInput) SetAffectedAccountId(v string) *ListOrganizationRecommendationAccountsInput { + s.AffectedAccountId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListOrganizationRecommendationAccountsInput) SetMaxResults(v int64) *ListOrganizationRecommendationAccountsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOrganizationRecommendationAccountsInput) SetNextToken(v string) *ListOrganizationRecommendationAccountsInput { + s.NextToken = &v + return s +} + +// SetOrganizationRecommendationIdentifier sets the OrganizationRecommendationIdentifier field's value. +func (s *ListOrganizationRecommendationAccountsInput) SetOrganizationRecommendationIdentifier(v string) *ListOrganizationRecommendationAccountsInput { + s.OrganizationRecommendationIdentifier = &v + return s +} + +type ListOrganizationRecommendationAccountsOutput struct { + _ struct{} `type:"structure"` + + // The account recommendations lifecycles that are applicable to the Recommendation + // + // AccountRecommendationLifecycleSummaries is a required field + AccountRecommendationLifecycleSummaries []*AccountRecommendationLifecycleSummary `locationName:"accountRecommendationLifecycleSummaries" type:"list" required:"true"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `locationName:"nextToken" min:"4" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListOrganizationRecommendationAccountsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListOrganizationRecommendationAccountsOutput) GoString() string { + return s.String() +} + +// SetAccountRecommendationLifecycleSummaries sets the AccountRecommendationLifecycleSummaries field's value. +func (s *ListOrganizationRecommendationAccountsOutput) SetAccountRecommendationLifecycleSummaries(v []*AccountRecommendationLifecycleSummary) *ListOrganizationRecommendationAccountsOutput { + s.AccountRecommendationLifecycleSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOrganizationRecommendationAccountsOutput) SetNextToken(v string) *ListOrganizationRecommendationAccountsOutput { + s.NextToken = &v + return s +} + +type ListOrganizationRecommendationResourcesInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // An account affected by this organization recommendation + AffectedAccountId *string `location:"querystring" locationName:"affectedAccountId" min:"12" type:"string"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"4" type:"string"` + + // The AWS Organization organization's Recommendation identifier + // + // OrganizationRecommendationIdentifier is a required field + OrganizationRecommendationIdentifier *string `location:"uri" locationName:"organizationRecommendationIdentifier" min:"20" type:"string" required:"true"` + + // The AWS Region code of the resource + RegionCode *string `location:"querystring" locationName:"regionCode" type:"string"` + + // The status of the resource + Status *string `location:"querystring" locationName:"status" type:"string" enum:"ResourceStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListOrganizationRecommendationResourcesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListOrganizationRecommendationResourcesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListOrganizationRecommendationResourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListOrganizationRecommendationResourcesInput"} + if s.AffectedAccountId != nil && len(*s.AffectedAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AffectedAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 4 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 4)) + } + if s.OrganizationRecommendationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationRecommendationIdentifier")) + } + if s.OrganizationRecommendationIdentifier != nil && len(*s.OrganizationRecommendationIdentifier) < 20 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationRecommendationIdentifier", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAffectedAccountId sets the AffectedAccountId field's value. +func (s *ListOrganizationRecommendationResourcesInput) SetAffectedAccountId(v string) *ListOrganizationRecommendationResourcesInput { + s.AffectedAccountId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListOrganizationRecommendationResourcesInput) SetMaxResults(v int64) *ListOrganizationRecommendationResourcesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOrganizationRecommendationResourcesInput) SetNextToken(v string) *ListOrganizationRecommendationResourcesInput { + s.NextToken = &v + return s +} + +// SetOrganizationRecommendationIdentifier sets the OrganizationRecommendationIdentifier field's value. +func (s *ListOrganizationRecommendationResourcesInput) SetOrganizationRecommendationIdentifier(v string) *ListOrganizationRecommendationResourcesInput { + s.OrganizationRecommendationIdentifier = &v + return s +} + +// SetRegionCode sets the RegionCode field's value. +func (s *ListOrganizationRecommendationResourcesInput) SetRegionCode(v string) *ListOrganizationRecommendationResourcesInput { + s.RegionCode = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListOrganizationRecommendationResourcesInput) SetStatus(v string) *ListOrganizationRecommendationResourcesInput { + s.Status = &v + return s +} + +type ListOrganizationRecommendationResourcesOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `locationName:"nextToken" min:"4" type:"string"` + + // A list of Recommendation Resources + // + // OrganizationRecommendationResourceSummaries is a required field + OrganizationRecommendationResourceSummaries []*OrganizationRecommendationResourceSummary `locationName:"organizationRecommendationResourceSummaries" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListOrganizationRecommendationResourcesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListOrganizationRecommendationResourcesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOrganizationRecommendationResourcesOutput) SetNextToken(v string) *ListOrganizationRecommendationResourcesOutput { + s.NextToken = &v + return s +} + +// SetOrganizationRecommendationResourceSummaries sets the OrganizationRecommendationResourceSummaries field's value. +func (s *ListOrganizationRecommendationResourcesOutput) SetOrganizationRecommendationResourceSummaries(v []*OrganizationRecommendationResourceSummary) *ListOrganizationRecommendationResourcesOutput { + s.OrganizationRecommendationResourceSummaries = v + return s +} + +type ListOrganizationRecommendationsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // After the last update of the Recommendation + AfterLastUpdatedAt *time.Time `location:"querystring" locationName:"afterLastUpdatedAt" type:"timestamp"` + + // The aws service associated with the Recommendation + AwsService *string `location:"querystring" locationName:"awsService" min:"2" type:"string"` + + // Before the last update of the Recommendation + BeforeLastUpdatedAt *time.Time `location:"querystring" locationName:"beforeLastUpdatedAt" type:"timestamp"` + + // The check identifier of the Recommendation + CheckIdentifier *string `location:"querystring" locationName:"checkIdentifier" min:"20" type:"string"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"4" type:"string"` + + // The pillar of the Recommendation + Pillar *string `location:"querystring" locationName:"pillar" type:"string" enum:"RecommendationPillar"` + + // The source of the Recommendation + Source *string `location:"querystring" locationName:"source" type:"string" enum:"RecommendationSource"` + + // The status of the Recommendation + Status *string `location:"querystring" locationName:"status" type:"string" enum:"RecommendationStatus"` + + // The type of the Recommendation + Type *string `location:"querystring" locationName:"type" type:"string" enum:"RecommendationType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListOrganizationRecommendationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListOrganizationRecommendationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListOrganizationRecommendationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListOrganizationRecommendationsInput"} + if s.AwsService != nil && len(*s.AwsService) < 2 { + invalidParams.Add(request.NewErrParamMinLen("AwsService", 2)) + } + if s.CheckIdentifier != nil && len(*s.CheckIdentifier) < 20 { + invalidParams.Add(request.NewErrParamMinLen("CheckIdentifier", 20)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 4 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 4)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAfterLastUpdatedAt sets the AfterLastUpdatedAt field's value. +func (s *ListOrganizationRecommendationsInput) SetAfterLastUpdatedAt(v time.Time) *ListOrganizationRecommendationsInput { + s.AfterLastUpdatedAt = &v + return s +} + +// SetAwsService sets the AwsService field's value. +func (s *ListOrganizationRecommendationsInput) SetAwsService(v string) *ListOrganizationRecommendationsInput { + s.AwsService = &v + return s +} + +// SetBeforeLastUpdatedAt sets the BeforeLastUpdatedAt field's value. +func (s *ListOrganizationRecommendationsInput) SetBeforeLastUpdatedAt(v time.Time) *ListOrganizationRecommendationsInput { + s.BeforeLastUpdatedAt = &v + return s +} + +// SetCheckIdentifier sets the CheckIdentifier field's value. +func (s *ListOrganizationRecommendationsInput) SetCheckIdentifier(v string) *ListOrganizationRecommendationsInput { + s.CheckIdentifier = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListOrganizationRecommendationsInput) SetMaxResults(v int64) *ListOrganizationRecommendationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOrganizationRecommendationsInput) SetNextToken(v string) *ListOrganizationRecommendationsInput { + s.NextToken = &v + return s +} + +// SetPillar sets the Pillar field's value. +func (s *ListOrganizationRecommendationsInput) SetPillar(v string) *ListOrganizationRecommendationsInput { + s.Pillar = &v + return s +} + +// SetSource sets the Source field's value. +func (s *ListOrganizationRecommendationsInput) SetSource(v string) *ListOrganizationRecommendationsInput { + s.Source = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListOrganizationRecommendationsInput) SetStatus(v string) *ListOrganizationRecommendationsInput { + s.Status = &v + return s +} + +// SetType sets the Type field's value. +func (s *ListOrganizationRecommendationsInput) SetType(v string) *ListOrganizationRecommendationsInput { + s.Type = &v + return s +} + +type ListOrganizationRecommendationsOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `locationName:"nextToken" min:"4" type:"string"` + + // The list of Recommendations + // + // OrganizationRecommendationSummaries is a required field + OrganizationRecommendationSummaries []*OrganizationRecommendationSummary `locationName:"organizationRecommendationSummaries" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListOrganizationRecommendationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListOrganizationRecommendationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOrganizationRecommendationsOutput) SetNextToken(v string) *ListOrganizationRecommendationsOutput { + s.NextToken = &v + return s +} + +// SetOrganizationRecommendationSummaries sets the OrganizationRecommendationSummaries field's value. +func (s *ListOrganizationRecommendationsOutput) SetOrganizationRecommendationSummaries(v []*OrganizationRecommendationSummary) *ListOrganizationRecommendationsOutput { + s.OrganizationRecommendationSummaries = v + return s +} + +type ListRecommendationResourcesInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"4" type:"string"` + + // The Recommendation identifier + // + // RecommendationIdentifier is a required field + RecommendationIdentifier *string `location:"uri" locationName:"recommendationIdentifier" min:"20" type:"string" required:"true"` + + // The AWS Region code of the resource + RegionCode *string `location:"querystring" locationName:"regionCode" type:"string"` + + // The status of the resource + Status *string `location:"querystring" locationName:"status" type:"string" enum:"ResourceStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRecommendationResourcesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRecommendationResourcesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListRecommendationResourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRecommendationResourcesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 4 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 4)) + } + if s.RecommendationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("RecommendationIdentifier")) + } + if s.RecommendationIdentifier != nil && len(*s.RecommendationIdentifier) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RecommendationIdentifier", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListRecommendationResourcesInput) SetMaxResults(v int64) *ListRecommendationResourcesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRecommendationResourcesInput) SetNextToken(v string) *ListRecommendationResourcesInput { + s.NextToken = &v + return s +} + +// SetRecommendationIdentifier sets the RecommendationIdentifier field's value. +func (s *ListRecommendationResourcesInput) SetRecommendationIdentifier(v string) *ListRecommendationResourcesInput { + s.RecommendationIdentifier = &v + return s +} + +// SetRegionCode sets the RegionCode field's value. +func (s *ListRecommendationResourcesInput) SetRegionCode(v string) *ListRecommendationResourcesInput { + s.RegionCode = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListRecommendationResourcesInput) SetStatus(v string) *ListRecommendationResourcesInput { + s.Status = &v + return s +} + +type ListRecommendationResourcesOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `locationName:"nextToken" min:"4" type:"string"` + + // A list of Recommendation Resources + // + // RecommendationResourceSummaries is a required field + RecommendationResourceSummaries []*RecommendationResourceSummary `locationName:"recommendationResourceSummaries" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRecommendationResourcesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRecommendationResourcesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRecommendationResourcesOutput) SetNextToken(v string) *ListRecommendationResourcesOutput { + s.NextToken = &v + return s +} + +// SetRecommendationResourceSummaries sets the RecommendationResourceSummaries field's value. +func (s *ListRecommendationResourcesOutput) SetRecommendationResourceSummaries(v []*RecommendationResourceSummary) *ListRecommendationResourcesOutput { + s.RecommendationResourceSummaries = v + return s +} + +type ListRecommendationsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // After the last update of the Recommendation + AfterLastUpdatedAt *time.Time `location:"querystring" locationName:"afterLastUpdatedAt" type:"timestamp"` + + // The aws service associated with the Recommendation + AwsService *string `location:"querystring" locationName:"awsService" min:"2" type:"string"` + + // Before the last update of the Recommendation + BeforeLastUpdatedAt *time.Time `location:"querystring" locationName:"beforeLastUpdatedAt" type:"timestamp"` + + // The check identifier of the Recommendation + CheckIdentifier *string `location:"querystring" locationName:"checkIdentifier" min:"20" type:"string"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"4" type:"string"` + + // The pillar of the Recommendation + Pillar *string `location:"querystring" locationName:"pillar" type:"string" enum:"RecommendationPillar"` + + // The source of the Recommendation + Source *string `location:"querystring" locationName:"source" type:"string" enum:"RecommendationSource"` + + // The status of the Recommendation + Status *string `location:"querystring" locationName:"status" type:"string" enum:"RecommendationStatus"` + + // The type of the Recommendation + Type *string `location:"querystring" locationName:"type" type:"string" enum:"RecommendationType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRecommendationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRecommendationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListRecommendationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRecommendationsInput"} + if s.AwsService != nil && len(*s.AwsService) < 2 { + invalidParams.Add(request.NewErrParamMinLen("AwsService", 2)) + } + if s.CheckIdentifier != nil && len(*s.CheckIdentifier) < 20 { + invalidParams.Add(request.NewErrParamMinLen("CheckIdentifier", 20)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 4 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 4)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAfterLastUpdatedAt sets the AfterLastUpdatedAt field's value. +func (s *ListRecommendationsInput) SetAfterLastUpdatedAt(v time.Time) *ListRecommendationsInput { + s.AfterLastUpdatedAt = &v + return s +} + +// SetAwsService sets the AwsService field's value. +func (s *ListRecommendationsInput) SetAwsService(v string) *ListRecommendationsInput { + s.AwsService = &v + return s +} + +// SetBeforeLastUpdatedAt sets the BeforeLastUpdatedAt field's value. +func (s *ListRecommendationsInput) SetBeforeLastUpdatedAt(v time.Time) *ListRecommendationsInput { + s.BeforeLastUpdatedAt = &v + return s +} + +// SetCheckIdentifier sets the CheckIdentifier field's value. +func (s *ListRecommendationsInput) SetCheckIdentifier(v string) *ListRecommendationsInput { + s.CheckIdentifier = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListRecommendationsInput) SetMaxResults(v int64) *ListRecommendationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRecommendationsInput) SetNextToken(v string) *ListRecommendationsInput { + s.NextToken = &v + return s +} + +// SetPillar sets the Pillar field's value. +func (s *ListRecommendationsInput) SetPillar(v string) *ListRecommendationsInput { + s.Pillar = &v + return s +} + +// SetSource sets the Source field's value. +func (s *ListRecommendationsInput) SetSource(v string) *ListRecommendationsInput { + s.Source = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListRecommendationsInput) SetStatus(v string) *ListRecommendationsInput { + s.Status = &v + return s +} + +// SetType sets the Type field's value. +func (s *ListRecommendationsInput) SetType(v string) *ListRecommendationsInput { + s.Type = &v + return s +} + +type ListRecommendationsOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `locationName:"nextToken" min:"4" type:"string"` + + // The list of Recommendations + // + // RecommendationSummaries is a required field + RecommendationSummaries []*RecommendationSummary `locationName:"recommendationSummaries" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRecommendationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRecommendationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRecommendationsOutput) SetNextToken(v string) *ListRecommendationsOutput { + s.NextToken = &v + return s +} + +// SetRecommendationSummaries sets the RecommendationSummaries field's value. +func (s *ListRecommendationsOutput) SetRecommendationSummaries(v []*RecommendationSummary) *ListRecommendationsOutput { + s.RecommendationSummaries = v + return s +} + +// A Recommendation for accounts within an Organization +type OrganizationRecommendation struct { + _ struct{} `type:"structure"` + + // The ARN of the Recommendation + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The AWS Services that the Recommendation applies to + AwsServices []*string `locationName:"awsServices" type:"list"` + + // The AWS Trusted Advisor Check ARN that relates to the Recommendation + CheckArn *string `locationName:"checkArn" type:"string"` + + // When the Recommendation was created, if created by AWS Trusted Advisor Priority + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"` + + // The creator, if created by AWS Trusted Advisor Priority + CreatedBy *string `locationName:"createdBy" type:"string"` + + // A description for AWS Trusted Advisor recommendations + // + // Description is a required field + Description *string `locationName:"description" type:"string" required:"true"` + + // The ID which identifies where the Recommendation was produced + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // When the Recommendation was last updated + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" timestampFormat:"iso8601"` + + // The lifecycle stage from AWS Trusted Advisor Priority + LifecycleStage *string `locationName:"lifecycleStage" type:"string" enum:"RecommendationLifecycleStage"` + + // The name of the AWS Trusted Advisor Recommendation + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The pillar aggregations for cost savings + PillarSpecificAggregates *RecommendationPillarSpecificAggregates `locationName:"pillarSpecificAggregates" type:"structure"` + + // The Pillars that the Recommendation is optimizing + // + // Pillars is a required field + Pillars []*string `locationName:"pillars" type:"list" required:"true" enum:"RecommendationPillar"` + + // When the Recommendation was resolved + ResolvedAt *time.Time `locationName:"resolvedAt" type:"timestamp" timestampFormat:"iso8601"` + + // An aggregation of all resources + // + // ResourcesAggregates is a required field + ResourcesAggregates *RecommendationResourcesAggregates `locationName:"resourcesAggregates" type:"structure" required:"true"` + + // The source of the Recommendation + // + // Source is a required field + Source *string `locationName:"source" type:"string" required:"true" enum:"RecommendationSource"` + + // The status of the Recommendation + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"RecommendationStatus"` + + // Whether the Recommendation was automated or generated by AWS Trusted Advisor + // Priority + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"RecommendationType"` + + // Reason for the lifecycle stage change + // + // UpdateReason is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by OrganizationRecommendation's + // String and GoString methods. + UpdateReason *string `locationName:"updateReason" min:"10" type:"string" sensitive:"true"` + + // Reason code for the lifecycle state change + UpdateReasonCode *string `locationName:"updateReasonCode" type:"string" enum:"UpdateRecommendationLifecycleStageReasonCode"` + + // The person on whose behalf a Technical Account Manager (TAM) updated the + // recommendation. This information is only available when a Technical Account + // Manager takes an action on a recommendation managed by AWS Trusted Advisor + // Priority + UpdatedOnBehalfOf *string `locationName:"updatedOnBehalfOf" type:"string"` + + // The job title of the person on whose behalf a Technical Account Manager (TAM) + // updated the recommendation. This information is only available when a Technical + // Account Manager takes an action on a recommendation managed by AWS Trusted + // Advisor Priority + UpdatedOnBehalfOfJobTitle *string `locationName:"updatedOnBehalfOfJobTitle" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OrganizationRecommendation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OrganizationRecommendation) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *OrganizationRecommendation) SetArn(v string) *OrganizationRecommendation { + s.Arn = &v + return s +} + +// SetAwsServices sets the AwsServices field's value. +func (s *OrganizationRecommendation) SetAwsServices(v []*string) *OrganizationRecommendation { + s.AwsServices = v + return s +} + +// SetCheckArn sets the CheckArn field's value. +func (s *OrganizationRecommendation) SetCheckArn(v string) *OrganizationRecommendation { + s.CheckArn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *OrganizationRecommendation) SetCreatedAt(v time.Time) *OrganizationRecommendation { + s.CreatedAt = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *OrganizationRecommendation) SetCreatedBy(v string) *OrganizationRecommendation { + s.CreatedBy = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *OrganizationRecommendation) SetDescription(v string) *OrganizationRecommendation { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *OrganizationRecommendation) SetId(v string) *OrganizationRecommendation { + s.Id = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *OrganizationRecommendation) SetLastUpdatedAt(v time.Time) *OrganizationRecommendation { + s.LastUpdatedAt = &v + return s +} + +// SetLifecycleStage sets the LifecycleStage field's value. +func (s *OrganizationRecommendation) SetLifecycleStage(v string) *OrganizationRecommendation { + s.LifecycleStage = &v + return s +} + +// SetName sets the Name field's value. +func (s *OrganizationRecommendation) SetName(v string) *OrganizationRecommendation { + s.Name = &v + return s +} + +// SetPillarSpecificAggregates sets the PillarSpecificAggregates field's value. +func (s *OrganizationRecommendation) SetPillarSpecificAggregates(v *RecommendationPillarSpecificAggregates) *OrganizationRecommendation { + s.PillarSpecificAggregates = v + return s +} + +// SetPillars sets the Pillars field's value. +func (s *OrganizationRecommendation) SetPillars(v []*string) *OrganizationRecommendation { + s.Pillars = v + return s +} + +// SetResolvedAt sets the ResolvedAt field's value. +func (s *OrganizationRecommendation) SetResolvedAt(v time.Time) *OrganizationRecommendation { + s.ResolvedAt = &v + return s +} + +// SetResourcesAggregates sets the ResourcesAggregates field's value. +func (s *OrganizationRecommendation) SetResourcesAggregates(v *RecommendationResourcesAggregates) *OrganizationRecommendation { + s.ResourcesAggregates = v + return s +} + +// SetSource sets the Source field's value. +func (s *OrganizationRecommendation) SetSource(v string) *OrganizationRecommendation { + s.Source = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *OrganizationRecommendation) SetStatus(v string) *OrganizationRecommendation { + s.Status = &v + return s +} + +// SetType sets the Type field's value. +func (s *OrganizationRecommendation) SetType(v string) *OrganizationRecommendation { + s.Type = &v + return s +} + +// SetUpdateReason sets the UpdateReason field's value. +func (s *OrganizationRecommendation) SetUpdateReason(v string) *OrganizationRecommendation { + s.UpdateReason = &v + return s +} + +// SetUpdateReasonCode sets the UpdateReasonCode field's value. +func (s *OrganizationRecommendation) SetUpdateReasonCode(v string) *OrganizationRecommendation { + s.UpdateReasonCode = &v + return s +} + +// SetUpdatedOnBehalfOf sets the UpdatedOnBehalfOf field's value. +func (s *OrganizationRecommendation) SetUpdatedOnBehalfOf(v string) *OrganizationRecommendation { + s.UpdatedOnBehalfOf = &v + return s +} + +// SetUpdatedOnBehalfOfJobTitle sets the UpdatedOnBehalfOfJobTitle field's value. +func (s *OrganizationRecommendation) SetUpdatedOnBehalfOfJobTitle(v string) *OrganizationRecommendation { + s.UpdatedOnBehalfOfJobTitle = &v + return s +} + +// Organization Recommendation Resource Summary +type OrganizationRecommendationResourceSummary struct { + _ struct{} `type:"structure"` + + // The AWS account ID + AccountId *string `locationName:"accountId" min:"12" type:"string"` + + // The ARN of the Recommendation Resource + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The AWS resource identifier + // + // AwsResourceId is a required field + AwsResourceId *string `locationName:"awsResourceId" type:"string" required:"true"` + + // The ID of the Recommendation Resource + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // When the Recommendation Resource was last updated + // + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // Metadata associated with the Recommendation Resource + // + // Metadata is a required field + Metadata map[string]*string `locationName:"metadata" type:"map" required:"true"` + + // The Recommendation ARN + // + // RecommendationArn is a required field + RecommendationArn *string `locationName:"recommendationArn" min:"20" type:"string" required:"true"` + + // The AWS Region code that the Recommendation Resource is in + // + // RegionCode is a required field + RegionCode *string `locationName:"regionCode" min:"9" type:"string" required:"true"` + + // The current status of the Recommendation Resource + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"ResourceStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OrganizationRecommendationResourceSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OrganizationRecommendationResourceSummary) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *OrganizationRecommendationResourceSummary) SetAccountId(v string) *OrganizationRecommendationResourceSummary { + s.AccountId = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *OrganizationRecommendationResourceSummary) SetArn(v string) *OrganizationRecommendationResourceSummary { + s.Arn = &v + return s +} + +// SetAwsResourceId sets the AwsResourceId field's value. +func (s *OrganizationRecommendationResourceSummary) SetAwsResourceId(v string) *OrganizationRecommendationResourceSummary { + s.AwsResourceId = &v + return s +} + +// SetId sets the Id field's value. +func (s *OrganizationRecommendationResourceSummary) SetId(v string) *OrganizationRecommendationResourceSummary { + s.Id = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *OrganizationRecommendationResourceSummary) SetLastUpdatedAt(v time.Time) *OrganizationRecommendationResourceSummary { + s.LastUpdatedAt = &v + return s +} + +// SetMetadata sets the Metadata field's value. +func (s *OrganizationRecommendationResourceSummary) SetMetadata(v map[string]*string) *OrganizationRecommendationResourceSummary { + s.Metadata = v + return s +} + +// SetRecommendationArn sets the RecommendationArn field's value. +func (s *OrganizationRecommendationResourceSummary) SetRecommendationArn(v string) *OrganizationRecommendationResourceSummary { + s.RecommendationArn = &v + return s +} + +// SetRegionCode sets the RegionCode field's value. +func (s *OrganizationRecommendationResourceSummary) SetRegionCode(v string) *OrganizationRecommendationResourceSummary { + s.RegionCode = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *OrganizationRecommendationResourceSummary) SetStatus(v string) *OrganizationRecommendationResourceSummary { + s.Status = &v + return s +} + +// Summary of recommendation for accounts within an Organization +type OrganizationRecommendationSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the Recommendation + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The AWS Services that the Recommendation applies to + AwsServices []*string `locationName:"awsServices" type:"list"` + + // The AWS Trusted Advisor Check ARN that relates to the Recommendation + CheckArn *string `locationName:"checkArn" type:"string"` + + // When the Recommendation was created, if created by AWS Trusted Advisor Priority + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"` + + // The ID which identifies where the Recommendation was produced + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // When the Recommendation was last updated + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" timestampFormat:"iso8601"` + + // The lifecycle stage from AWS Trusted Advisor Priority + LifecycleStage *string `locationName:"lifecycleStage" type:"string" enum:"RecommendationLifecycleStage"` + + // The name of the AWS Trusted Advisor Recommendation + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The pillar aggregations for cost savings + PillarSpecificAggregates *RecommendationPillarSpecificAggregates `locationName:"pillarSpecificAggregates" type:"structure"` + + // The Pillars that the Recommendation is optimizing + // + // Pillars is a required field + Pillars []*string `locationName:"pillars" type:"list" required:"true" enum:"RecommendationPillar"` + + // An aggregation of all resources + // + // ResourcesAggregates is a required field + ResourcesAggregates *RecommendationResourcesAggregates `locationName:"resourcesAggregates" type:"structure" required:"true"` + + // The source of the Recommendation + // + // Source is a required field + Source *string `locationName:"source" type:"string" required:"true" enum:"RecommendationSource"` + + // The status of the Recommendation + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"RecommendationStatus"` + + // Whether the Recommendation was automated or generated by AWS Trusted Advisor + // Priority + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"RecommendationType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OrganizationRecommendationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OrganizationRecommendationSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *OrganizationRecommendationSummary) SetArn(v string) *OrganizationRecommendationSummary { + s.Arn = &v + return s +} + +// SetAwsServices sets the AwsServices field's value. +func (s *OrganizationRecommendationSummary) SetAwsServices(v []*string) *OrganizationRecommendationSummary { + s.AwsServices = v + return s +} + +// SetCheckArn sets the CheckArn field's value. +func (s *OrganizationRecommendationSummary) SetCheckArn(v string) *OrganizationRecommendationSummary { + s.CheckArn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *OrganizationRecommendationSummary) SetCreatedAt(v time.Time) *OrganizationRecommendationSummary { + s.CreatedAt = &v + return s +} + +// SetId sets the Id field's value. +func (s *OrganizationRecommendationSummary) SetId(v string) *OrganizationRecommendationSummary { + s.Id = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *OrganizationRecommendationSummary) SetLastUpdatedAt(v time.Time) *OrganizationRecommendationSummary { + s.LastUpdatedAt = &v + return s +} + +// SetLifecycleStage sets the LifecycleStage field's value. +func (s *OrganizationRecommendationSummary) SetLifecycleStage(v string) *OrganizationRecommendationSummary { + s.LifecycleStage = &v + return s +} + +// SetName sets the Name field's value. +func (s *OrganizationRecommendationSummary) SetName(v string) *OrganizationRecommendationSummary { + s.Name = &v + return s +} + +// SetPillarSpecificAggregates sets the PillarSpecificAggregates field's value. +func (s *OrganizationRecommendationSummary) SetPillarSpecificAggregates(v *RecommendationPillarSpecificAggregates) *OrganizationRecommendationSummary { + s.PillarSpecificAggregates = v + return s +} + +// SetPillars sets the Pillars field's value. +func (s *OrganizationRecommendationSummary) SetPillars(v []*string) *OrganizationRecommendationSummary { + s.Pillars = v + return s +} + +// SetResourcesAggregates sets the ResourcesAggregates field's value. +func (s *OrganizationRecommendationSummary) SetResourcesAggregates(v *RecommendationResourcesAggregates) *OrganizationRecommendationSummary { + s.ResourcesAggregates = v + return s +} + +// SetSource sets the Source field's value. +func (s *OrganizationRecommendationSummary) SetSource(v string) *OrganizationRecommendationSummary { + s.Source = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *OrganizationRecommendationSummary) SetStatus(v string) *OrganizationRecommendationSummary { + s.Status = &v + return s +} + +// SetType sets the Type field's value. +func (s *OrganizationRecommendationSummary) SetType(v string) *OrganizationRecommendationSummary { + s.Type = &v + return s +} + +// A Recommendation for an Account +type Recommendation struct { + _ struct{} `type:"structure"` + + // The ARN of the Recommendation + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The AWS Services that the Recommendation applies to + AwsServices []*string `locationName:"awsServices" type:"list"` + + // The AWS Trusted Advisor Check ARN that relates to the Recommendation + CheckArn *string `locationName:"checkArn" type:"string"` + + // When the Recommendation was created, if created by AWS Trusted Advisor Priority + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"` + + // The creator, if created by AWS Trusted Advisor Priority + CreatedBy *string `locationName:"createdBy" type:"string"` + + // A description for AWS Trusted Advisor recommendations + // + // Description is a required field + Description *string `locationName:"description" type:"string" required:"true"` + + // The ID which identifies where the Recommendation was produced + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // When the Recommendation was last updated + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" timestampFormat:"iso8601"` + + // The lifecycle stage from AWS Trusted Advisor Priority + LifecycleStage *string `locationName:"lifecycleStage" type:"string" enum:"RecommendationLifecycleStage"` + + // The name of the AWS Trusted Advisor Recommendation + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The pillar aggregations for cost savings + PillarSpecificAggregates *RecommendationPillarSpecificAggregates `locationName:"pillarSpecificAggregates" type:"structure"` + + // The Pillars that the Recommendation is optimizing + // + // Pillars is a required field + Pillars []*string `locationName:"pillars" type:"list" required:"true" enum:"RecommendationPillar"` + + // When the Recommendation was resolved + ResolvedAt *time.Time `locationName:"resolvedAt" type:"timestamp" timestampFormat:"iso8601"` + + // An aggregation of all resources + // + // ResourcesAggregates is a required field + ResourcesAggregates *RecommendationResourcesAggregates `locationName:"resourcesAggregates" type:"structure" required:"true"` + + // The source of the Recommendation + // + // Source is a required field + Source *string `locationName:"source" type:"string" required:"true" enum:"RecommendationSource"` + + // The status of the Recommendation + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"RecommendationStatus"` + + // Whether the Recommendation was automated or generated by AWS Trusted Advisor + // Priority + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"RecommendationType"` + + // Reason for the lifecycle stage change + // + // UpdateReason is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by Recommendation's + // String and GoString methods. + UpdateReason *string `locationName:"updateReason" min:"10" type:"string" sensitive:"true"` + + // Reason code for the lifecycle state change + UpdateReasonCode *string `locationName:"updateReasonCode" type:"string" enum:"UpdateRecommendationLifecycleStageReasonCode"` + + // The person on whose behalf a Technical Account Manager (TAM) updated the + // recommendation. This information is only available when a Technical Account + // Manager takes an action on a recommendation managed by AWS Trusted Advisor + // Priority + UpdatedOnBehalfOf *string `locationName:"updatedOnBehalfOf" type:"string"` + + // The job title of the person on whose behalf a Technical Account Manager (TAM) + // updated the recommendation. This information is only available when a Technical + // Account Manager takes an action on a recommendation managed by AWS Trusted + // Advisor Priority + UpdatedOnBehalfOfJobTitle *string `locationName:"updatedOnBehalfOfJobTitle" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Recommendation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Recommendation) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Recommendation) SetArn(v string) *Recommendation { + s.Arn = &v + return s +} + +// SetAwsServices sets the AwsServices field's value. +func (s *Recommendation) SetAwsServices(v []*string) *Recommendation { + s.AwsServices = v + return s +} + +// SetCheckArn sets the CheckArn field's value. +func (s *Recommendation) SetCheckArn(v string) *Recommendation { + s.CheckArn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *Recommendation) SetCreatedAt(v time.Time) *Recommendation { + s.CreatedAt = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *Recommendation) SetCreatedBy(v string) *Recommendation { + s.CreatedBy = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Recommendation) SetDescription(v string) *Recommendation { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *Recommendation) SetId(v string) *Recommendation { + s.Id = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *Recommendation) SetLastUpdatedAt(v time.Time) *Recommendation { + s.LastUpdatedAt = &v + return s +} + +// SetLifecycleStage sets the LifecycleStage field's value. +func (s *Recommendation) SetLifecycleStage(v string) *Recommendation { + s.LifecycleStage = &v + return s +} + +// SetName sets the Name field's value. +func (s *Recommendation) SetName(v string) *Recommendation { + s.Name = &v + return s +} + +// SetPillarSpecificAggregates sets the PillarSpecificAggregates field's value. +func (s *Recommendation) SetPillarSpecificAggregates(v *RecommendationPillarSpecificAggregates) *Recommendation { + s.PillarSpecificAggregates = v + return s +} + +// SetPillars sets the Pillars field's value. +func (s *Recommendation) SetPillars(v []*string) *Recommendation { + s.Pillars = v + return s +} + +// SetResolvedAt sets the ResolvedAt field's value. +func (s *Recommendation) SetResolvedAt(v time.Time) *Recommendation { + s.ResolvedAt = &v + return s +} + +// SetResourcesAggregates sets the ResourcesAggregates field's value. +func (s *Recommendation) SetResourcesAggregates(v *RecommendationResourcesAggregates) *Recommendation { + s.ResourcesAggregates = v + return s +} + +// SetSource sets the Source field's value. +func (s *Recommendation) SetSource(v string) *Recommendation { + s.Source = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Recommendation) SetStatus(v string) *Recommendation { + s.Status = &v + return s +} + +// SetType sets the Type field's value. +func (s *Recommendation) SetType(v string) *Recommendation { + s.Type = &v + return s +} + +// SetUpdateReason sets the UpdateReason field's value. +func (s *Recommendation) SetUpdateReason(v string) *Recommendation { + s.UpdateReason = &v + return s +} + +// SetUpdateReasonCode sets the UpdateReasonCode field's value. +func (s *Recommendation) SetUpdateReasonCode(v string) *Recommendation { + s.UpdateReasonCode = &v + return s +} + +// SetUpdatedOnBehalfOf sets the UpdatedOnBehalfOf field's value. +func (s *Recommendation) SetUpdatedOnBehalfOf(v string) *Recommendation { + s.UpdatedOnBehalfOf = &v + return s +} + +// SetUpdatedOnBehalfOfJobTitle sets the UpdatedOnBehalfOfJobTitle field's value. +func (s *Recommendation) SetUpdatedOnBehalfOfJobTitle(v string) *Recommendation { + s.UpdatedOnBehalfOfJobTitle = &v + return s +} + +// Cost optimizing aggregates for a Recommendation +type RecommendationCostOptimizingAggregates struct { + _ struct{} `type:"structure"` + + // The estimated monthly savings + // + // EstimatedMonthlySavings is a required field + EstimatedMonthlySavings *float64 `locationName:"estimatedMonthlySavings" type:"double" required:"true"` + + // The estimated percently monthly savings + // + // EstimatedPercentMonthlySavings is a required field + EstimatedPercentMonthlySavings *float64 `locationName:"estimatedPercentMonthlySavings" type:"double" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecommendationCostOptimizingAggregates) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecommendationCostOptimizingAggregates) GoString() string { + return s.String() +} + +// SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value. +func (s *RecommendationCostOptimizingAggregates) SetEstimatedMonthlySavings(v float64) *RecommendationCostOptimizingAggregates { + s.EstimatedMonthlySavings = &v + return s +} + +// SetEstimatedPercentMonthlySavings sets the EstimatedPercentMonthlySavings field's value. +func (s *RecommendationCostOptimizingAggregates) SetEstimatedPercentMonthlySavings(v float64) *RecommendationCostOptimizingAggregates { + s.EstimatedPercentMonthlySavings = &v + return s +} + +// Recommendation pillar aggregates +type RecommendationPillarSpecificAggregates struct { + _ struct{} `type:"structure"` + + // Cost optimizing aggregates + CostOptimizing *RecommendationCostOptimizingAggregates `locationName:"costOptimizing" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecommendationPillarSpecificAggregates) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecommendationPillarSpecificAggregates) GoString() string { + return s.String() +} + +// SetCostOptimizing sets the CostOptimizing field's value. +func (s *RecommendationPillarSpecificAggregates) SetCostOptimizing(v *RecommendationCostOptimizingAggregates) *RecommendationPillarSpecificAggregates { + s.CostOptimizing = v + return s +} + +// Summary of a Recommendation Resource +type RecommendationResourceSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the Recommendation Resource + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The AWS resource identifier + // + // AwsResourceId is a required field + AwsResourceId *string `locationName:"awsResourceId" type:"string" required:"true"` + + // The ID of the Recommendation Resource + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // When the Recommendation Resource was last updated + // + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // Metadata associated with the Recommendation Resource + // + // Metadata is a required field + Metadata map[string]*string `locationName:"metadata" type:"map" required:"true"` + + // The Recommendation ARN + // + // RecommendationArn is a required field + RecommendationArn *string `locationName:"recommendationArn" min:"20" type:"string" required:"true"` + + // The AWS Region code that the Recommendation Resource is in + // + // RegionCode is a required field + RegionCode *string `locationName:"regionCode" min:"9" type:"string" required:"true"` + + // The current status of the Recommendation Resource + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"ResourceStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecommendationResourceSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecommendationResourceSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *RecommendationResourceSummary) SetArn(v string) *RecommendationResourceSummary { + s.Arn = &v + return s +} + +// SetAwsResourceId sets the AwsResourceId field's value. +func (s *RecommendationResourceSummary) SetAwsResourceId(v string) *RecommendationResourceSummary { + s.AwsResourceId = &v + return s +} + +// SetId sets the Id field's value. +func (s *RecommendationResourceSummary) SetId(v string) *RecommendationResourceSummary { + s.Id = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *RecommendationResourceSummary) SetLastUpdatedAt(v time.Time) *RecommendationResourceSummary { + s.LastUpdatedAt = &v + return s +} + +// SetMetadata sets the Metadata field's value. +func (s *RecommendationResourceSummary) SetMetadata(v map[string]*string) *RecommendationResourceSummary { + s.Metadata = v + return s +} + +// SetRecommendationArn sets the RecommendationArn field's value. +func (s *RecommendationResourceSummary) SetRecommendationArn(v string) *RecommendationResourceSummary { + s.RecommendationArn = &v + return s +} + +// SetRegionCode sets the RegionCode field's value. +func (s *RecommendationResourceSummary) SetRegionCode(v string) *RecommendationResourceSummary { + s.RegionCode = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *RecommendationResourceSummary) SetStatus(v string) *RecommendationResourceSummary { + s.Status = &v + return s +} + +// Aggregation of Recommendation Resources +type RecommendationResourcesAggregates struct { + _ struct{} `type:"structure"` + + // The number of AWS resources that were flagged to have errors according to + // the Trusted Advisor check + // + // ErrorCount is a required field + ErrorCount *int64 `locationName:"errorCount" type:"long" required:"true"` + + // The number of AWS resources that were flagged to be OK according to the Trusted + // Advisor check + // + // OkCount is a required field + OkCount *int64 `locationName:"okCount" type:"long" required:"true"` + + // The number of AWS resources that were flagged to have warning according to + // the Trusted Advisor check + // + // WarningCount is a required field + WarningCount *int64 `locationName:"warningCount" type:"long" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecommendationResourcesAggregates) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecommendationResourcesAggregates) GoString() string { + return s.String() +} + +// SetErrorCount sets the ErrorCount field's value. +func (s *RecommendationResourcesAggregates) SetErrorCount(v int64) *RecommendationResourcesAggregates { + s.ErrorCount = &v + return s +} + +// SetOkCount sets the OkCount field's value. +func (s *RecommendationResourcesAggregates) SetOkCount(v int64) *RecommendationResourcesAggregates { + s.OkCount = &v + return s +} + +// SetWarningCount sets the WarningCount field's value. +func (s *RecommendationResourcesAggregates) SetWarningCount(v int64) *RecommendationResourcesAggregates { + s.WarningCount = &v + return s +} + +// Summary of Recommendation for an Account +type RecommendationSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the Recommendation + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The AWS Services that the Recommendation applies to + AwsServices []*string `locationName:"awsServices" type:"list"` + + // The AWS Trusted Advisor Check ARN that relates to the Recommendation + CheckArn *string `locationName:"checkArn" type:"string"` + + // When the Recommendation was created, if created by AWS Trusted Advisor Priority + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"` + + // The ID which identifies where the Recommendation was produced + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // When the Recommendation was last updated + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" timestampFormat:"iso8601"` + + // The lifecycle stage from AWS Trusted Advisor Priority + LifecycleStage *string `locationName:"lifecycleStage" type:"string" enum:"RecommendationLifecycleStage"` + + // The name of the AWS Trusted Advisor Recommendation + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The pillar aggregations for cost savings + PillarSpecificAggregates *RecommendationPillarSpecificAggregates `locationName:"pillarSpecificAggregates" type:"structure"` + + // The Pillars that the Recommendation is optimizing + // + // Pillars is a required field + Pillars []*string `locationName:"pillars" type:"list" required:"true" enum:"RecommendationPillar"` + + // An aggregation of all resources + // + // ResourcesAggregates is a required field + ResourcesAggregates *RecommendationResourcesAggregates `locationName:"resourcesAggregates" type:"structure" required:"true"` + + // The source of the Recommendation + // + // Source is a required field + Source *string `locationName:"source" type:"string" required:"true" enum:"RecommendationSource"` + + // The status of the Recommendation + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"RecommendationStatus"` + + // Whether the Recommendation was automated or generated by AWS Trusted Advisor + // Priority + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"RecommendationType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecommendationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecommendationSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *RecommendationSummary) SetArn(v string) *RecommendationSummary { + s.Arn = &v + return s +} + +// SetAwsServices sets the AwsServices field's value. +func (s *RecommendationSummary) SetAwsServices(v []*string) *RecommendationSummary { + s.AwsServices = v + return s +} + +// SetCheckArn sets the CheckArn field's value. +func (s *RecommendationSummary) SetCheckArn(v string) *RecommendationSummary { + s.CheckArn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *RecommendationSummary) SetCreatedAt(v time.Time) *RecommendationSummary { + s.CreatedAt = &v + return s +} + +// SetId sets the Id field's value. +func (s *RecommendationSummary) SetId(v string) *RecommendationSummary { + s.Id = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *RecommendationSummary) SetLastUpdatedAt(v time.Time) *RecommendationSummary { + s.LastUpdatedAt = &v + return s +} + +// SetLifecycleStage sets the LifecycleStage field's value. +func (s *RecommendationSummary) SetLifecycleStage(v string) *RecommendationSummary { + s.LifecycleStage = &v + return s +} + +// SetName sets the Name field's value. +func (s *RecommendationSummary) SetName(v string) *RecommendationSummary { + s.Name = &v + return s +} + +// SetPillarSpecificAggregates sets the PillarSpecificAggregates field's value. +func (s *RecommendationSummary) SetPillarSpecificAggregates(v *RecommendationPillarSpecificAggregates) *RecommendationSummary { + s.PillarSpecificAggregates = v + return s +} + +// SetPillars sets the Pillars field's value. +func (s *RecommendationSummary) SetPillars(v []*string) *RecommendationSummary { + s.Pillars = v + return s +} + +// SetResourcesAggregates sets the ResourcesAggregates field's value. +func (s *RecommendationSummary) SetResourcesAggregates(v *RecommendationResourcesAggregates) *RecommendationSummary { + s.ResourcesAggregates = v + return s +} + +// SetSource sets the Source field's value. +func (s *RecommendationSummary) SetSource(v string) *RecommendationSummary { + s.Source = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *RecommendationSummary) SetStatus(v string) *RecommendationSummary { + s.Status = &v + return s +} + +// SetType sets the Type field's value. +func (s *RecommendationSummary) SetType(v string) *RecommendationSummary { + s.Type = &v + return s +} + +// Exception that the requested resource has not been found +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) 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", 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 +} + +// Exception to notify that requests are being throttled +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +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 "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) 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 *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UpdateOrganizationRecommendationLifecycleInput struct { + _ struct{} `type:"structure"` + + // The new lifecycle stage + // + // LifecycleStage is a required field + LifecycleStage *string `locationName:"lifecycleStage" type:"string" required:"true" enum:"UpdateRecommendationLifecycleStage"` + + // The Recommendation identifier for AWS Trusted Advisor Priority recommendations + // + // OrganizationRecommendationIdentifier is a required field + OrganizationRecommendationIdentifier *string `location:"uri" locationName:"organizationRecommendationIdentifier" min:"20" type:"string" required:"true"` + + // Reason for the lifecycle stage change + // + // UpdateReason is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateOrganizationRecommendationLifecycleInput's + // String and GoString methods. + UpdateReason *string `locationName:"updateReason" min:"10" type:"string" sensitive:"true"` + + // Reason code for the lifecycle state change + UpdateReasonCode *string `locationName:"updateReasonCode" type:"string" enum:"UpdateRecommendationLifecycleStageReasonCode"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateOrganizationRecommendationLifecycleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateOrganizationRecommendationLifecycleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateOrganizationRecommendationLifecycleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateOrganizationRecommendationLifecycleInput"} + if s.LifecycleStage == nil { + invalidParams.Add(request.NewErrParamRequired("LifecycleStage")) + } + if s.OrganizationRecommendationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationRecommendationIdentifier")) + } + if s.OrganizationRecommendationIdentifier != nil && len(*s.OrganizationRecommendationIdentifier) < 20 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationRecommendationIdentifier", 20)) + } + if s.UpdateReason != nil && len(*s.UpdateReason) < 10 { + invalidParams.Add(request.NewErrParamMinLen("UpdateReason", 10)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLifecycleStage sets the LifecycleStage field's value. +func (s *UpdateOrganizationRecommendationLifecycleInput) SetLifecycleStage(v string) *UpdateOrganizationRecommendationLifecycleInput { + s.LifecycleStage = &v + return s +} + +// SetOrganizationRecommendationIdentifier sets the OrganizationRecommendationIdentifier field's value. +func (s *UpdateOrganizationRecommendationLifecycleInput) SetOrganizationRecommendationIdentifier(v string) *UpdateOrganizationRecommendationLifecycleInput { + s.OrganizationRecommendationIdentifier = &v + return s +} + +// SetUpdateReason sets the UpdateReason field's value. +func (s *UpdateOrganizationRecommendationLifecycleInput) SetUpdateReason(v string) *UpdateOrganizationRecommendationLifecycleInput { + s.UpdateReason = &v + return s +} + +// SetUpdateReasonCode sets the UpdateReasonCode field's value. +func (s *UpdateOrganizationRecommendationLifecycleInput) SetUpdateReasonCode(v string) *UpdateOrganizationRecommendationLifecycleInput { + s.UpdateReasonCode = &v + return s +} + +type UpdateOrganizationRecommendationLifecycleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateOrganizationRecommendationLifecycleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateOrganizationRecommendationLifecycleOutput) GoString() string { + return s.String() +} + +type UpdateRecommendationLifecycleInput struct { + _ struct{} `type:"structure"` + + // The new lifecycle stage + // + // LifecycleStage is a required field + LifecycleStage *string `locationName:"lifecycleStage" type:"string" required:"true" enum:"UpdateRecommendationLifecycleStage"` + + // The Recommendation identifier for AWS Trusted Advisor Priority recommendations + // + // RecommendationIdentifier is a required field + RecommendationIdentifier *string `location:"uri" locationName:"recommendationIdentifier" min:"20" type:"string" required:"true"` + + // Reason for the lifecycle stage change + // + // UpdateReason is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateRecommendationLifecycleInput's + // String and GoString methods. + UpdateReason *string `locationName:"updateReason" min:"10" type:"string" sensitive:"true"` + + // Reason code for the lifecycle state change + UpdateReasonCode *string `locationName:"updateReasonCode" type:"string" enum:"UpdateRecommendationLifecycleStageReasonCode"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRecommendationLifecycleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRecommendationLifecycleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateRecommendationLifecycleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateRecommendationLifecycleInput"} + if s.LifecycleStage == nil { + invalidParams.Add(request.NewErrParamRequired("LifecycleStage")) + } + if s.RecommendationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("RecommendationIdentifier")) + } + if s.RecommendationIdentifier != nil && len(*s.RecommendationIdentifier) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RecommendationIdentifier", 20)) + } + if s.UpdateReason != nil && len(*s.UpdateReason) < 10 { + invalidParams.Add(request.NewErrParamMinLen("UpdateReason", 10)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLifecycleStage sets the LifecycleStage field's value. +func (s *UpdateRecommendationLifecycleInput) SetLifecycleStage(v string) *UpdateRecommendationLifecycleInput { + s.LifecycleStage = &v + return s +} + +// SetRecommendationIdentifier sets the RecommendationIdentifier field's value. +func (s *UpdateRecommendationLifecycleInput) SetRecommendationIdentifier(v string) *UpdateRecommendationLifecycleInput { + s.RecommendationIdentifier = &v + return s +} + +// SetUpdateReason sets the UpdateReason field's value. +func (s *UpdateRecommendationLifecycleInput) SetUpdateReason(v string) *UpdateRecommendationLifecycleInput { + s.UpdateReason = &v + return s +} + +// SetUpdateReasonCode sets the UpdateReasonCode field's value. +func (s *UpdateRecommendationLifecycleInput) SetUpdateReasonCode(v string) *UpdateRecommendationLifecycleInput { + s.UpdateReasonCode = &v + return s +} + +type UpdateRecommendationLifecycleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRecommendationLifecycleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRecommendationLifecycleOutput) GoString() string { + return s.String() +} + +// Exception that the request failed to satisfy service constraints +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +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", s.Code(), s.Message()) +} + +// 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 ( + // RecommendationLanguageEn is a RecommendationLanguage enum value + RecommendationLanguageEn = "en" + + // RecommendationLanguageJa is a RecommendationLanguage enum value + RecommendationLanguageJa = "ja" + + // RecommendationLanguageZh is a RecommendationLanguage enum value + RecommendationLanguageZh = "zh" + + // RecommendationLanguageFr is a RecommendationLanguage enum value + RecommendationLanguageFr = "fr" + + // RecommendationLanguageDe is a RecommendationLanguage enum value + RecommendationLanguageDe = "de" + + // RecommendationLanguageKo is a RecommendationLanguage enum value + RecommendationLanguageKo = "ko" + + // RecommendationLanguageZhTw is a RecommendationLanguage enum value + RecommendationLanguageZhTw = "zh_TW" + + // RecommendationLanguageIt is a RecommendationLanguage enum value + RecommendationLanguageIt = "it" + + // RecommendationLanguageEs is a RecommendationLanguage enum value + RecommendationLanguageEs = "es" + + // RecommendationLanguagePtBr is a RecommendationLanguage enum value + RecommendationLanguagePtBr = "pt_BR" + + // RecommendationLanguageId is a RecommendationLanguage enum value + RecommendationLanguageId = "id" +) + +// RecommendationLanguage_Values returns all elements of the RecommendationLanguage enum +func RecommendationLanguage_Values() []string { + return []string{ + RecommendationLanguageEn, + RecommendationLanguageJa, + RecommendationLanguageZh, + RecommendationLanguageFr, + RecommendationLanguageDe, + RecommendationLanguageKo, + RecommendationLanguageZhTw, + RecommendationLanguageIt, + RecommendationLanguageEs, + RecommendationLanguagePtBr, + RecommendationLanguageId, + } +} + +const ( + // RecommendationLifecycleStageInProgress is a RecommendationLifecycleStage enum value + RecommendationLifecycleStageInProgress = "in_progress" + + // RecommendationLifecycleStagePendingResponse is a RecommendationLifecycleStage enum value + RecommendationLifecycleStagePendingResponse = "pending_response" + + // RecommendationLifecycleStageDismissed is a RecommendationLifecycleStage enum value + RecommendationLifecycleStageDismissed = "dismissed" + + // RecommendationLifecycleStageResolved is a RecommendationLifecycleStage enum value + RecommendationLifecycleStageResolved = "resolved" +) + +// RecommendationLifecycleStage_Values returns all elements of the RecommendationLifecycleStage enum +func RecommendationLifecycleStage_Values() []string { + return []string{ + RecommendationLifecycleStageInProgress, + RecommendationLifecycleStagePendingResponse, + RecommendationLifecycleStageDismissed, + RecommendationLifecycleStageResolved, + } +} + +const ( + // RecommendationPillarCostOptimizing is a RecommendationPillar enum value + RecommendationPillarCostOptimizing = "cost_optimizing" + + // RecommendationPillarPerformance is a RecommendationPillar enum value + RecommendationPillarPerformance = "performance" + + // RecommendationPillarSecurity is a RecommendationPillar enum value + RecommendationPillarSecurity = "security" + + // RecommendationPillarServiceLimits is a RecommendationPillar enum value + RecommendationPillarServiceLimits = "service_limits" + + // RecommendationPillarFaultTolerance is a RecommendationPillar enum value + RecommendationPillarFaultTolerance = "fault_tolerance" + + // RecommendationPillarOperationalExcellence is a RecommendationPillar enum value + RecommendationPillarOperationalExcellence = "operational_excellence" +) + +// RecommendationPillar_Values returns all elements of the RecommendationPillar enum +func RecommendationPillar_Values() []string { + return []string{ + RecommendationPillarCostOptimizing, + RecommendationPillarPerformance, + RecommendationPillarSecurity, + RecommendationPillarServiceLimits, + RecommendationPillarFaultTolerance, + RecommendationPillarOperationalExcellence, + } +} + +const ( + // RecommendationSourceAwsConfig is a RecommendationSource enum value + RecommendationSourceAwsConfig = "aws_config" + + // RecommendationSourceComputeOptimizer is a RecommendationSource enum value + RecommendationSourceComputeOptimizer = "compute_optimizer" + + // RecommendationSourceCostExplorer is a RecommendationSource enum value + RecommendationSourceCostExplorer = "cost_explorer" + + // RecommendationSourceLse is a RecommendationSource enum value + RecommendationSourceLse = "lse" + + // RecommendationSourceManual is a RecommendationSource enum value + RecommendationSourceManual = "manual" + + // RecommendationSourcePse is a RecommendationSource enum value + RecommendationSourcePse = "pse" + + // RecommendationSourceRds is a RecommendationSource enum value + RecommendationSourceRds = "rds" + + // RecommendationSourceResilience is a RecommendationSource enum value + RecommendationSourceResilience = "resilience" + + // RecommendationSourceResilienceHub is a RecommendationSource enum value + RecommendationSourceResilienceHub = "resilience_hub" + + // RecommendationSourceSecurityHub is a RecommendationSource enum value + RecommendationSourceSecurityHub = "security_hub" + + // RecommendationSourceStir is a RecommendationSource enum value + RecommendationSourceStir = "stir" + + // RecommendationSourceTaCheck is a RecommendationSource enum value + RecommendationSourceTaCheck = "ta_check" + + // RecommendationSourceWellArchitected is a RecommendationSource enum value + RecommendationSourceWellArchitected = "well_architected" +) + +// RecommendationSource_Values returns all elements of the RecommendationSource enum +func RecommendationSource_Values() []string { + return []string{ + RecommendationSourceAwsConfig, + RecommendationSourceComputeOptimizer, + RecommendationSourceCostExplorer, + RecommendationSourceLse, + RecommendationSourceManual, + RecommendationSourcePse, + RecommendationSourceRds, + RecommendationSourceResilience, + RecommendationSourceResilienceHub, + RecommendationSourceSecurityHub, + RecommendationSourceStir, + RecommendationSourceTaCheck, + RecommendationSourceWellArchitected, + } +} + +const ( + // RecommendationStatusOk is a RecommendationStatus enum value + RecommendationStatusOk = "ok" + + // RecommendationStatusWarning is a RecommendationStatus enum value + RecommendationStatusWarning = "warning" + + // RecommendationStatusError is a RecommendationStatus enum value + RecommendationStatusError = "error" +) + +// RecommendationStatus_Values returns all elements of the RecommendationStatus enum +func RecommendationStatus_Values() []string { + return []string{ + RecommendationStatusOk, + RecommendationStatusWarning, + RecommendationStatusError, + } +} + +const ( + // RecommendationTypeStandard is a RecommendationType enum value + RecommendationTypeStandard = "standard" + + // RecommendationTypePriority is a RecommendationType enum value + RecommendationTypePriority = "priority" +) + +// RecommendationType_Values returns all elements of the RecommendationType enum +func RecommendationType_Values() []string { + return []string{ + RecommendationTypeStandard, + RecommendationTypePriority, + } +} + +const ( + // ResourceStatusOk is a ResourceStatus enum value + ResourceStatusOk = "ok" + + // ResourceStatusWarning is a ResourceStatus enum value + ResourceStatusWarning = "warning" + + // ResourceStatusError is a ResourceStatus enum value + ResourceStatusError = "error" +) + +// ResourceStatus_Values returns all elements of the ResourceStatus enum +func ResourceStatus_Values() []string { + return []string{ + ResourceStatusOk, + ResourceStatusWarning, + ResourceStatusError, + } +} + +const ( + // UpdateRecommendationLifecycleStagePendingResponse is a UpdateRecommendationLifecycleStage enum value + UpdateRecommendationLifecycleStagePendingResponse = "pending_response" + + // UpdateRecommendationLifecycleStageInProgress is a UpdateRecommendationLifecycleStage enum value + UpdateRecommendationLifecycleStageInProgress = "in_progress" + + // UpdateRecommendationLifecycleStageDismissed is a UpdateRecommendationLifecycleStage enum value + UpdateRecommendationLifecycleStageDismissed = "dismissed" + + // UpdateRecommendationLifecycleStageResolved is a UpdateRecommendationLifecycleStage enum value + UpdateRecommendationLifecycleStageResolved = "resolved" +) + +// UpdateRecommendationLifecycleStage_Values returns all elements of the UpdateRecommendationLifecycleStage enum +func UpdateRecommendationLifecycleStage_Values() []string { + return []string{ + UpdateRecommendationLifecycleStagePendingResponse, + UpdateRecommendationLifecycleStageInProgress, + UpdateRecommendationLifecycleStageDismissed, + UpdateRecommendationLifecycleStageResolved, + } +} + +const ( + // UpdateRecommendationLifecycleStageReasonCodeNonCriticalAccount is a UpdateRecommendationLifecycleStageReasonCode enum value + UpdateRecommendationLifecycleStageReasonCodeNonCriticalAccount = "non_critical_account" + + // UpdateRecommendationLifecycleStageReasonCodeTemporaryAccount is a UpdateRecommendationLifecycleStageReasonCode enum value + UpdateRecommendationLifecycleStageReasonCodeTemporaryAccount = "temporary_account" + + // UpdateRecommendationLifecycleStageReasonCodeValidBusinessCase is a UpdateRecommendationLifecycleStageReasonCode enum value + UpdateRecommendationLifecycleStageReasonCodeValidBusinessCase = "valid_business_case" + + // UpdateRecommendationLifecycleStageReasonCodeOtherMethodsAvailable is a UpdateRecommendationLifecycleStageReasonCode enum value + UpdateRecommendationLifecycleStageReasonCodeOtherMethodsAvailable = "other_methods_available" + + // UpdateRecommendationLifecycleStageReasonCodeLowPriority is a UpdateRecommendationLifecycleStageReasonCode enum value + UpdateRecommendationLifecycleStageReasonCodeLowPriority = "low_priority" + + // UpdateRecommendationLifecycleStageReasonCodeNotApplicable is a UpdateRecommendationLifecycleStageReasonCode enum value + UpdateRecommendationLifecycleStageReasonCodeNotApplicable = "not_applicable" + + // UpdateRecommendationLifecycleStageReasonCodeOther is a UpdateRecommendationLifecycleStageReasonCode enum value + UpdateRecommendationLifecycleStageReasonCodeOther = "other" +) + +// UpdateRecommendationLifecycleStageReasonCode_Values returns all elements of the UpdateRecommendationLifecycleStageReasonCode enum +func UpdateRecommendationLifecycleStageReasonCode_Values() []string { + return []string{ + UpdateRecommendationLifecycleStageReasonCodeNonCriticalAccount, + UpdateRecommendationLifecycleStageReasonCodeTemporaryAccount, + UpdateRecommendationLifecycleStageReasonCodeValidBusinessCase, + UpdateRecommendationLifecycleStageReasonCodeOtherMethodsAvailable, + UpdateRecommendationLifecycleStageReasonCodeLowPriority, + UpdateRecommendationLifecycleStageReasonCodeNotApplicable, + UpdateRecommendationLifecycleStageReasonCodeOther, + } +} diff --git a/service/trustedadvisor/doc.go b/service/trustedadvisor/doc.go new file mode 100644 index 00000000000..c3a7e166069 --- /dev/null +++ b/service/trustedadvisor/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package trustedadvisor provides the client and types for making API +// requests to TrustedAdvisor Public API. +// +// # TrustedAdvisor Public API +// +// See https://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15 for more information on this service. +// +// See trustedadvisor package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/trustedadvisor/ +// +// # Using the Client +// +// To contact TrustedAdvisor Public API with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the TrustedAdvisor Public API client TrustedAdvisor for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/trustedadvisor/#New +package trustedadvisor diff --git a/service/trustedadvisor/errors.go b/service/trustedadvisor/errors.go new file mode 100644 index 00000000000..b0946375156 --- /dev/null +++ b/service/trustedadvisor/errors.go @@ -0,0 +1,56 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package trustedadvisor + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // Exception that access has been denied due to insufficient access + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // Exception that the request was denied due to conflictions in state + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // Exception to notify that an unexpected internal error occurred during processing + // of the request + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // Exception that the requested resource has not been found + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // Exception to notify that requests are being throttled + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // Exception that the request failed to satisfy service constraints + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ThrottlingException": newErrorThrottlingException, + "ValidationException": newErrorValidationException, +} diff --git a/service/trustedadvisor/service.go b/service/trustedadvisor/service.go new file mode 100644 index 00000000000..18a7ca88507 --- /dev/null +++ b/service/trustedadvisor/service.go @@ -0,0 +1,106 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package trustedadvisor + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// TrustedAdvisor provides the API operation methods for making requests to +// TrustedAdvisor Public API. See this package's package overview docs +// for details on the service. +// +// TrustedAdvisor methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type TrustedAdvisor struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "TrustedAdvisor" // Name of service. + EndpointsID = "trustedadvisor" // ID to lookup a service endpoint with. + ServiceID = "TrustedAdvisor" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the TrustedAdvisor client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// +// mySession := session.Must(session.NewSession()) +// +// // Create a TrustedAdvisor client from just a session. +// svc := trustedadvisor.New(mySession) +// +// // Create a TrustedAdvisor client with additional configuration +// svc := trustedadvisor.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *TrustedAdvisor { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "trustedadvisor" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *TrustedAdvisor { + svc := &TrustedAdvisor{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2022-09-15", + ResolvedRegion: resolvedRegion, + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a TrustedAdvisor operation and runs any +// custom request initialization. +func (c *TrustedAdvisor) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/trustedadvisor/trustedadvisoriface/interface.go b/service/trustedadvisor/trustedadvisoriface/interface.go new file mode 100644 index 00000000000..d381aee93e3 --- /dev/null +++ b/service/trustedadvisor/trustedadvisoriface/interface.go @@ -0,0 +1,122 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package trustedadvisoriface provides an interface to enable mocking the TrustedAdvisor Public API service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package trustedadvisoriface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/trustedadvisor" +) + +// TrustedAdvisorAPI provides an interface to enable mocking the +// trustedadvisor.TrustedAdvisor service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // TrustedAdvisor Public API. +// func myFunc(svc trustedadvisoriface.TrustedAdvisorAPI) bool { +// // Make svc.GetOrganizationRecommendation request +// } +// +// func main() { +// sess := session.New() +// svc := trustedadvisor.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockTrustedAdvisorClient struct { +// trustedadvisoriface.TrustedAdvisorAPI +// } +// func (m *mockTrustedAdvisorClient) GetOrganizationRecommendation(input *trustedadvisor.GetOrganizationRecommendationInput) (*trustedadvisor.GetOrganizationRecommendationOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockTrustedAdvisorClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type TrustedAdvisorAPI interface { + GetOrganizationRecommendation(*trustedadvisor.GetOrganizationRecommendationInput) (*trustedadvisor.GetOrganizationRecommendationOutput, error) + GetOrganizationRecommendationWithContext(aws.Context, *trustedadvisor.GetOrganizationRecommendationInput, ...request.Option) (*trustedadvisor.GetOrganizationRecommendationOutput, error) + GetOrganizationRecommendationRequest(*trustedadvisor.GetOrganizationRecommendationInput) (*request.Request, *trustedadvisor.GetOrganizationRecommendationOutput) + + GetRecommendation(*trustedadvisor.GetRecommendationInput) (*trustedadvisor.GetRecommendationOutput, error) + GetRecommendationWithContext(aws.Context, *trustedadvisor.GetRecommendationInput, ...request.Option) (*trustedadvisor.GetRecommendationOutput, error) + GetRecommendationRequest(*trustedadvisor.GetRecommendationInput) (*request.Request, *trustedadvisor.GetRecommendationOutput) + + ListChecks(*trustedadvisor.ListChecksInput) (*trustedadvisor.ListChecksOutput, error) + ListChecksWithContext(aws.Context, *trustedadvisor.ListChecksInput, ...request.Option) (*trustedadvisor.ListChecksOutput, error) + ListChecksRequest(*trustedadvisor.ListChecksInput) (*request.Request, *trustedadvisor.ListChecksOutput) + + ListChecksPages(*trustedadvisor.ListChecksInput, func(*trustedadvisor.ListChecksOutput, bool) bool) error + ListChecksPagesWithContext(aws.Context, *trustedadvisor.ListChecksInput, func(*trustedadvisor.ListChecksOutput, bool) bool, ...request.Option) error + + ListOrganizationRecommendationAccounts(*trustedadvisor.ListOrganizationRecommendationAccountsInput) (*trustedadvisor.ListOrganizationRecommendationAccountsOutput, error) + ListOrganizationRecommendationAccountsWithContext(aws.Context, *trustedadvisor.ListOrganizationRecommendationAccountsInput, ...request.Option) (*trustedadvisor.ListOrganizationRecommendationAccountsOutput, error) + ListOrganizationRecommendationAccountsRequest(*trustedadvisor.ListOrganizationRecommendationAccountsInput) (*request.Request, *trustedadvisor.ListOrganizationRecommendationAccountsOutput) + + ListOrganizationRecommendationAccountsPages(*trustedadvisor.ListOrganizationRecommendationAccountsInput, func(*trustedadvisor.ListOrganizationRecommendationAccountsOutput, bool) bool) error + ListOrganizationRecommendationAccountsPagesWithContext(aws.Context, *trustedadvisor.ListOrganizationRecommendationAccountsInput, func(*trustedadvisor.ListOrganizationRecommendationAccountsOutput, bool) bool, ...request.Option) error + + ListOrganizationRecommendationResources(*trustedadvisor.ListOrganizationRecommendationResourcesInput) (*trustedadvisor.ListOrganizationRecommendationResourcesOutput, error) + ListOrganizationRecommendationResourcesWithContext(aws.Context, *trustedadvisor.ListOrganizationRecommendationResourcesInput, ...request.Option) (*trustedadvisor.ListOrganizationRecommendationResourcesOutput, error) + ListOrganizationRecommendationResourcesRequest(*trustedadvisor.ListOrganizationRecommendationResourcesInput) (*request.Request, *trustedadvisor.ListOrganizationRecommendationResourcesOutput) + + ListOrganizationRecommendationResourcesPages(*trustedadvisor.ListOrganizationRecommendationResourcesInput, func(*trustedadvisor.ListOrganizationRecommendationResourcesOutput, bool) bool) error + ListOrganizationRecommendationResourcesPagesWithContext(aws.Context, *trustedadvisor.ListOrganizationRecommendationResourcesInput, func(*trustedadvisor.ListOrganizationRecommendationResourcesOutput, bool) bool, ...request.Option) error + + ListOrganizationRecommendations(*trustedadvisor.ListOrganizationRecommendationsInput) (*trustedadvisor.ListOrganizationRecommendationsOutput, error) + ListOrganizationRecommendationsWithContext(aws.Context, *trustedadvisor.ListOrganizationRecommendationsInput, ...request.Option) (*trustedadvisor.ListOrganizationRecommendationsOutput, error) + ListOrganizationRecommendationsRequest(*trustedadvisor.ListOrganizationRecommendationsInput) (*request.Request, *trustedadvisor.ListOrganizationRecommendationsOutput) + + ListOrganizationRecommendationsPages(*trustedadvisor.ListOrganizationRecommendationsInput, func(*trustedadvisor.ListOrganizationRecommendationsOutput, bool) bool) error + ListOrganizationRecommendationsPagesWithContext(aws.Context, *trustedadvisor.ListOrganizationRecommendationsInput, func(*trustedadvisor.ListOrganizationRecommendationsOutput, bool) bool, ...request.Option) error + + ListRecommendationResources(*trustedadvisor.ListRecommendationResourcesInput) (*trustedadvisor.ListRecommendationResourcesOutput, error) + ListRecommendationResourcesWithContext(aws.Context, *trustedadvisor.ListRecommendationResourcesInput, ...request.Option) (*trustedadvisor.ListRecommendationResourcesOutput, error) + ListRecommendationResourcesRequest(*trustedadvisor.ListRecommendationResourcesInput) (*request.Request, *trustedadvisor.ListRecommendationResourcesOutput) + + ListRecommendationResourcesPages(*trustedadvisor.ListRecommendationResourcesInput, func(*trustedadvisor.ListRecommendationResourcesOutput, bool) bool) error + ListRecommendationResourcesPagesWithContext(aws.Context, *trustedadvisor.ListRecommendationResourcesInput, func(*trustedadvisor.ListRecommendationResourcesOutput, bool) bool, ...request.Option) error + + ListRecommendations(*trustedadvisor.ListRecommendationsInput) (*trustedadvisor.ListRecommendationsOutput, error) + ListRecommendationsWithContext(aws.Context, *trustedadvisor.ListRecommendationsInput, ...request.Option) (*trustedadvisor.ListRecommendationsOutput, error) + ListRecommendationsRequest(*trustedadvisor.ListRecommendationsInput) (*request.Request, *trustedadvisor.ListRecommendationsOutput) + + ListRecommendationsPages(*trustedadvisor.ListRecommendationsInput, func(*trustedadvisor.ListRecommendationsOutput, bool) bool) error + ListRecommendationsPagesWithContext(aws.Context, *trustedadvisor.ListRecommendationsInput, func(*trustedadvisor.ListRecommendationsOutput, bool) bool, ...request.Option) error + + UpdateOrganizationRecommendationLifecycle(*trustedadvisor.UpdateOrganizationRecommendationLifecycleInput) (*trustedadvisor.UpdateOrganizationRecommendationLifecycleOutput, error) + UpdateOrganizationRecommendationLifecycleWithContext(aws.Context, *trustedadvisor.UpdateOrganizationRecommendationLifecycleInput, ...request.Option) (*trustedadvisor.UpdateOrganizationRecommendationLifecycleOutput, error) + UpdateOrganizationRecommendationLifecycleRequest(*trustedadvisor.UpdateOrganizationRecommendationLifecycleInput) (*request.Request, *trustedadvisor.UpdateOrganizationRecommendationLifecycleOutput) + + UpdateRecommendationLifecycle(*trustedadvisor.UpdateRecommendationLifecycleInput) (*trustedadvisor.UpdateRecommendationLifecycleOutput, error) + UpdateRecommendationLifecycleWithContext(aws.Context, *trustedadvisor.UpdateRecommendationLifecycleInput, ...request.Option) (*trustedadvisor.UpdateRecommendationLifecycleOutput, error) + UpdateRecommendationLifecycleRequest(*trustedadvisor.UpdateRecommendationLifecycleInput) (*request.Request, *trustedadvisor.UpdateRecommendationLifecycleOutput) +} + +var _ TrustedAdvisorAPI = (*trustedadvisor.TrustedAdvisor)(nil) diff --git a/service/verifiedpermissions/api.go b/service/verifiedpermissions/api.go index 579fb9e6232..3f150bc1bc6 100644 --- a/service/verifiedpermissions/api.go +++ b/service/verifiedpermissions/api.go @@ -13,6 +13,156 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) +const opBatchIsAuthorized = "BatchIsAuthorized" + +// BatchIsAuthorizedRequest generates a "aws/request.Request" representing the +// client's request for the BatchIsAuthorized operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchIsAuthorized for more information on using the BatchIsAuthorized +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the BatchIsAuthorizedRequest method. +// req, resp := client.BatchIsAuthorizedRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/BatchIsAuthorized +func (c *VerifiedPermissions) BatchIsAuthorizedRequest(input *BatchIsAuthorizedInput) (req *request.Request, output *BatchIsAuthorizedOutput) { + op := &request.Operation{ + Name: opBatchIsAuthorized, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchIsAuthorizedInput{} + } + + output = &BatchIsAuthorizedOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchIsAuthorized API operation for Amazon Verified Permissions. +// +// Makes a series of decisions about multiple authorization requests for one +// principal or resource. Each request contains the equivalent content of an +// IsAuthorized request: principal, action, resource, and context. Either the +// principal or the resource parameter must be identical across all requests. +// For example, Verified Permissions won't evaluate a pair of requests where +// bob views photo1 and alice views photo2. Authorization of bob to view photo1 +// and photo2, or bob and alice to view photo1, are valid batches. +// +// The request is evaluated against all policies in the specified policy store +// that match the entities that you declare. The result of the decisions is +// a series of Allow or Deny responses, along with the IDs of the policies that +// produced each decision. +// +// The entities of a BatchIsAuthorized API request can contain up to 100 principals +// and up to 100 resources. The requests of a BatchIsAuthorized API request +// can contain up to 30 requests. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Verified Permissions's +// API operation BatchIsAuthorized for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request failed because one or more input parameters don't satisfy their +// constraint requirements. The output is provided as a list of fields and a +// reason for each field that isn't valid. +// +// The possible reasons include the following: +// +// - UnrecognizedEntityType The policy includes an entity type that isn't +// found in the schema. +// +// - UnrecognizedActionId The policy includes an action id that isn't found +// in the schema. +// +// - InvalidActionApplication The policy includes an action that, according +// to the schema, doesn't support the specified principal and resource. +// +// - UnexpectedType The policy included an operand that isn't a valid type +// for the specified operation. +// +// - IncompatibleTypes The types of elements included in a set, or the types +// of expressions used in an if...then...else clause aren't compatible in +// this context. +// +// - MissingAttribute The policy attempts to access a record or entity attribute +// that isn't specified in the schema. Test for the existence of the attribute +// first before attempting to access its value. For more information, see +// the has (presence of attribute test) operator (https://docs.cedarpolicy.com/policies/syntax-operators.html#has-presence-of-attribute-test) +// in the Cedar Policy Language Guide. +// +// - UnsafeOptionalAttributeAccess The policy attempts to access a record +// or entity attribute that is optional and isn't guaranteed to be present. +// Test for the existence of the attribute first before attempting to access +// its value. For more information, see the has (presence of attribute test) +// operator (https://docs.cedarpolicy.com/policies/syntax-operators.html#has-presence-of-attribute-test) +// in the Cedar Policy Language Guide. +// +// - ImpossiblePolicy Cedar has determined that a policy condition always +// evaluates to false. If the policy is always false, it can never apply +// to any query, and so it can never affect an authorization decision. +// +// - WrongNumberArguments The policy references an extension type with the +// wrong number of arguments. +// +// - FunctionArgumentValidationError Cedar couldn't parse the argument passed +// to an extension type. For example, a string that is to be parsed as an +// IPv4 address can contain only digits and the period character. +// +// - AccessDeniedException +// You don't have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The request failed because it references a resource that doesn't exist. +// +// - ThrottlingException +// The request failed because it exceeded a throttling quota. +// +// - InternalServerException +// The request failed because of an internal error. Try your request again later +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/BatchIsAuthorized +func (c *VerifiedPermissions) BatchIsAuthorized(input *BatchIsAuthorizedInput) (*BatchIsAuthorizedOutput, error) { + req, out := c.BatchIsAuthorizedRequest(input) + return out, req.Send() +} + +// BatchIsAuthorizedWithContext is the same as BatchIsAuthorized with the addition of +// the ability to pass a context and additional request options. +// +// See BatchIsAuthorized for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *VerifiedPermissions) BatchIsAuthorizedWithContext(ctx aws.Context, input *BatchIsAuthorizedInput, opts ...request.Option) (*BatchIsAuthorizedOutput, error) { + req, out := c.BatchIsAuthorizedRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateIdentitySource = "CreateIdentitySource" // CreateIdentitySourceRequest generates a "aws/request.Request" representing the @@ -3781,7 +3931,8 @@ func (s *AccessDeniedException) RequestID() string { // Contains information about an action for a request for which an authorization // decision is made. // -// This data type is used as an request parameter to the IsAuthorized (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html) +// This data type is used as a request parameter to the IsAuthorized (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html), +// BatchIsAuthorized (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_BatchIsAuthorized.html), // and IsAuthorizedWithToken (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html) // operations. // @@ -3866,7 +4017,8 @@ func (s *ActionIdentifier) SetActionType(v string) *ActionIdentifier { // authorization decision is made. // // This data type is used as a member of the ContextDefinition (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ContextDefinition.html) -// structure which is uses as a request parameter for the IsAuthorized (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html) +// structure which is uses as a request parameter for the IsAuthorized (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html), +// BatchIsAuthorized (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_BatchIsAuthorized.html), // and IsAuthorizedWithToken (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html) // operations. type AttributeValue struct { @@ -4010,6 +4162,302 @@ func (s *AttributeValue) SetString_(v string) *AttributeValue { return s } +type BatchIsAuthorizedInput struct { + _ struct{} `type:"structure"` + + // Specifies the list of resources and principals and their associated attributes + // that Verified Permissions can examine when evaluating the policies. + // + // You can include only principal and resource entities in this parameter; you + // can't include actions. You must specify actions in the schema. + Entities *EntitiesDefinition `locationName:"entities" type:"structure"` + + // Specifies the ID of the policy store. Policies in this policy store will + // be used to make the authorization decisions for the input. + // + // PolicyStoreId is a required field + PolicyStoreId *string `locationName:"policyStoreId" min:"1" type:"string" required:"true"` + + // An array of up to 30 requests that you want Verified Permissions to evaluate. + // + // Requests is a required field + Requests []*BatchIsAuthorizedInputItem `locationName:"requests" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchIsAuthorizedInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchIsAuthorizedInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchIsAuthorizedInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchIsAuthorizedInput"} + if s.PolicyStoreId == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyStoreId")) + } + if s.PolicyStoreId != nil && len(*s.PolicyStoreId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PolicyStoreId", 1)) + } + if s.Requests == nil { + invalidParams.Add(request.NewErrParamRequired("Requests")) + } + if s.Requests != nil && len(s.Requests) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Requests", 1)) + } + if s.Entities != nil { + if err := s.Entities.Validate(); err != nil { + invalidParams.AddNested("Entities", err.(request.ErrInvalidParams)) + } + } + if s.Requests != nil { + for i, v := range s.Requests { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Requests", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEntities sets the Entities field's value. +func (s *BatchIsAuthorizedInput) SetEntities(v *EntitiesDefinition) *BatchIsAuthorizedInput { + s.Entities = v + return s +} + +// SetPolicyStoreId sets the PolicyStoreId field's value. +func (s *BatchIsAuthorizedInput) SetPolicyStoreId(v string) *BatchIsAuthorizedInput { + s.PolicyStoreId = &v + return s +} + +// SetRequests sets the Requests field's value. +func (s *BatchIsAuthorizedInput) SetRequests(v []*BatchIsAuthorizedInputItem) *BatchIsAuthorizedInput { + s.Requests = v + return s +} + +// An authorization request that you include in a BatchIsAuthorized API request. +type BatchIsAuthorizedInputItem struct { + _ struct{} `type:"structure"` + + // Specifies the requested action to be authorized. For example, is the principal + // authorized to perform this action on the resource? + Action *ActionIdentifier `locationName:"action" type:"structure"` + + // Specifies additional context that can be used to make more granular authorization + // decisions. + Context *ContextDefinition `locationName:"context" type:"structure"` + + // Specifies the principal for which the authorization decision is to be made. + Principal *EntityIdentifier `locationName:"principal" type:"structure"` + + // Specifies the resource for which the authorization decision is to be made. + Resource *EntityIdentifier `locationName:"resource" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchIsAuthorizedInputItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchIsAuthorizedInputItem) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchIsAuthorizedInputItem) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchIsAuthorizedInputItem"} + if s.Action != nil { + if err := s.Action.Validate(); err != nil { + invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) + } + } + if s.Context != nil { + if err := s.Context.Validate(); err != nil { + invalidParams.AddNested("Context", err.(request.ErrInvalidParams)) + } + } + if s.Principal != nil { + if err := s.Principal.Validate(); err != nil { + invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) + } + } + if s.Resource != nil { + if err := s.Resource.Validate(); err != nil { + invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAction sets the Action field's value. +func (s *BatchIsAuthorizedInputItem) SetAction(v *ActionIdentifier) *BatchIsAuthorizedInputItem { + s.Action = v + return s +} + +// SetContext sets the Context field's value. +func (s *BatchIsAuthorizedInputItem) SetContext(v *ContextDefinition) *BatchIsAuthorizedInputItem { + s.Context = v + return s +} + +// SetPrincipal sets the Principal field's value. +func (s *BatchIsAuthorizedInputItem) SetPrincipal(v *EntityIdentifier) *BatchIsAuthorizedInputItem { + s.Principal = v + return s +} + +// SetResource sets the Resource field's value. +func (s *BatchIsAuthorizedInputItem) SetResource(v *EntityIdentifier) *BatchIsAuthorizedInputItem { + s.Resource = v + return s +} + +type BatchIsAuthorizedOutput struct { + _ struct{} `type:"structure"` + + // A series of Allow or Deny decisions for each request, and the policies that + // produced them. + // + // Results is a required field + Results []*BatchIsAuthorizedOutputItem `locationName:"results" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchIsAuthorizedOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchIsAuthorizedOutput) GoString() string { + return s.String() +} + +// SetResults sets the Results field's value. +func (s *BatchIsAuthorizedOutput) SetResults(v []*BatchIsAuthorizedOutputItem) *BatchIsAuthorizedOutput { + s.Results = v + return s +} + +// The decision, based on policy evaluation, from an individual authorization +// request in a BatchIsAuthorized API request. +type BatchIsAuthorizedOutputItem struct { + _ struct{} `type:"structure"` + + // An authorization decision that indicates if the authorization request should + // be allowed or denied. + // + // Decision is a required field + Decision *string `locationName:"decision" type:"string" required:"true" enum:"Decision"` + + // The list of determining policies used to make the authorization decision. + // For example, if there are two matching policies, where one is a forbid and + // the other is a permit, then the forbid policy will be the determining policy. + // In the case of multiple matching permit policies then there would be multiple + // determining policies. In the case that no policies match, and hence the response + // is DENY, there would be no determining policies. + // + // DeterminingPolicies is a required field + DeterminingPolicies []*DeterminingPolicyItem `locationName:"determiningPolicies" type:"list" required:"true"` + + // Errors that occurred while making an authorization decision, for example, + // a policy references an Entity or entity Attribute that does not exist in + // the slice. + // + // Errors is a required field + Errors []*EvaluationErrorItem `locationName:"errors" type:"list" required:"true"` + + // The authorization request that initiated the decision. + // + // Request is a required field + Request *BatchIsAuthorizedInputItem `locationName:"request" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchIsAuthorizedOutputItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchIsAuthorizedOutputItem) GoString() string { + return s.String() +} + +// SetDecision sets the Decision field's value. +func (s *BatchIsAuthorizedOutputItem) SetDecision(v string) *BatchIsAuthorizedOutputItem { + s.Decision = &v + return s +} + +// SetDeterminingPolicies sets the DeterminingPolicies field's value. +func (s *BatchIsAuthorizedOutputItem) SetDeterminingPolicies(v []*DeterminingPolicyItem) *BatchIsAuthorizedOutputItem { + s.DeterminingPolicies = v + return s +} + +// SetErrors sets the Errors field's value. +func (s *BatchIsAuthorizedOutputItem) SetErrors(v []*EvaluationErrorItem) *BatchIsAuthorizedOutputItem { + s.Errors = v + return s +} + +// SetRequest sets the Request field's value. +func (s *BatchIsAuthorizedOutputItem) SetRequest(v *BatchIsAuthorizedInputItem) *BatchIsAuthorizedOutputItem { + s.Request = v + return s +} + // The configuration for an identity source that represents a connection to // an Amazon Cognito user pool used as an identity provider for Verified Permissions. // @@ -4218,11 +4666,12 @@ func (s *ConflictException) RequestID() string { // evaluates this information in an authorization request as part of the when // and unless clauses in a policy. // -// This data type is used as a request parameter for the IsAuthorized (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html) +// This data type is used as a request parameter for the IsAuthorized (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html), +// BatchIsAuthorized (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_BatchIsAuthorized.html), // and IsAuthorizedWithToken (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html) // operations. // -// Example: "context":{"Context":{"":{"boolean":true},"":{"long":1234}}} +// Example: "context":{"contextMap":{"":{"boolean":true},"":{"long":1234}}} type ContextDefinition struct { _ struct{} `type:"structure"` @@ -4230,7 +4679,7 @@ type ContextDefinition struct { // request. Each attribute in this array must include a map of a data type and // its value. // - // Example: "Context":{"":{"boolean":true},"":{"long":1234}} + // Example: "contextMap":{"":{"boolean":true},"":{"long":1234}} ContextMap map[string]*AttributeValue `locationName:"contextMap" type:"map"` } @@ -5311,7 +5760,8 @@ func (s DeletePolicyTemplateOutput) GoString() string { // decision. // // This data type is used as an element in a response parameter for the IsAuthorized -// (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html) +// (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html), +// BatchIsAuthorized (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_BatchIsAuthorized.html), // and IsAuthorizedWithToken (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html) // operations. // @@ -5662,7 +6112,8 @@ func (s *EntityReference) SetUnspecified(v bool) *EntityReference { // Contains a description of an evaluation error. // -// This data type is used as a request parameter in the IsAuthorized (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html) +// This data type is a response parameter of the IsAuthorized (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html), +// BatchIsAuthorized (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_BatchIsAuthorized.html), // and IsAuthorizedWithToken (https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html) // operations. type EvaluationErrorItem struct { diff --git a/service/verifiedpermissions/verifiedpermissionsiface/interface.go b/service/verifiedpermissions/verifiedpermissionsiface/interface.go index 641471b96f2..72e36190cbd 100644 --- a/service/verifiedpermissions/verifiedpermissionsiface/interface.go +++ b/service/verifiedpermissions/verifiedpermissionsiface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // Amazon Verified Permissions. // func myFunc(svc verifiedpermissionsiface.VerifiedPermissionsAPI) bool { -// // Make svc.CreateIdentitySource request +// // Make svc.BatchIsAuthorized request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockVerifiedPermissionsClient struct { // verifiedpermissionsiface.VerifiedPermissionsAPI // } -// func (m *mockVerifiedPermissionsClient) CreateIdentitySource(input *verifiedpermissions.CreateIdentitySourceInput) (*verifiedpermissions.CreateIdentitySourceOutput, error) { +// func (m *mockVerifiedPermissionsClient) BatchIsAuthorized(input *verifiedpermissions.BatchIsAuthorizedInput) (*verifiedpermissions.BatchIsAuthorizedOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,10 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type VerifiedPermissionsAPI interface { + BatchIsAuthorized(*verifiedpermissions.BatchIsAuthorizedInput) (*verifiedpermissions.BatchIsAuthorizedOutput, error) + BatchIsAuthorizedWithContext(aws.Context, *verifiedpermissions.BatchIsAuthorizedInput, ...request.Option) (*verifiedpermissions.BatchIsAuthorizedOutput, error) + BatchIsAuthorizedRequest(*verifiedpermissions.BatchIsAuthorizedInput) (*request.Request, *verifiedpermissions.BatchIsAuthorizedOutput) + CreateIdentitySource(*verifiedpermissions.CreateIdentitySourceInput) (*verifiedpermissions.CreateIdentitySourceOutput, error) CreateIdentitySourceWithContext(aws.Context, *verifiedpermissions.CreateIdentitySourceInput, ...request.Option) (*verifiedpermissions.CreateIdentitySourceOutput, error) CreateIdentitySourceRequest(*verifiedpermissions.CreateIdentitySourceInput) (*request.Request, *verifiedpermissions.CreateIdentitySourceOutput)