diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5da53f3af4f..ff461ef8ea0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,25 @@
+Release v1.33.5 (2020-07-09)
+===
+
+### Service Client Updates
+* `service/alexaforbusiness`: Updates service API and documentation
+* `service/amplify`: Updates service documentation
+* `service/appmesh`: Updates service API, documentation, and paginators
+* `service/cloudhsmv2`: Updates service documentation
+ * Documentation updates for cloudhsmv2
+* `service/comprehend`: Updates service API and documentation
+* `service/ebs`: Updates service API and documentation
+* `service/eventbridge`: Updates service API and documentation
+* `service/events`: Updates service API and documentation
+ * Amazon CloudWatch Events/EventBridge adds support for API Gateway as a target.
+* `service/sagemaker`: Updates service API and documentation
+ * This release adds the DeleteHumanTaskUi API to Amazon Augmented AI
+* `service/secretsmanager`: Updates service API, documentation, and examples
+ * Adds support for filters on the ListSecrets API to allow filtering results by name, tag key, tag value, or description. Adds support for the BlockPublicPolicy option on the PutResourcePolicy API to block resource policies which grant a wide range of IAM principals access to secrets. Adds support for the ValidateResourcePolicy API to validate resource policies for syntax and prevent lockout error scenarios and wide access to secrets.
+* `service/sns`: Updates service documentation
+ * This release adds support for SMS origination number as an attribute in the MessageAttributes parameter for the SNS Publish API.
+* `service/wafv2`: Updates service API and documentation
+
Release v1.33.4 (2020-07-08)
===
diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go
index 1917929f6c9..6c6b805ec0e 100644
--- a/aws/endpoints/defaults.go
+++ b/aws/endpoints/defaults.go
@@ -3542,6 +3542,52 @@ var awsPartition = partition{
"us-west-2": endpoint{},
},
},
+ "macie2": service{
+
+ Endpoints: endpoints{
+ "ap-east-1": endpoint{},
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-north-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "eu-west-3": endpoint{},
+ "fips-us-east-1": endpoint{
+ Hostname: "macie2-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ "fips-us-east-2": endpoint{
+ Hostname: "macie2-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ },
+ "fips-us-west-1": endpoint{
+ Hostname: "macie2-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ },
+ "fips-us-west-2": endpoint{
+ Hostname: "macie2-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ },
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
"managedblockchain": service{
Endpoints: endpoints{
@@ -3741,7 +3787,19 @@ var awsPartition = partition{
"eu-west-1": endpoint{},
"eu-west-2": endpoint{},
"us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ "us-east-1-fips": endpoint{
+ Hostname: "models-fips.lex.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ "us-west-2": endpoint{},
+ "us-west-2-fips": endpoint{
+ Hostname: "models-fips.lex.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ },
},
},
"monitoring": service{
@@ -4430,10 +4488,34 @@ var awsPartition = partition{
"eu-central-1": endpoint{},
"eu-west-1": endpoint{},
"eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ "rekognition-fips.us-east-1": endpoint{
+ Hostname: "rekognition-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ "rekognition-fips.us-east-2": endpoint{
+ Hostname: "rekognition-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ },
+ "rekognition-fips.us-west-1": endpoint{
+ Hostname: "rekognition-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ },
+ "rekognition-fips.us-west-2": endpoint{
+ Hostname: "rekognition-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ },
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
},
},
"resource-groups": service{
@@ -8033,6 +8115,12 @@ var awsusgovPartition = partition{
"rekognition": service{
Endpoints: endpoints{
+ "rekognition-fips.us-gov-west-1": endpoint{
+ Hostname: "rekognition-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
"us-gov-west-1": endpoint{},
},
},
diff --git a/aws/version.go b/aws/version.go
index ff7ea488646..5483c85b7d6 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.33.4"
+const SDKVersion = "1.33.5"
diff --git a/models/apis/alexaforbusiness/2017-11-09/api-2.json b/models/apis/alexaforbusiness/2017-11-09/api-2.json
index 6e2598b2f13..cfe3f43a9aa 100644
--- a/models/apis/alexaforbusiness/2017-11-09/api-2.json
+++ b/models/apis/alexaforbusiness/2017-11-09/api-2.json
@@ -810,6 +810,7 @@
"errors":[
{"shape":"LimitExceededException"},
{"shape":"ConcurrentModificationException"},
+ {"shape":"NotFoundException"},
{"shape":"InvalidDeviceException"}
]
},
@@ -3166,7 +3167,6 @@
"ClientId",
"UserCode",
"ProductId",
- "DeviceSerialNumber",
"AmazonId"
],
"members":{
@@ -3174,7 +3174,8 @@
"UserCode":{"shape":"UserCode"},
"ProductId":{"shape":"ProductId"},
"DeviceSerialNumber":{"shape":"DeviceSerialNumberForAVS"},
- "AmazonId":{"shape":"AmazonId"}
+ "AmazonId":{"shape":"AmazonId"},
+ "RoomArn":{"shape":"Arn"}
}
},
"RegisterAVSDeviceResponse":{
diff --git a/models/apis/alexaforbusiness/2017-11-09/docs-2.json b/models/apis/alexaforbusiness/2017-11-09/docs-2.json
index 8181c77f952..c44d8f6d44a 100644
--- a/models/apis/alexaforbusiness/2017-11-09/docs-2.json
+++ b/models/apis/alexaforbusiness/2017-11-09/docs-2.json
@@ -271,6 +271,7 @@
"ProfileData$ProfileArn": "
The ARN of a room profile.
",
"PutRoomSkillParameterRequest$RoomArn": "The ARN of the room associated with the room skill parameter. Required.
",
"PutSkillAuthorizationRequest$RoomArn": "The room that the skill is authorized for.
",
+ "RegisterAVSDeviceRequest$RoomArn": "The ARN of the room with which to associate your AVS device.
",
"RegisterAVSDeviceResponse$DeviceArn": "The ARN of the device.
",
"ResolveRoomResponse$RoomArn": "The ARN of the room from which the skill request was invoked.
",
"RevokeInvitationRequest$UserArn": "The ARN of the user for whom to revoke an enrollment invitation. Required.
",
diff --git a/models/apis/amplify/2017-07-25/docs-2.json b/models/apis/amplify/2017-07-25/docs-2.json
index 7c3ce62e798..7b9ed53e40c 100644
--- a/models/apis/amplify/2017-07-25/docs-2.json
+++ b/models/apis/amplify/2017-07-25/docs-2.json
@@ -1,6 +1,6 @@
{
"version": "2.0",
- "service": " Welcome to the AWS Amplify API documentation. This reference provides descriptions of the actions and data types for the Amplify API.
Amplify enables developers to develop and deploy cloud-powered mobile and web apps. The Amplify Console provides a continuous delivery and hosting service for web applications. For more information, see the Amplify Console User Guide. The Amplify Framework is a comprehensive set of SDKs, libraries, tools, and documentation for client app development. For more information, see the Amplify Framework.
",
+ "service": "Amplify enables developers to develop and deploy cloud-powered mobile and web apps. The Amplify Console provides a continuous delivery and hosting service for web applications. For more information, see the Amplify Console User Guide. The Amplify Framework is a comprehensive set of SDKs, libraries, tools, and documentation for client app development. For more information, see the Amplify Framework.
",
"operations": {
"CreateApp": " Creates a new Amplify app.
",
"CreateBackendEnvironment": " Creates a new backend environment for an Amplify app.
",
@@ -643,7 +643,7 @@
"EnableBranchAutoDeletion": {
"base": null,
"refs": {
- "App$enableBranchAutoDeletion": " Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
",
+ "App$enableBranchAutoDeletion": " Automatically disconnect a branch in the Amplify Console when you delete a branch from your Git repository.
",
"CreateAppRequest$enableBranchAutoDeletion": " Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
",
"UpdateAppRequest$enableBranchAutoDeletion": " Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
"
}
diff --git a/models/apis/appmesh/2019-01-25/api-2.json b/models/apis/appmesh/2019-01-25/api-2.json
index 1d7d1a35faf..ec1ae1b975f 100644
--- a/models/apis/appmesh/2019-01-25/api-2.json
+++ b/models/apis/appmesh/2019-01-25/api-2.json
@@ -12,6 +12,47 @@
"uid": "appmesh-2019-01-25"
},
"operations": {
+ "CreateGatewayRoute": {
+ "name": "CreateGatewayRoute",
+ "http": {
+ "method": "PUT",
+ "requestUri": "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes",
+ "responseCode": 200
+ },
+ "input": {
+ "shape": "CreateGatewayRouteInput"
+ },
+ "output": {
+ "shape": "CreateGatewayRouteOutput"
+ },
+ "errors": [
+ {
+ "shape": "BadRequestException"
+ },
+ {
+ "shape": "ConflictException"
+ },
+ {
+ "shape": "ForbiddenException"
+ },
+ {
+ "shape": "InternalServerErrorException"
+ },
+ {
+ "shape": "LimitExceededException"
+ },
+ {
+ "shape": "NotFoundException"
+ },
+ {
+ "shape": "ServiceUnavailableException"
+ },
+ {
+ "shape": "TooManyRequestsException"
+ }
+ ],
+ "idempotent": true
+ },
"CreateMesh": {
"name": "CreateMesh",
"http": {
@@ -94,6 +135,47 @@
],
"idempotent": true
},
+ "CreateVirtualGateway": {
+ "name": "CreateVirtualGateway",
+ "http": {
+ "method": "PUT",
+ "requestUri": "/v20190125/meshes/{meshName}/virtualGateways",
+ "responseCode": 200
+ },
+ "input": {
+ "shape": "CreateVirtualGatewayInput"
+ },
+ "output": {
+ "shape": "CreateVirtualGatewayOutput"
+ },
+ "errors": [
+ {
+ "shape": "BadRequestException"
+ },
+ {
+ "shape": "ConflictException"
+ },
+ {
+ "shape": "ForbiddenException"
+ },
+ {
+ "shape": "InternalServerErrorException"
+ },
+ {
+ "shape": "LimitExceededException"
+ },
+ {
+ "shape": "NotFoundException"
+ },
+ {
+ "shape": "ServiceUnavailableException"
+ },
+ {
+ "shape": "TooManyRequestsException"
+ }
+ ],
+ "idempotent": true
+ },
"CreateVirtualNode": {
"name": "CreateVirtualNode",
"http": {
@@ -217,6 +299,44 @@
],
"idempotent": true
},
+ "DeleteGatewayRoute": {
+ "name": "DeleteGatewayRoute",
+ "http": {
+ "method": "DELETE",
+ "requestUri": "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}",
+ "responseCode": 200
+ },
+ "input": {
+ "shape": "DeleteGatewayRouteInput"
+ },
+ "output": {
+ "shape": "DeleteGatewayRouteOutput"
+ },
+ "errors": [
+ {
+ "shape": "BadRequestException"
+ },
+ {
+ "shape": "ForbiddenException"
+ },
+ {
+ "shape": "InternalServerErrorException"
+ },
+ {
+ "shape": "NotFoundException"
+ },
+ {
+ "shape": "ResourceInUseException"
+ },
+ {
+ "shape": "ServiceUnavailableException"
+ },
+ {
+ "shape": "TooManyRequestsException"
+ }
+ ],
+ "idempotent": true
+ },
"DeleteMesh": {
"name": "DeleteMesh",
"http": {
@@ -293,6 +413,44 @@
],
"idempotent": true
},
+ "DeleteVirtualGateway": {
+ "name": "DeleteVirtualGateway",
+ "http": {
+ "method": "DELETE",
+ "requestUri": "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}",
+ "responseCode": 200
+ },
+ "input": {
+ "shape": "DeleteVirtualGatewayInput"
+ },
+ "output": {
+ "shape": "DeleteVirtualGatewayOutput"
+ },
+ "errors": [
+ {
+ "shape": "BadRequestException"
+ },
+ {
+ "shape": "ForbiddenException"
+ },
+ {
+ "shape": "InternalServerErrorException"
+ },
+ {
+ "shape": "NotFoundException"
+ },
+ {
+ "shape": "ResourceInUseException"
+ },
+ {
+ "shape": "ServiceUnavailableException"
+ },
+ {
+ "shape": "TooManyRequestsException"
+ }
+ ],
+ "idempotent": true
+ },
"DeleteVirtualNode": {
"name": "DeleteVirtualNode",
"http": {
@@ -407,6 +565,40 @@
],
"idempotent": true
},
+ "DescribeGatewayRoute": {
+ "name": "DescribeGatewayRoute",
+ "http": {
+ "method": "GET",
+ "requestUri": "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}",
+ "responseCode": 200
+ },
+ "input": {
+ "shape": "DescribeGatewayRouteInput"
+ },
+ "output": {
+ "shape": "DescribeGatewayRouteOutput"
+ },
+ "errors": [
+ {
+ "shape": "BadRequestException"
+ },
+ {
+ "shape": "ForbiddenException"
+ },
+ {
+ "shape": "InternalServerErrorException"
+ },
+ {
+ "shape": "NotFoundException"
+ },
+ {
+ "shape": "ServiceUnavailableException"
+ },
+ {
+ "shape": "TooManyRequestsException"
+ }
+ ]
+ },
"DescribeMesh": {
"name": "DescribeMesh",
"http": {
@@ -475,6 +667,40 @@
}
]
},
+ "DescribeVirtualGateway": {
+ "name": "DescribeVirtualGateway",
+ "http": {
+ "method": "GET",
+ "requestUri": "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}",
+ "responseCode": 200
+ },
+ "input": {
+ "shape": "DescribeVirtualGatewayInput"
+ },
+ "output": {
+ "shape": "DescribeVirtualGatewayOutput"
+ },
+ "errors": [
+ {
+ "shape": "BadRequestException"
+ },
+ {
+ "shape": "ForbiddenException"
+ },
+ {
+ "shape": "InternalServerErrorException"
+ },
+ {
+ "shape": "NotFoundException"
+ },
+ {
+ "shape": "ServiceUnavailableException"
+ },
+ {
+ "shape": "TooManyRequestsException"
+ }
+ ]
+ },
"DescribeVirtualNode": {
"name": "DescribeVirtualNode",
"http": {
@@ -577,6 +803,40 @@
}
]
},
+ "ListGatewayRoutes": {
+ "name": "ListGatewayRoutes",
+ "http": {
+ "method": "GET",
+ "requestUri": "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes",
+ "responseCode": 200
+ },
+ "input": {
+ "shape": "ListGatewayRoutesInput"
+ },
+ "output": {
+ "shape": "ListGatewayRoutesOutput"
+ },
+ "errors": [
+ {
+ "shape": "BadRequestException"
+ },
+ {
+ "shape": "ForbiddenException"
+ },
+ {
+ "shape": "InternalServerErrorException"
+ },
+ {
+ "shape": "NotFoundException"
+ },
+ {
+ "shape": "ServiceUnavailableException"
+ },
+ {
+ "shape": "TooManyRequestsException"
+ }
+ ]
+ },
"ListMeshes": {
"name": "ListMeshes",
"http": {
@@ -679,6 +939,40 @@
}
]
},
+ "ListVirtualGateways": {
+ "name": "ListVirtualGateways",
+ "http": {
+ "method": "GET",
+ "requestUri": "/v20190125/meshes/{meshName}/virtualGateways",
+ "responseCode": 200
+ },
+ "input": {
+ "shape": "ListVirtualGatewaysInput"
+ },
+ "output": {
+ "shape": "ListVirtualGatewaysOutput"
+ },
+ "errors": [
+ {
+ "shape": "BadRequestException"
+ },
+ {
+ "shape": "ForbiddenException"
+ },
+ {
+ "shape": "InternalServerErrorException"
+ },
+ {
+ "shape": "NotFoundException"
+ },
+ {
+ "shape": "ServiceUnavailableException"
+ },
+ {
+ "shape": "TooManyRequestsException"
+ }
+ ]
+ },
"ListVirtualNodes": {
"name": "ListVirtualNodes",
"http": {
@@ -854,8 +1148,49 @@
],
"idempotent": true
},
- "UpdateMesh": {
- "name": "UpdateMesh",
+ "UpdateGatewayRoute": {
+ "name": "UpdateGatewayRoute",
+ "http": {
+ "method": "PUT",
+ "requestUri": "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}",
+ "responseCode": 200
+ },
+ "input": {
+ "shape": "UpdateGatewayRouteInput"
+ },
+ "output": {
+ "shape": "UpdateGatewayRouteOutput"
+ },
+ "errors": [
+ {
+ "shape": "BadRequestException"
+ },
+ {
+ "shape": "ConflictException"
+ },
+ {
+ "shape": "ForbiddenException"
+ },
+ {
+ "shape": "InternalServerErrorException"
+ },
+ {
+ "shape": "LimitExceededException"
+ },
+ {
+ "shape": "NotFoundException"
+ },
+ {
+ "shape": "ServiceUnavailableException"
+ },
+ {
+ "shape": "TooManyRequestsException"
+ }
+ ],
+ "idempotent": true
+ },
+ "UpdateMesh": {
+ "name": "UpdateMesh",
"http": {
"method": "PUT",
"requestUri": "/v20190125/meshes/{meshName}",
@@ -933,6 +1268,47 @@
],
"idempotent": true
},
+ "UpdateVirtualGateway": {
+ "name": "UpdateVirtualGateway",
+ "http": {
+ "method": "PUT",
+ "requestUri": "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}",
+ "responseCode": 200
+ },
+ "input": {
+ "shape": "UpdateVirtualGatewayInput"
+ },
+ "output": {
+ "shape": "UpdateVirtualGatewayOutput"
+ },
+ "errors": [
+ {
+ "shape": "BadRequestException"
+ },
+ {
+ "shape": "ConflictException"
+ },
+ {
+ "shape": "ForbiddenException"
+ },
+ {
+ "shape": "InternalServerErrorException"
+ },
+ {
+ "shape": "LimitExceededException"
+ },
+ {
+ "shape": "NotFoundException"
+ },
+ {
+ "shape": "ServiceUnavailableException"
+ },
+ {
+ "shape": "TooManyRequestsException"
+ }
+ ],
+ "idempotent": true
+ },
"UpdateVirtualNode": {
"name": "UpdateVirtualNode",
"http": {
@@ -1159,6 +1535,71 @@
}
}
},
+ "CreateVirtualGatewayInput": {
+ "type": "structure",
+ "required": [
+ "meshName",
+ "spec",
+ "virtualGatewayName"
+ ],
+ "members": {
+ "clientToken": {
+ "shape": "String",
+ "idempotencyToken": true
+ },
+ "meshName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "meshName"
+ },
+ "meshOwner": {
+ "shape": "AccountId",
+ "location": "querystring",
+ "locationName": "meshOwner"
+ },
+ "spec": {
+ "shape": "VirtualGatewaySpec"
+ },
+ "tags": {
+ "shape": "TagList"
+ },
+ "virtualGatewayName": {
+ "shape": "ResourceName"
+ }
+ }
+ },
+ "UpdateVirtualGatewayInput": {
+ "type": "structure",
+ "required": [
+ "meshName",
+ "spec",
+ "virtualGatewayName"
+ ],
+ "members": {
+ "clientToken": {
+ "shape": "String",
+ "idempotencyToken": true
+ },
+ "meshName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "meshName"
+ },
+ "meshOwner": {
+ "shape": "AccountId",
+ "location": "querystring",
+ "locationName": "meshOwner"
+ },
+ "spec": {
+ "shape": "VirtualGatewaySpec"
+ },
+ "virtualGatewayName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "virtualGatewayName"
+ }
+ }
+ },
"ResourceMetadata": {
"type": "structure",
"required": [
@@ -1262,6 +1703,17 @@
"senderFault": true
}
},
+ "HttpGatewayRouteMatch": {
+ "type": "structure",
+ "required": [
+ "prefix"
+ ],
+ "members": {
+ "prefix": {
+ "shape": "String"
+ }
+ }
+ },
"GrpcRouteMetadataList": {
"type": "list",
"member": {
@@ -1311,6 +1763,12 @@
}
}
},
+ "VirtualGatewayHealthCheckTimeoutMillis": {
+ "type": "long",
+ "box": true,
+ "min": 2000,
+ "max": 60000
+ },
"EgressFilter": {
"type": "structure",
"required": [
@@ -1336,15 +1794,49 @@
}
}
},
+ "VirtualGatewayHealthCheckIntervalMillis": {
+ "type": "long",
+ "box": true,
+ "min": 5000,
+ "max": 300000
+ },
"Boolean": {
"type": "boolean",
"box": true
},
+ "VirtualGatewaySpec": {
+ "type": "structure",
+ "required": [
+ "listeners"
+ ],
+ "members": {
+ "backendDefaults": {
+ "shape": "VirtualGatewayBackendDefaults"
+ },
+ "listeners": {
+ "shape": "VirtualGatewayListeners"
+ },
+ "logging": {
+ "shape": "VirtualGatewayLogging"
+ }
+ }
+ },
"HttpRetryPolicyEvent": {
"type": "string",
"min": 1,
"max": 25
},
+ "VirtualGatewayFileAccessLog": {
+ "type": "structure",
+ "required": [
+ "path"
+ ],
+ "members": {
+ "path": {
+ "shape": "FilePath"
+ }
+ }
+ },
"DescribeVirtualServiceOutput": {
"type": "structure",
"required": [
@@ -1357,6 +1849,45 @@
},
"payload": "virtualService"
},
+ "CreateGatewayRouteInput": {
+ "type": "structure",
+ "required": [
+ "gatewayRouteName",
+ "meshName",
+ "spec",
+ "virtualGatewayName"
+ ],
+ "members": {
+ "clientToken": {
+ "shape": "String",
+ "idempotencyToken": true
+ },
+ "gatewayRouteName": {
+ "shape": "ResourceName"
+ },
+ "meshName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "meshName"
+ },
+ "meshOwner": {
+ "shape": "AccountId",
+ "location": "querystring",
+ "locationName": "meshOwner"
+ },
+ "spec": {
+ "shape": "GatewayRouteSpec"
+ },
+ "tags": {
+ "shape": "TagList"
+ },
+ "virtualGatewayName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "virtualGatewayName"
+ }
+ }
+ },
"CertificateAuthorityArns": {
"type": "list",
"member": {
@@ -1383,6 +1914,33 @@
"max": 1024,
"pattern": "((?=^.{1,127}$)^([a-zA-Z0-9_][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9_]|[a-zA-Z0-9])(.([a-zA-Z0-9_][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9_]|[a-zA-Z0-9]))*$)|(^.$)"
},
+ "VirtualGatewayData": {
+ "type": "structure",
+ "required": [
+ "meshName",
+ "metadata",
+ "spec",
+ "status",
+ "virtualGatewayName"
+ ],
+ "members": {
+ "meshName": {
+ "shape": "ResourceName"
+ },
+ "metadata": {
+ "shape": "ResourceMetadata"
+ },
+ "spec": {
+ "shape": "VirtualGatewaySpec"
+ },
+ "status": {
+ "shape": "VirtualGatewayStatus"
+ },
+ "virtualGatewayName": {
+ "shape": "ResourceName"
+ }
+ }
+ },
"CreateRouteOutput": {
"type": "structure",
"required": [
@@ -1395,6 +1953,23 @@
},
"payload": "route"
},
+ "VirtualGatewayListener": {
+ "type": "structure",
+ "required": [
+ "portMapping"
+ ],
+ "members": {
+ "healthCheck": {
+ "shape": "VirtualGatewayHealthCheckPolicy"
+ },
+ "portMapping": {
+ "shape": "VirtualGatewayPortMapping"
+ },
+ "tls": {
+ "shape": "VirtualGatewayListenerTls"
+ }
+ }
+ },
"DnsServiceDiscovery": {
"type": "structure",
"required": [
@@ -1406,6 +1981,33 @@
}
}
},
+ "VirtualGatewayPortMapping": {
+ "type": "structure",
+ "required": [
+ "port",
+ "protocol"
+ ],
+ "members": {
+ "port": {
+ "shape": "PortNumber"
+ },
+ "protocol": {
+ "shape": "VirtualGatewayPortProtocol"
+ }
+ }
+ },
+ "DeleteVirtualGatewayOutput": {
+ "type": "structure",
+ "required": [
+ "virtualGateway"
+ ],
+ "members": {
+ "virtualGateway": {
+ "shape": "VirtualGatewayData"
+ }
+ },
+ "payload": "virtualGateway"
+ },
"DeleteRouteInput": {
"type": "structure",
"required": [
@@ -1467,12 +2069,33 @@
"type": "structure",
"members": { }
},
+ "ListGatewayRoutesLimit": {
+ "type": "integer",
+ "box": true,
+ "min": 1,
+ "max": 100
+ },
"TcpRetryPolicyEvent": {
"type": "string",
"enum": [
"connection-error"
]
},
+ "VirtualGatewayListenerTls": {
+ "type": "structure",
+ "required": [
+ "certificate",
+ "mode"
+ ],
+ "members": {
+ "certificate": {
+ "shape": "VirtualGatewayListenerTlsCertificate"
+ },
+ "mode": {
+ "shape": "VirtualGatewayListenerTlsMode"
+ }
+ }
+ },
"Backend": {
"type": "structure",
"members": {
@@ -1496,6 +2119,55 @@
}
}
},
+ "VirtualGatewayListenerTlsFileCertificate": {
+ "type": "structure",
+ "required": [
+ "certificateChain",
+ "privateKey"
+ ],
+ "members": {
+ "certificateChain": {
+ "shape": "FilePath"
+ },
+ "privateKey": {
+ "shape": "FilePath"
+ }
+ }
+ },
+ "ListGatewayRoutesInput": {
+ "type": "structure",
+ "required": [
+ "meshName",
+ "virtualGatewayName"
+ ],
+ "members": {
+ "limit": {
+ "shape": "ListGatewayRoutesLimit",
+ "location": "querystring",
+ "locationName": "limit"
+ },
+ "meshName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "meshName"
+ },
+ "meshOwner": {
+ "shape": "AccountId",
+ "location": "querystring",
+ "locationName": "meshOwner"
+ },
+ "nextToken": {
+ "shape": "String",
+ "location": "querystring",
+ "locationName": "nextToken"
+ },
+ "virtualGatewayName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "virtualGatewayName"
+ }
+ }
+ },
"VirtualRouterData": {
"type": "structure",
"required": [
@@ -1543,6 +2215,39 @@
}
}
},
+ "VirtualGatewayHealthCheckPolicy": {
+ "type": "structure",
+ "required": [
+ "healthyThreshold",
+ "intervalMillis",
+ "protocol",
+ "timeoutMillis",
+ "unhealthyThreshold"
+ ],
+ "members": {
+ "healthyThreshold": {
+ "shape": "VirtualGatewayHealthCheckThreshold"
+ },
+ "intervalMillis": {
+ "shape": "VirtualGatewayHealthCheckIntervalMillis"
+ },
+ "path": {
+ "shape": "String"
+ },
+ "port": {
+ "shape": "PortNumber"
+ },
+ "protocol": {
+ "shape": "VirtualGatewayPortProtocol"
+ },
+ "timeoutMillis": {
+ "shape": "VirtualGatewayHealthCheckTimeoutMillis"
+ },
+ "unhealthyThreshold": {
+ "shape": "VirtualGatewayHealthCheckThreshold"
+ }
+ }
+ },
"CreateVirtualRouterInput": {
"type": "structure",
"required": [
@@ -1634,6 +2339,17 @@
"min": 1,
"max": 25
},
+ "VirtualGatewayListenerTlsCertificate": {
+ "type": "structure",
+ "members": {
+ "acm": {
+ "shape": "VirtualGatewayListenerTlsAcmCertificate"
+ },
+ "file": {
+ "shape": "VirtualGatewayListenerTlsFileCertificate"
+ }
+ }
+ },
"ListenerTlsCertificate": {
"type": "structure",
"members": {
@@ -1665,6 +2381,17 @@
}
}
},
+ "GatewayRouteVirtualService": {
+ "type": "structure",
+ "required": [
+ "virtualServiceName"
+ ],
+ "members": {
+ "virtualServiceName": {
+ "shape": "ResourceName"
+ }
+ }
+ },
"VirtualNodeSpec": {
"type": "structure",
"members": {
@@ -1707,6 +2434,20 @@
"min": 1,
"max": 1
},
+ "GatewayRouteSpec": {
+ "type": "structure",
+ "members": {
+ "grpcRoute": {
+ "shape": "GrpcGatewayRoute"
+ },
+ "http2Route": {
+ "shape": "HttpGatewayRoute"
+ },
+ "httpRoute": {
+ "shape": "HttpGatewayRoute"
+ }
+ }
+ },
"PortSet": {
"type": "list",
"member": {
@@ -1741,6 +2482,14 @@
"senderFault": true
}
},
+ "VirtualGatewayBackendDefaults": {
+ "type": "structure",
+ "members": {
+ "clientPolicy": {
+ "shape": "VirtualGatewayClientPolicy"
+ }
+ }
+ },
"ListenerTimeout": {
"type": "structure",
"members": {
@@ -1764,11 +2513,41 @@
"shape": "MeshRef"
}
},
- "MaxRetries": {
- "type": "long",
- "box": true,
- "min": 0
- },
+ "MaxRetries": {
+ "type": "long",
+ "box": true,
+ "min": 0
+ },
+ "DescribeGatewayRouteInput": {
+ "type": "structure",
+ "required": [
+ "gatewayRouteName",
+ "meshName",
+ "virtualGatewayName"
+ ],
+ "members": {
+ "gatewayRouteName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "gatewayRouteName"
+ },
+ "meshName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "meshName"
+ },
+ "meshOwner": {
+ "shape": "AccountId",
+ "location": "querystring",
+ "locationName": "meshOwner"
+ },
+ "virtualGatewayName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "virtualGatewayName"
+ }
+ }
+ },
"TlsValidationContextTrust": {
"type": "structure",
"members": {
@@ -1795,6 +2574,11 @@
}
}
},
+ "VirtualGatewayHealthCheckThreshold": {
+ "type": "integer",
+ "min": 2,
+ "max": 10
+ },
"ListVirtualServicesOutput": {
"type": "structure",
"required": [
@@ -1830,6 +2614,52 @@
}
}
},
+ "GrpcGatewayRoute": {
+ "type": "structure",
+ "required": [
+ "action",
+ "match"
+ ],
+ "members": {
+ "action": {
+ "shape": "GrpcGatewayRouteAction"
+ },
+ "match": {
+ "shape": "GrpcGatewayRouteMatch"
+ }
+ }
+ },
+ "GatewayRouteData": {
+ "type": "structure",
+ "required": [
+ "gatewayRouteName",
+ "meshName",
+ "metadata",
+ "spec",
+ "status",
+ "virtualGatewayName"
+ ],
+ "members": {
+ "gatewayRouteName": {
+ "shape": "ResourceName"
+ },
+ "meshName": {
+ "shape": "ResourceName"
+ },
+ "metadata": {
+ "shape": "ResourceMetadata"
+ },
+ "spec": {
+ "shape": "GatewayRouteSpec"
+ },
+ "status": {
+ "shape": "GatewayRouteStatus"
+ },
+ "virtualGatewayName": {
+ "shape": "ResourceName"
+ }
+ }
+ },
"RouteRef": {
"type": "structure",
"required": [
@@ -2030,6 +2860,24 @@
},
"payload": "mesh"
},
+ "VirtualGatewayClientPolicyTls": {
+ "type": "structure",
+ "required": [
+ "validation"
+ ],
+ "members": {
+ "enforce": {
+ "shape": "Boolean",
+ "box": true
+ },
+ "ports": {
+ "shape": "PortSet"
+ },
+ "validation": {
+ "shape": "VirtualGatewayTlsValidationContext"
+ }
+ }
+ },
"EgressFilterType": {
"type": "string",
"enum": [
@@ -2045,6 +2893,36 @@
"Hostname": {
"type": "string"
},
+ "VirtualGatewayStatus": {
+ "type": "structure",
+ "required": [
+ "status"
+ ],
+ "members": {
+ "status": {
+ "shape": "VirtualGatewayStatusCode"
+ }
+ }
+ },
+ "GatewayRouteStatus": {
+ "type": "structure",
+ "required": [
+ "status"
+ ],
+ "members": {
+ "status": {
+ "shape": "GatewayRouteStatusCode"
+ }
+ }
+ },
+ "VirtualGatewayListeners": {
+ "type": "list",
+ "member": {
+ "shape": "VirtualGatewayListener"
+ },
+ "min": 0,
+ "max": 1
+ },
"TagResourceInput": {
"type": "structure",
"required": [
@@ -2062,6 +2940,43 @@
}
}
},
+ "CreateVirtualGatewayOutput": {
+ "type": "structure",
+ "required": [
+ "virtualGateway"
+ ],
+ "members": {
+ "virtualGateway": {
+ "shape": "VirtualGatewayData"
+ }
+ },
+ "payload": "virtualGateway"
+ },
+ "ListVirtualGatewaysOutput": {
+ "type": "structure",
+ "required": [
+ "virtualGateways"
+ ],
+ "members": {
+ "nextToken": {
+ "shape": "String"
+ },
+ "virtualGateways": {
+ "shape": "VirtualGatewayList"
+ }
+ }
+ },
+ "VirtualGatewayTlsValidationContext": {
+ "type": "structure",
+ "required": [
+ "trust"
+ ],
+ "members": {
+ "trust": {
+ "shape": "VirtualGatewayTlsValidationContextTrust"
+ }
+ }
+ },
"VirtualServiceProvider": {
"type": "structure",
"members": {
@@ -2195,6 +3110,74 @@
}
}
},
+ "GatewayRouteRef": {
+ "type": "structure",
+ "required": [
+ "arn",
+ "createdAt",
+ "gatewayRouteName",
+ "lastUpdatedAt",
+ "meshName",
+ "meshOwner",
+ "resourceOwner",
+ "version",
+ "virtualGatewayName"
+ ],
+ "members": {
+ "arn": {
+ "shape": "Arn"
+ },
+ "createdAt": {
+ "shape": "Timestamp"
+ },
+ "gatewayRouteName": {
+ "shape": "ResourceName"
+ },
+ "lastUpdatedAt": {
+ "shape": "Timestamp"
+ },
+ "meshName": {
+ "shape": "ResourceName"
+ },
+ "meshOwner": {
+ "shape": "AccountId"
+ },
+ "resourceOwner": {
+ "shape": "AccountId"
+ },
+ "version": {
+ "shape": "Long"
+ },
+ "virtualGatewayName": {
+ "shape": "ResourceName"
+ }
+ }
+ },
+ "VirtualGatewayListenerTlsAcmCertificate": {
+ "type": "structure",
+ "required": [
+ "certificateArn"
+ ],
+ "members": {
+ "certificateArn": {
+ "shape": "Arn"
+ }
+ }
+ },
+ "ListGatewayRoutesOutput": {
+ "type": "structure",
+ "required": [
+ "gatewayRoutes"
+ ],
+ "members": {
+ "gatewayRoutes": {
+ "shape": "GatewayRouteList"
+ },
+ "nextToken": {
+ "shape": "String"
+ }
+ }
+ },
"CreateVirtualServiceOutput": {
"type": "structure",
"required": [
@@ -2275,6 +3258,14 @@
}
}
},
+ "GatewayRouteStatusCode": {
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "DELETED",
+ "INACTIVE"
+ ]
+ },
"DeleteVirtualRouterOutput": {
"type": "structure",
"required": [
@@ -2287,12 +3278,47 @@
},
"payload": "virtualRouter"
},
+ "DescribeVirtualGatewayInput": {
+ "type": "structure",
+ "required": [
+ "meshName",
+ "virtualGatewayName"
+ ],
+ "members": {
+ "meshName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "meshName"
+ },
+ "meshOwner": {
+ "shape": "AccountId",
+ "location": "querystring",
+ "locationName": "meshOwner"
+ },
+ "virtualGatewayName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "virtualGatewayName"
+ }
+ }
+ },
"TagsLimit": {
"type": "integer",
"box": true,
"min": 1,
"max": 50
},
+ "GrpcGatewayRouteAction": {
+ "type": "structure",
+ "required": [
+ "target"
+ ],
+ "members": {
+ "target": {
+ "shape": "GatewayRouteTarget"
+ }
+ }
+ },
"DeleteVirtualNodeOutput": {
"type": "structure",
"required": [
@@ -2441,6 +3467,25 @@
}
}
},
+ "HttpGatewayRouteAction": {
+ "type": "structure",
+ "required": [
+ "target"
+ ],
+ "members": {
+ "target": {
+ "shape": "GatewayRouteTarget"
+ }
+ }
+ },
+ "GrpcGatewayRouteMatch": {
+ "type": "structure",
+ "members": {
+ "serviceName": {
+ "shape": "ServiceName"
+ }
+ }
+ },
"ListTagsForResourceInput": {
"type": "structure",
"required": [
@@ -2472,6 +3517,14 @@
"min": 1,
"max": 5
},
+ "VirtualGatewayStatusCode": {
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "DELETED",
+ "INACTIVE"
+ ]
+ },
"ServiceUnavailableException": {
"type": "structure",
"members": {
@@ -2522,6 +3575,18 @@
}
}
},
+ "UpdateGatewayRouteOutput": {
+ "type": "structure",
+ "required": [
+ "gatewayRoute"
+ ],
+ "members": {
+ "gatewayRoute": {
+ "shape": "GatewayRouteData"
+ }
+ },
+ "payload": "gatewayRoute"
+ },
"DescribeRouteInput": {
"type": "structure",
"required": [
@@ -2587,6 +3652,24 @@
"tcp"
]
},
+ "DeleteGatewayRouteOutput": {
+ "type": "structure",
+ "required": [
+ "gatewayRoute"
+ ],
+ "members": {
+ "gatewayRoute": {
+ "shape": "GatewayRouteData"
+ }
+ },
+ "payload": "gatewayRoute"
+ },
+ "VirtualGatewayList": {
+ "type": "list",
+ "member": {
+ "shape": "VirtualGatewayRef"
+ }
+ },
"VirtualNodeStatusCode": {
"type": "string",
"enum": [
@@ -2925,14 +4008,25 @@
}
}
},
- "GrpcRouteAction": {
+ "GrpcRouteAction": {
+ "type": "structure",
+ "required": [
+ "weightedTargets"
+ ],
+ "members": {
+ "weightedTargets": {
+ "shape": "WeightedTargets"
+ }
+ }
+ },
+ "VirtualGatewayTlsValidationContextFileTrust": {
"type": "structure",
"required": [
- "weightedTargets"
+ "certificateChain"
],
"members": {
- "weightedTargets": {
- "shape": "WeightedTargets"
+ "certificateChain": {
+ "shape": "FilePath"
}
}
},
@@ -3027,6 +4121,14 @@
}
}
},
+ "VirtualGatewayListenerTlsMode": {
+ "type": "string",
+ "enum": [
+ "DISABLED",
+ "PERMISSIVE",
+ "STRICT"
+ ]
+ },
"VirtualServiceSpec": {
"type": "structure",
"members": {
@@ -3035,6 +4137,25 @@
}
}
},
+ "VirtualGatewayTlsValidationContextAcmTrust": {
+ "type": "structure",
+ "required": [
+ "certificateAuthorityArns"
+ ],
+ "members": {
+ "certificateAuthorityArns": {
+ "shape": "VirtualGatewayCertificateAuthorityArns"
+ }
+ }
+ },
+ "VirtualGatewayAccessLog": {
+ "type": "structure",
+ "members": {
+ "file": {
+ "shape": "VirtualGatewayFileAccessLog"
+ }
+ }
+ },
"MatchRange": {
"type": "structure",
"required": [
@@ -3091,6 +4212,18 @@
"shape": "VirtualNodeRef"
}
},
+ "UpdateVirtualGatewayOutput": {
+ "type": "structure",
+ "required": [
+ "virtualGateway"
+ ],
+ "members": {
+ "virtualGateway": {
+ "shape": "VirtualGatewayData"
+ }
+ },
+ "payload": "virtualGateway"
+ },
"ListVirtualRoutersInput": {
"type": "structure",
"required": [
@@ -3196,6 +4329,14 @@
}
}
},
+ "VirtualGatewayClientPolicy": {
+ "type": "structure",
+ "members": {
+ "tls": {
+ "shape": "VirtualGatewayClientPolicyTls"
+ }
+ }
+ },
"ListVirtualNodesLimit": {
"type": "integer",
"box": true,
@@ -3230,6 +4371,14 @@
"Timestamp": {
"type": "timestamp"
},
+ "VirtualGatewayLogging": {
+ "type": "structure",
+ "members": {
+ "accessLog": {
+ "shape": "VirtualGatewayAccessLog"
+ }
+ }
+ },
"HeaderMatch": {
"type": "string",
"min": 1,
@@ -3240,6 +4389,17 @@
"min": 12,
"max": 12
},
+ "GatewayRouteTarget": {
+ "type": "structure",
+ "required": [
+ "virtualService"
+ ],
+ "members": {
+ "virtualService": {
+ "shape": "GatewayRouteVirtualService"
+ }
+ }
+ },
"Duration": {
"type": "structure",
"members": {
@@ -3332,6 +4492,12 @@
}
}
},
+ "ListVirtualGatewaysLimit": {
+ "type": "integer",
+ "box": true,
+ "min": 1,
+ "max": 100
+ },
"MeshStatusCode": {
"type": "string",
"enum": [
@@ -3363,6 +4529,24 @@
}
}
},
+ "CreateGatewayRouteOutput": {
+ "type": "structure",
+ "required": [
+ "gatewayRoute"
+ ],
+ "members": {
+ "gatewayRoute": {
+ "shape": "GatewayRouteData"
+ }
+ },
+ "payload": "gatewayRoute"
+ },
+ "GatewayRouteList": {
+ "type": "list",
+ "member": {
+ "shape": "GatewayRouteRef"
+ }
+ },
"VirtualRouterStatus": {
"type": "structure",
"required": [
@@ -3385,6 +4569,30 @@
}
}
},
+ "DeleteVirtualGatewayInput": {
+ "type": "structure",
+ "required": [
+ "meshName",
+ "virtualGatewayName"
+ ],
+ "members": {
+ "meshName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "meshName"
+ },
+ "meshOwner": {
+ "shape": "AccountId",
+ "location": "querystring",
+ "locationName": "meshOwner"
+ },
+ "virtualGatewayName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "virtualGatewayName"
+ }
+ }
+ },
"DescribeVirtualNodeInput": {
"type": "structure",
"required": [
@@ -3485,6 +4693,17 @@
}
}
},
+ "VirtualGatewayTlsValidationContextTrust": {
+ "type": "structure",
+ "members": {
+ "acm": {
+ "shape": "VirtualGatewayTlsValidationContextAcmTrust"
+ },
+ "file": {
+ "shape": "VirtualGatewayTlsValidationContextFileTrust"
+ }
+ }
+ },
"DeleteVirtualServiceOutput": {
"type": "structure",
"required": [
@@ -3497,6 +4716,14 @@
},
"payload": "virtualService"
},
+ "VirtualGatewayPortProtocol": {
+ "type": "string",
+ "enum": [
+ "grpc",
+ "http",
+ "http2"
+ ]
+ },
"VirtualNodeServiceProvider": {
"type": "structure",
"required": [
@@ -3508,6 +4735,21 @@
}
}
},
+ "HttpGatewayRoute": {
+ "type": "structure",
+ "required": [
+ "action",
+ "match"
+ ],
+ "members": {
+ "action": {
+ "shape": "HttpGatewayRouteAction"
+ },
+ "match": {
+ "shape": "HttpGatewayRouteMatch"
+ }
+ }
+ },
"BackendDefaults": {
"type": "structure",
"members": {
@@ -3600,6 +4842,72 @@
"senderFault": true
}
},
+ "UpdateGatewayRouteInput": {
+ "type": "structure",
+ "required": [
+ "gatewayRouteName",
+ "meshName",
+ "spec",
+ "virtualGatewayName"
+ ],
+ "members": {
+ "clientToken": {
+ "shape": "String",
+ "idempotencyToken": true
+ },
+ "gatewayRouteName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "gatewayRouteName"
+ },
+ "meshName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "meshName"
+ },
+ "meshOwner": {
+ "shape": "AccountId",
+ "location": "querystring",
+ "locationName": "meshOwner"
+ },
+ "spec": {
+ "shape": "GatewayRouteSpec"
+ },
+ "virtualGatewayName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "virtualGatewayName"
+ }
+ }
+ },
+ "ListVirtualGatewaysInput": {
+ "type": "structure",
+ "required": [
+ "meshName"
+ ],
+ "members": {
+ "limit": {
+ "shape": "ListVirtualGatewaysLimit",
+ "location": "querystring",
+ "locationName": "limit"
+ },
+ "meshName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "meshName"
+ },
+ "meshOwner": {
+ "shape": "AccountId",
+ "location": "querystring",
+ "locationName": "meshOwner"
+ },
+ "nextToken": {
+ "shape": "String",
+ "location": "querystring",
+ "locationName": "nextToken"
+ }
+ }
+ },
"PortNumber": {
"type": "integer",
"min": 1,
@@ -3675,6 +4983,14 @@
}
}
},
+ "VirtualGatewayCertificateAuthorityArns": {
+ "type": "list",
+ "member": {
+ "shape": "Arn"
+ },
+ "min": 1,
+ "max": 3
+ },
"WeightedTargets": {
"type": "list",
"member": {
@@ -3709,6 +5025,36 @@
"https"
]
},
+ "DeleteGatewayRouteInput": {
+ "type": "structure",
+ "required": [
+ "gatewayRouteName",
+ "meshName",
+ "virtualGatewayName"
+ ],
+ "members": {
+ "gatewayRouteName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "gatewayRouteName"
+ },
+ "meshName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "meshName"
+ },
+ "meshOwner": {
+ "shape": "AccountId",
+ "location": "querystring",
+ "locationName": "meshOwner"
+ },
+ "virtualGatewayName": {
+ "shape": "ResourceName",
+ "location": "uri",
+ "locationName": "virtualGatewayName"
+ }
+ }
+ },
"UpdateRouteInput": {
"type": "structure",
"required": [
@@ -3786,6 +5132,45 @@
}
}
},
+ "VirtualGatewayRef": {
+ "type": "structure",
+ "required": [
+ "arn",
+ "createdAt",
+ "lastUpdatedAt",
+ "meshName",
+ "meshOwner",
+ "resourceOwner",
+ "version",
+ "virtualGatewayName"
+ ],
+ "members": {
+ "arn": {
+ "shape": "Arn"
+ },
+ "createdAt": {
+ "shape": "Timestamp"
+ },
+ "lastUpdatedAt": {
+ "shape": "Timestamp"
+ },
+ "meshName": {
+ "shape": "ResourceName"
+ },
+ "meshOwner": {
+ "shape": "AccountId"
+ },
+ "resourceOwner": {
+ "shape": "AccountId"
+ },
+ "version": {
+ "shape": "Long"
+ },
+ "virtualGatewayName": {
+ "shape": "ResourceName"
+ }
+ }
+ },
"MeshSpec": {
"type": "structure",
"members": {
@@ -3794,6 +5179,30 @@
}
}
},
+ "DescribeVirtualGatewayOutput": {
+ "type": "structure",
+ "required": [
+ "virtualGateway"
+ ],
+ "members": {
+ "virtualGateway": {
+ "shape": "VirtualGatewayData"
+ }
+ },
+ "payload": "virtualGateway"
+ },
+ "DescribeGatewayRouteOutput": {
+ "type": "structure",
+ "required": [
+ "gatewayRoute"
+ ],
+ "members": {
+ "gatewayRoute": {
+ "shape": "GatewayRouteData"
+ }
+ },
+ "payload": "gatewayRoute"
+ },
"ListTagsForResourceOutput": {
"type": "structure",
"required": [
diff --git a/models/apis/appmesh/2019-01-25/docs-2.json b/models/apis/appmesh/2019-01-25/docs-2.json
index 37ebeb95dae..a86430ef303 100644
--- a/models/apis/appmesh/2019-01-25/docs-2.json
+++ b/models/apis/appmesh/2019-01-25/docs-2.json
@@ -2,31 +2,41 @@
"version": "2.0",
"service": "AWS App Mesh is a service mesh based on the Envoy proxy that makes it easy to monitor and\n control microservices. App Mesh standardizes how your microservices communicate, giving you\n end-to-end visibility and helping to ensure high availability for your applications.
\n App Mesh gives you consistent visibility and network traffic controls for every\n microservice in an application. You can use App Mesh with AWS Fargate, Amazon ECS, Amazon EKS,\n Kubernetes on AWS, and Amazon EC2.
\n \n App Mesh supports microservice applications that use service discovery naming for their\n components. For more information about service discovery on Amazon ECS, see Service Discovery in the Amazon Elastic Container Service Developer Guide. Kubernetes\n kube-dns
and coredns
are supported. For more information,\n see DNS\n for Services and Pods in the Kubernetes documentation.
\n ",
"operations": {
+ "CreateGatewayRoute": "Creates a gateway route.
\n A gateway route is attached to a virtual gateway and routes traffic to an existing\n virtual service. If a route matches a request, it can distribute traffic to a target virtual service.
\n For more information about gateway routes, see Gateway routes.
",
"CreateMesh": "Creates a service mesh.
\n A service mesh is a logical boundary for network traffic between services that are\n represented by resources within the mesh. After you create your service mesh, you can\n create virtual services, virtual nodes, virtual routers, and routes to distribute traffic\n between the applications in your mesh.
\n For more information about service meshes, see Service meshes.
",
"CreateRoute": "Creates a route that is associated with a virtual router.
\n You can route several different protocols and define a retry policy for a route.\n Traffic can be routed to one or more virtual nodes.
\n For more information about routes, see Routes.
",
+ "CreateVirtualGateway": "Creates a virtual gateway.
\n A virtual gateway allows resources outside your mesh to communicate to resources that\n are inside your mesh. The virtual gateway represents an Envoy proxy running in an Amazon ECS\n task, in a Kubernetes service, or on an Amazon EC2 instance. Unlike a virtual node, which\n represents an Envoy running with an application, a virtual gateway represents Envoy deployed by itself.
\n For more information about virtual gateways, see Virtual gateways.
",
"CreateVirtualNode": "Creates a virtual node within a service mesh.
\n A virtual node acts as a logical pointer to a particular task group, such as an Amazon ECS\n service or a Kubernetes deployment. When you create a virtual node, you can specify the\n service discovery information for your task group, and whether the proxy running in a task\n group will communicate with other proxies using Transport Layer Security (TLS).
\n You define a listener
for any inbound traffic that your virtual node\n expects. Any virtual service that your virtual node expects to communicate to is specified\n as a backend
.
\n The response metadata for your new virtual node contains the arn
that is\n associated with the virtual node. Set this value (either the full ARN or the truncated\n resource name: for example, mesh/default/virtualNode/simpleapp
) as the\n APPMESH_VIRTUAL_NODE_NAME
environment variable for your task group's Envoy\n proxy container in your task definition or pod spec. This is then mapped to the\n node.id
and node.cluster
Envoy parameters.
\n \n If you require your Envoy stats or tracing to use a different name, you can override\n the node.cluster
value that is set by\n APPMESH_VIRTUAL_NODE_NAME
with the\n APPMESH_VIRTUAL_NODE_CLUSTER
environment variable.
\n \n For more information about virtual nodes, see Virtual nodes.
",
"CreateVirtualRouter": "Creates a virtual router within a service mesh.
\n Specify a listener
for any inbound traffic that your virtual router\n receives. Create a virtual router for each protocol and port that you need to route.\n Virtual routers handle traffic for one or more virtual services within your mesh. After you\n create your virtual router, create and associate routes for your virtual router that direct\n incoming requests to different virtual nodes.
\n For more information about virtual routers, see Virtual routers.
",
"CreateVirtualService": "Creates a virtual service within a service mesh.
\n A virtual service is an abstraction of a real service that is provided by a virtual node\n directly or indirectly by means of a virtual router. Dependent services call your virtual\n service by its virtualServiceName
, and those requests are routed to the\n virtual node or virtual router that is specified as the provider for the virtual\n service.
\n For more information about virtual services, see Virtual services.
",
+ "DeleteGatewayRoute": "Deletes an existing gateway route.
",
"DeleteMesh": "Deletes an existing service mesh.
\n You must delete all resources (virtual services, routes, virtual routers, and virtual\n nodes) in the service mesh before you can delete the mesh itself.
",
"DeleteRoute": "Deletes an existing route.
",
+ "DeleteVirtualGateway": "Deletes an existing virtual gateway. You cannot delete a virtual gateway if any gateway\n routes are associated to it.
",
"DeleteVirtualNode": "Deletes an existing virtual node.
\n You must delete any virtual services that list a virtual node as a service provider\n before you can delete the virtual node itself.
",
"DeleteVirtualRouter": "Deletes an existing virtual router.
\n You must delete any routes associated with the virtual router before you can delete the\n router itself.
",
"DeleteVirtualService": "Deletes an existing virtual service.
",
+ "DescribeGatewayRoute": "Describes an existing gateway route.
",
"DescribeMesh": "Describes an existing service mesh.
",
"DescribeRoute": "Describes an existing route.
",
+ "DescribeVirtualGateway": "Describes an existing virtual gateway.
",
"DescribeVirtualNode": "Describes an existing virtual node.
",
"DescribeVirtualRouter": "Describes an existing virtual router.
",
"DescribeVirtualService": "Describes an existing virtual service.
",
+ "ListGatewayRoutes": "Returns a list of existing gateway routes that are associated to a virtual\n gateway.
",
"ListMeshes": "Returns a list of existing service meshes.
",
"ListRoutes": "Returns a list of existing routes in a service mesh.
",
"ListTagsForResource": "List the tags for an App Mesh resource.
",
+ "ListVirtualGateways": "Returns a list of existing virtual gateways in a service mesh.
",
"ListVirtualNodes": "Returns a list of existing virtual nodes.
",
"ListVirtualRouters": "Returns a list of existing virtual routers in a service mesh.
",
"ListVirtualServices": "Returns a list of existing virtual services in a service mesh.
",
"TagResource": "Associates the specified tags to a resource with the specified resourceArn
.\n If existing tags on a resource aren't specified in the request parameters, they aren't\n changed. When a resource is deleted, the tags associated with that resource are also\n deleted.
",
"UntagResource": "Deletes specified tags from a resource.
",
+ "UpdateGatewayRoute": "Updates an existing gateway route that is associated to a specified virtual gateway in a\n service mesh.
",
"UpdateMesh": "Updates an existing service mesh.
",
"UpdateRoute": "Updates an existing route for a specified service mesh and virtual router.
",
+ "UpdateVirtualGateway": "Updates an existing virtual gateway in a specified service mesh.
",
"UpdateVirtualNode": "Updates an existing virtual node in a specified service mesh.
",
"UpdateVirtualRouter": "Updates an existing virtual router in a specified service mesh.
",
"UpdateVirtualService": "Updates an existing virtual service in a specified service mesh.
"
@@ -129,6 +139,24 @@
"base": "The request contains a client token that was used for a previous update resource call\n with different specifications. Try the request again with a new client token.
",
"refs": { }
},
+ "CreateGatewayRouteInput": {
+ "base": null,
+ "refs": {
+ "CreateGatewayRouteInput$clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.
",
+ "CreateGatewayRouteInput$gatewayRouteName": "The name to use for the gateway route.
",
+ "CreateGatewayRouteInput$meshName": "The name of the service mesh to create the gateway route in.
",
+ "CreateGatewayRouteInput$meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then\n the account that you specify must share the mesh with your account before you can create \n the resource in the service mesh. For more information about mesh sharing, see Working with shared meshes.
",
+ "CreateGatewayRouteInput$spec": "The gateway route specification to apply.
",
+ "CreateGatewayRouteInput$tags": "Optional metadata that you can apply to the gateway route to assist with categorization\n and organization. Each tag consists of a key and an optional value, both of which you\n define. Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.
",
+ "CreateGatewayRouteInput$virtualGatewayName": "The name of the virtual gateway to associate the gateway route with. If the virtual\n gateway is in a shared mesh, then you must be the owner of the virtual gateway\n resource.
"
+ }
+ },
+ "CreateGatewayRouteOutput": {
+ "base": null,
+ "refs": {
+ "CreateGatewayRouteOutput$gatewayRoute": "The full description of your gateway route following the create call.
"
+ }
+ },
"CreateMeshInput": {
"base": "",
"refs": {
@@ -162,6 +190,23 @@
"CreateRouteOutput$route": "The full description of your mesh following the create call.
"
}
},
+ "CreateVirtualGatewayInput": {
+ "base": null,
+ "refs": {
+ "CreateVirtualGatewayInput$clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.
",
+ "CreateVirtualGatewayInput$meshName": "The name of the service mesh to create the virtual gateway in.
",
+ "CreateVirtualGatewayInput$meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then\n the account that you specify must share the mesh with your account before you can create \n the resource in the service mesh. For more information about mesh sharing, see Working with shared meshes.
",
+ "CreateVirtualGatewayInput$spec": "The virtual gateway specification to apply.
",
+ "CreateVirtualGatewayInput$tags": "Optional metadata that you can apply to the virtual gateway to assist with\n categorization and organization. Each tag consists of a key and an optional value, both of\n which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.
",
+ "CreateVirtualGatewayInput$virtualGatewayName": "The name to use for the virtual gateway.
"
+ }
+ },
+ "CreateVirtualGatewayOutput": {
+ "base": null,
+ "refs": {
+ "CreateVirtualGatewayOutput$virtualGateway": "The full description of your virtual gateway following the create call.
"
+ }
+ },
"CreateVirtualNodeInput": {
"base": "",
"refs": {
@@ -213,6 +258,21 @@
"CreateVirtualServiceOutput$virtualService": "The full description of your virtual service following the create call.
"
}
},
+ "DeleteGatewayRouteInput": {
+ "base": null,
+ "refs": {
+ "DeleteGatewayRouteInput$gatewayRouteName": "The name of the gateway route to delete.
",
+ "DeleteGatewayRouteInput$meshName": "The name of the service mesh to delete the gateway route from.
",
+ "DeleteGatewayRouteInput$meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.
",
+ "DeleteGatewayRouteInput$virtualGatewayName": "The name of the virtual gateway to delete the route from.
"
+ }
+ },
+ "DeleteGatewayRouteOutput": {
+ "base": null,
+ "refs": {
+ "DeleteGatewayRouteOutput$gatewayRoute": "The gateway route that was deleted.
"
+ }
+ },
"DeleteMeshInput": {
"base": "",
"refs": {
@@ -240,6 +300,20 @@
"DeleteRouteOutput$route": "The route that was deleted.
"
}
},
+ "DeleteVirtualGatewayInput": {
+ "base": null,
+ "refs": {
+ "DeleteVirtualGatewayInput$meshName": "The name of the service mesh to delete the virtual gateway from.
",
+ "DeleteVirtualGatewayInput$meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.
",
+ "DeleteVirtualGatewayInput$virtualGatewayName": "The name of the virtual gateway to delete.
"
+ }
+ },
+ "DeleteVirtualGatewayOutput": {
+ "base": null,
+ "refs": {
+ "DeleteVirtualGatewayOutput$virtualGateway": "The virtual gateway that was deleted.
"
+ }
+ },
"DeleteVirtualNodeInput": {
"base": "",
"refs": {
@@ -282,6 +356,21 @@
"DeleteVirtualServiceOutput$virtualService": "The virtual service that was deleted.
"
}
},
+ "DescribeGatewayRouteInput": {
+ "base": null,
+ "refs": {
+ "DescribeGatewayRouteInput$gatewayRouteName": "The name of the gateway route to describe.
",
+ "DescribeGatewayRouteInput$meshName": "The name of the service mesh that the gateway route resides in.
",
+ "DescribeGatewayRouteInput$meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.
",
+ "DescribeGatewayRouteInput$virtualGatewayName": "The name of the virtual gateway that the gateway route is associated with.
"
+ }
+ },
+ "DescribeGatewayRouteOutput": {
+ "base": null,
+ "refs": {
+ "DescribeGatewayRouteOutput$gatewayRoute": "The full description of your gateway route.
"
+ }
+ },
"DescribeMeshInput": {
"base": "",
"refs": {
@@ -310,6 +399,20 @@
"DescribeRouteOutput$route": "The full description of your route.
"
}
},
+ "DescribeVirtualGatewayInput": {
+ "base": null,
+ "refs": {
+ "DescribeVirtualGatewayInput$meshName": "The name of the service mesh that the gateway route resides in.
",
+ "DescribeVirtualGatewayInput$meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.
",
+ "DescribeVirtualGatewayInput$virtualGatewayName": "The name of the virtual gateway to describe.
"
+ }
+ },
+ "DescribeVirtualGatewayOutput": {
+ "base": null,
+ "refs": {
+ "DescribeVirtualGatewayOutput$virtualGateway": "The full description of your virtual gateway.
"
+ }
+ },
"DescribeVirtualNodeInput": {
"base": "",
"refs": {
@@ -397,6 +500,85 @@
"base": "You don't have permissions to perform this action.
",
"refs": { }
},
+ "GatewayRouteData": {
+ "base": "An object that represents a gateway route returned by a describe operation.
",
+ "refs": {
+ "GatewayRouteData$gatewayRouteName": "The name of the gateway route.
",
+ "GatewayRouteData$meshName": "The name of the service mesh that the resource resides in.
",
+ "GatewayRouteData$spec": "The specifications of the gateway route.
",
+ "GatewayRouteData$status": "The status of the gateway route.
",
+ "GatewayRouteData$virtualGatewayName": "The virtual gateway that the gateway route is associated with.
"
+ }
+ },
+ "GatewayRouteList": {
+ "base": null,
+ "refs": {
+ "GatewayRouteList$member": null
+ }
+ },
+ "GatewayRouteRef": {
+ "base": "An object that represents a gateway route returned by a list operation.
",
+ "refs": {
+ "GatewayRouteRef$arn": "The full Amazon Resource Name (ARN) for the gateway route.
",
+ "GatewayRouteRef$createdAt": "The Unix epoch timestamp in seconds for when the resource was created.
",
+ "GatewayRouteRef$gatewayRouteName": "The name of the gateway route.
",
+ "GatewayRouteRef$lastUpdatedAt": "The Unix epoch timestamp in seconds for when the resource was last updated.
",
+ "GatewayRouteRef$meshName": "The name of the service mesh that the resource resides in.
",
+ "GatewayRouteRef$meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.
",
+ "GatewayRouteRef$resourceOwner": "The AWS IAM account ID of the resource owner. If the account ID is not your own, then it's\n the ID of the mesh owner or of another account that the mesh is shared with. For more information about mesh sharing, see Working with shared meshes.
",
+ "GatewayRouteRef$version": "The version of the resource. Resources are created at version 1, and this version is incremented each time that they're updated.
",
+ "GatewayRouteRef$virtualGatewayName": "The virtual gateway that the gateway route is associated with.
"
+ }
+ },
+ "GatewayRouteSpec": {
+ "base": "An object that represents a gateway route specification. Specify one gateway route\n type.
",
+ "refs": {
+ "GatewayRouteSpec$grpcRoute": "An object that represents the specification of a gRPC gateway route.
",
+ "GatewayRouteSpec$http2Route": "An object that represents the specification of an HTTP/2 gateway route.
",
+ "GatewayRouteSpec$httpRoute": "An object that represents the specification of an HTTP gateway route.
"
+ }
+ },
+ "GatewayRouteStatus": {
+ "base": "An object that represents the current status of a gateway route.
",
+ "refs": {
+ "GatewayRouteStatus$status": "The current status for the gateway route.
"
+ }
+ },
+ "GatewayRouteStatusCode": {
+ "base": null,
+ "refs": { }
+ },
+ "GatewayRouteTarget": {
+ "base": "An object that represents a gateway route target.
",
+ "refs": {
+ "GatewayRouteTarget$virtualService": "An object that represents a virtual service gateway route target.
"
+ }
+ },
+ "GatewayRouteVirtualService": {
+ "base": "An object that represents the virtual service that traffic is routed to.
",
+ "refs": {
+ "GatewayRouteVirtualService$virtualServiceName": "The name of the virtual service that traffic is routed to.
"
+ }
+ },
+ "GrpcGatewayRoute": {
+ "base": "An object that represents a gRPC gateway route.
",
+ "refs": {
+ "GrpcGatewayRoute$action": "An object that represents the action to take if a match is determined.
",
+ "GrpcGatewayRoute$match": "An object that represents the criteria for determining a request match.
"
+ }
+ },
+ "GrpcGatewayRouteAction": {
+ "base": "An object that represents the action to take if a match is determined.
",
+ "refs": {
+ "GrpcGatewayRouteAction$target": "An object that represents the target that traffic is routed to when a request matches the gateway route.
"
+ }
+ },
+ "GrpcGatewayRouteMatch": {
+ "base": "An object that represents the criteria for determining a request match.
",
+ "refs": {
+ "GrpcGatewayRouteMatch$serviceName": "The fully qualified domain name for the service to match from the request.
"
+ }
+ },
"GrpcRetryPolicy": {
"base": "An object that represents a retry policy. Specify at least one value for at least one of the types of RetryEvents
, a value for maxRetries
, and a value for perRetryTimeout
.
",
"refs": {
@@ -422,7 +604,8 @@
"refs": {
"GrpcRoute$action": "An object that represents the action to take if a match is determined.
",
"GrpcRoute$match": "An object that represents the criteria for determining a request match.
",
- "GrpcRoute$retryPolicy": "An object that represents a retry policy.
"
+ "GrpcRoute$retryPolicy": "An object that represents a retry policy.
",
+ "GrpcRoute$timeout": "An object that represents types of timeouts.
"
}
},
"GrpcRouteAction": {
@@ -464,8 +647,11 @@
}
},
"GrpcTimeout": {
- "base": null,
- "refs": { }
+ "base": "An object that represents types of timeouts.
",
+ "refs": {
+ "GrpcTimeout$idle": "An object that represents an idle timeout. An idle timeout bounds the amount of time that a connection may be idle. The default value is none.
",
+ "GrpcTimeout$perRequest": "An object that represents a per request timeout. The default value is 15 seconds. If you set a higher timeout, then make sure that the higher value is set for each App Mesh resource in a conversation. For example, if a virtual node backend uses a virtual router provider to route to another virtual node, then the timeout should be greater than 15 seconds for the source and destination virtual node and the route.
"
+ }
},
"HeaderMatch": {
"base": null,
@@ -513,6 +699,25 @@
"base": null,
"refs": { }
},
+ "HttpGatewayRoute": {
+ "base": "An object that represents an HTTP gateway route.
",
+ "refs": {
+ "HttpGatewayRoute$action": "An object that represents the action to take if a match is determined.
",
+ "HttpGatewayRoute$match": "An object that represents the criteria for determining a request match.
"
+ }
+ },
+ "HttpGatewayRouteAction": {
+ "base": "An object that represents the action to take if a match is determined.
",
+ "refs": {
+ "HttpGatewayRouteAction$target": "An object that represents the target that traffic is routed to when a request matches the gateway route.
"
+ }
+ },
+ "HttpGatewayRouteMatch": {
+ "base": "An object that represents the criteria for determining a request match.
",
+ "refs": {
+ "HttpGatewayRouteMatch$prefix": "Specifies the path to match requests with. This parameter must always start with\n /
, which by itself matches all requests to the virtual service name. You\n can also match for path-based routing of requests. For example, if your virtual service\n name is my-service.local
and you want the route to match requests to\n my-service.local/metrics
, your prefix should be\n /metrics
.
"
+ }
+ },
"HttpMethod": {
"base": null,
"refs": { }
@@ -541,7 +746,8 @@
"refs": {
"HttpRoute$action": "An object that represents the action to take if a match is determined.
",
"HttpRoute$match": "An object that represents the criteria for determining a request match.
",
- "HttpRoute$retryPolicy": "An object that represents a retry policy.
"
+ "HttpRoute$retryPolicy": "An object that represents a retry policy.
",
+ "HttpRoute$timeout": "An object that represents types of timeouts.
"
}
},
"HttpRouteAction": {
@@ -578,7 +784,7 @@
"refs": { }
},
"HttpTimeout": {
- "base": null,
+ "base": "An object that represents types of timeouts.
",
"refs": { }
},
"InternalServerErrorException": {
@@ -589,6 +795,27 @@
"base": "You have exceeded a service limit for your account. For more information, see Service\n Limits in the AWS App Mesh User Guide.
",
"refs": { }
},
+ "ListGatewayRoutesInput": {
+ "base": null,
+ "refs": {
+ "ListGatewayRoutesInput$limit": "The maximum number of results returned by ListGatewayRoutes
in paginated\n output. When you use this parameter, ListGatewayRoutes
returns only\n limit
results in a single page along with a nextToken
response\n element. You can see the remaining results of the initial request by sending another\n ListGatewayRoutes
request with the returned nextToken
value.\n This value can be between 1 and 100. If you don't use this\n parameter, ListGatewayRoutes
returns up to 100 results and a\n nextToken
value if applicable.
",
+ "ListGatewayRoutesInput$meshName": "The name of the service mesh to list gateway routes in.
",
+ "ListGatewayRoutesInput$meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.
",
+ "ListGatewayRoutesInput$nextToken": "The nextToken
value returned from a previous paginated\n ListGatewayRoutes
request where limit
was used and the results\n exceeded the value of that parameter. Pagination continues from the end of the previous\n results that returned the nextToken
value.
",
+ "ListGatewayRoutesInput$virtualGatewayName": "The name of the virtual gateway to list gateway routes in.
"
+ }
+ },
+ "ListGatewayRoutesLimit": {
+ "base": null,
+ "refs": { }
+ },
+ "ListGatewayRoutesOutput": {
+ "base": null,
+ "refs": {
+ "ListGatewayRoutesOutput$gatewayRoutes": "The list of existing gateway routes for the specified service mesh and virtual\n gateway.
",
+ "ListGatewayRoutesOutput$nextToken": "The nextToken
value to include in a future ListGatewayRoutes
\n request. When the results of a ListGatewayRoutes
request exceed\n limit
, you can use this value to retrieve the next page of results. This\n value is null
when there are no more results to return.
"
+ }
+ },
"ListMeshesInput": {
"base": "",
"refs": {
@@ -643,6 +870,26 @@
"ListTagsForResourceOutput$tags": "The tags for the resource.
"
}
},
+ "ListVirtualGatewaysInput": {
+ "base": null,
+ "refs": {
+ "ListVirtualGatewaysInput$limit": "The maximum number of results returned by ListVirtualGateways
in paginated\n output. When you use this parameter, ListVirtualGateways
returns only\n limit
results in a single page along with a nextToken
response\n element. You can see the remaining results of the initial request by sending another\n ListVirtualGateways
request with the returned nextToken
value.\n This value can be between 1 and 100. If you don't use this\n parameter, ListVirtualGateways
returns up to 100 results and\n a nextToken
value if applicable.
",
+ "ListVirtualGatewaysInput$meshName": "The name of the service mesh to list virtual gateways in.
",
+ "ListVirtualGatewaysInput$meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.
",
+ "ListVirtualGatewaysInput$nextToken": "The nextToken
value returned from a previous paginated\n ListVirtualGateways
request where limit
was used and the\n results exceeded the value of that parameter. Pagination continues from the end of the\n previous results that returned the nextToken
value.
"
+ }
+ },
+ "ListVirtualGatewaysLimit": {
+ "base": null,
+ "refs": { }
+ },
+ "ListVirtualGatewaysOutput": {
+ "base": null,
+ "refs": {
+ "ListVirtualGatewaysOutput$nextToken": "The nextToken
value to include in a future ListVirtualGateways
\n request. When the results of a ListVirtualGateways
request exceed\n limit
, you can use this value to retrieve the next page of results. This\n value is null
when there are no more results to return.
",
+ "ListVirtualGatewaysOutput$virtualGateways": "The list of existing virtual gateways for the specified service mesh.
"
+ }
+ },
"ListVirtualNodesInput": {
"base": "",
"refs": {
@@ -708,12 +955,17 @@
"refs": {
"Listener$healthCheck": "The health check information for the listener.
",
"Listener$portMapping": "The port mapping information for the listener.
",
+ "Listener$timeout": "An object that represents timeouts for different protocols.
",
"Listener$tls": "A reference to an object that represents the Transport Layer Security (TLS) properties for a listener.
"
}
},
"ListenerTimeout": {
- "base": null,
- "refs": { }
+ "base": "An object that represents timeouts for different protocols.
",
+ "refs": {
+ "ListenerTimeout$http": "An object that represents types of timeouts.
",
+ "ListenerTimeout$http2": "An object that represents types of timeouts.
",
+ "ListenerTimeout$tcp": "An object that represents types of timeouts.
"
+ }
},
"ListenerTls": {
"base": "An object that represents the Transport Layer Security (TLS) properties for a listener.
",
@@ -862,7 +1114,7 @@
"ResourceMetadata$meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.
",
"ResourceMetadata$resourceOwner": "The AWS IAM account ID of the resource owner. If the account ID is not your own, then it's\n the ID of the mesh owner or of another account that the mesh is shared with. For more information about mesh sharing, see Working with shared meshes.
",
"ResourceMetadata$uid": "The unique identifier for the resource.
",
- "ResourceMetadata$version": "The version of the resource. Resources are created at version 1, and this version is\n incremented each time that they're updated.
"
+ "ResourceMetadata$version": "The version of the resource. Resources are created at version 1, and this version is incremented each time that they're updated.
"
}
},
"ResourceName": {
@@ -998,7 +1250,8 @@
"TcpRoute": {
"base": "An object that represents a TCP route type.
",
"refs": {
- "TcpRoute$action": "The action to take if a match is determined.
"
+ "TcpRoute$action": "The action to take if a match is determined.
",
+ "TcpRoute$timeout": "An object that represents types of timeouts.
"
}
},
"TcpRouteAction": {
@@ -1008,7 +1261,7 @@
}
},
"TcpTimeout": {
- "base": null,
+ "base": "An object that represents types of timeouts.
",
"refs": { }
},
"Timestamp": {
@@ -1059,6 +1312,23 @@
"base": "",
"refs": { }
},
+ "UpdateGatewayRouteInput": {
+ "base": null,
+ "refs": {
+ "UpdateGatewayRouteInput$clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.
",
+ "UpdateGatewayRouteInput$gatewayRouteName": "The name of the gateway route to update.
",
+ "UpdateGatewayRouteInput$meshName": "The name of the service mesh that the gateway route resides in.
",
+ "UpdateGatewayRouteInput$meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.
",
+ "UpdateGatewayRouteInput$spec": "The new gateway route specification to apply. This overwrites the existing data.
",
+ "UpdateGatewayRouteInput$virtualGatewayName": "The name of the virtual gateway that the gateway route is associated with.
"
+ }
+ },
+ "UpdateGatewayRouteOutput": {
+ "base": null,
+ "refs": {
+ "UpdateGatewayRouteOutput$gatewayRoute": "A full description of the gateway route that was updated.
"
+ }
+ },
"UpdateMeshInput": {
"base": "",
"refs": {
@@ -1088,6 +1358,22 @@
"UpdateRouteOutput$route": "A full description of the route that was updated.
"
}
},
+ "UpdateVirtualGatewayInput": {
+ "base": null,
+ "refs": {
+ "UpdateVirtualGatewayInput$clientToken": "Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.
",
+ "UpdateVirtualGatewayInput$meshName": "The name of the service mesh that the virtual gateway resides in.
",
+ "UpdateVirtualGatewayInput$meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.
",
+ "UpdateVirtualGatewayInput$spec": "The new virtual gateway specification to apply. This overwrites the existing\n data.
",
+ "UpdateVirtualGatewayInput$virtualGatewayName": "The name of the virtual gateway to update.
"
+ }
+ },
+ "UpdateVirtualGatewayOutput": {
+ "base": null,
+ "refs": {
+ "UpdateVirtualGatewayOutput$virtualGateway": "A full description of the virtual gateway that was updated.
"
+ }
+ },
"UpdateVirtualNodeInput": {
"base": "",
"refs": {
@@ -1136,6 +1422,200 @@
"UpdateVirtualServiceOutput$virtualService": "A full description of the virtual service that was updated.
"
}
},
+ "VirtualGatewayAccessLog": {
+ "base": "The access log configuration for a virtual gateway.
",
+ "refs": {
+ "VirtualGatewayAccessLog$file": "The file object to send virtual gateway access logs to.
"
+ }
+ },
+ "VirtualGatewayBackendDefaults": {
+ "base": "An object that represents the default properties for a backend.
",
+ "refs": {
+ "VirtualGatewayBackendDefaults$clientPolicy": "A reference to an object that represents a client policy.
"
+ }
+ },
+ "VirtualGatewayCertificateAuthorityArns": {
+ "base": null,
+ "refs": {
+ "VirtualGatewayCertificateAuthorityArns$member": null
+ }
+ },
+ "VirtualGatewayClientPolicy": {
+ "base": "An object that represents a client policy.
",
+ "refs": {
+ "VirtualGatewayClientPolicy$tls": "A reference to an object that represents a Transport Layer Security (TLS) client policy.
"
+ }
+ },
+ "VirtualGatewayClientPolicyTls": {
+ "base": "An object that represents a Transport Layer Security (TLS) client policy.
",
+ "refs": {
+ "VirtualGatewayClientPolicyTls$enforce": "Whether the policy is enforced. The default is True
, if a value isn't\n specified.
",
+ "VirtualGatewayClientPolicyTls$ports": "One or more ports that the policy is enforced for.
",
+ "VirtualGatewayClientPolicyTls$validation": "A reference to an object that represents a TLS validation context.
"
+ }
+ },
+ "VirtualGatewayData": {
+ "base": "An object that represents a virtual gateway returned by a describe operation.
",
+ "refs": {
+ "VirtualGatewayData$meshName": "The name of the service mesh that the virtual gateway resides in.
",
+ "VirtualGatewayData$spec": "The specifications of the virtual gateway.
",
+ "VirtualGatewayData$status": "The current status of the virtual gateway.
",
+ "VirtualGatewayData$virtualGatewayName": "The name of the virtual gateway.
"
+ }
+ },
+ "VirtualGatewayFileAccessLog": {
+ "base": "An object that represents an access log file.
",
+ "refs": {
+ "VirtualGatewayFileAccessLog$path": "The file path to write access logs to. You can use /dev/stdout
to send\n access logs to standard out and configure your Envoy container to use a log driver, such as\n awslogs
, to export the access logs to a log storage service such as Amazon\n CloudWatch Logs. You can also specify a path in the Envoy container's file system to write\n the files to disk.
"
+ }
+ },
+ "VirtualGatewayHealthCheckIntervalMillis": {
+ "base": null,
+ "refs": { }
+ },
+ "VirtualGatewayHealthCheckPolicy": {
+ "base": "An object that represents the health check policy for a virtual gateway's\n listener.
",
+ "refs": {
+ "VirtualGatewayHealthCheckPolicy$healthyThreshold": "The number of consecutive successful health checks that must occur before declaring the\n listener healthy.
",
+ "VirtualGatewayHealthCheckPolicy$intervalMillis": "The time period in milliseconds between each health check execution.
",
+ "VirtualGatewayHealthCheckPolicy$path": "The destination path for the health check request. This value is only used if the\n specified protocol is HTTP or HTTP/2. For any other protocol, this value is ignored.
",
+ "VirtualGatewayHealthCheckPolicy$port": "The destination port for the health check request. This port must match the port defined\n in the PortMapping for the listener.
",
+ "VirtualGatewayHealthCheckPolicy$protocol": "The protocol for the health check request. If you specify grpc
, then your\n service must conform to the GRPC Health\n Checking Protocol.
",
+ "VirtualGatewayHealthCheckPolicy$timeoutMillis": "The amount of time to wait when receiving a response from the health check, in\n milliseconds.
",
+ "VirtualGatewayHealthCheckPolicy$unhealthyThreshold": "The number of consecutive failed health checks that must occur before declaring a\n virtual gateway unhealthy.
"
+ }
+ },
+ "VirtualGatewayHealthCheckThreshold": {
+ "base": null,
+ "refs": { }
+ },
+ "VirtualGatewayHealthCheckTimeoutMillis": {
+ "base": null,
+ "refs": { }
+ },
+ "VirtualGatewayList": {
+ "base": null,
+ "refs": {
+ "VirtualGatewayList$member": null
+ }
+ },
+ "VirtualGatewayListener": {
+ "base": "An object that represents a listener for a virtual gateway.
",
+ "refs": {
+ "VirtualGatewayListener$healthCheck": "The health check information for the listener.
",
+ "VirtualGatewayListener$portMapping": "The port mapping information for the listener.
",
+ "VirtualGatewayListener$tls": "A reference to an object that represents the Transport Layer Security (TLS) properties for the listener.
"
+ }
+ },
+ "VirtualGatewayListenerTls": {
+ "base": "An object that represents the Transport Layer Security (TLS) properties for a listener.
",
+ "refs": {
+ "VirtualGatewayListenerTls$certificate": "An object that represents a Transport Layer Security (TLS) certificate.
",
+ "VirtualGatewayListenerTls$mode": "Specify one of the following modes.
\n \n - \n
\n STRICT – Listener only accepts connections with TLS\n enabled.
\n \n - \n
\n PERMISSIVE – Listener accepts connections with or\n without TLS enabled.
\n \n - \n
\n DISABLED – Listener only accepts connections without\n TLS.
\n \n
"
+ }
+ },
+ "VirtualGatewayListenerTlsAcmCertificate": {
+ "base": "An object that represents an AWS Certicate Manager (ACM) certificate.
",
+ "refs": {
+ "VirtualGatewayListenerTlsAcmCertificate$certificateArn": "The Amazon Resource Name (ARN) for the certificate. The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see Transport Layer Security (TLS).
"
+ }
+ },
+ "VirtualGatewayListenerTlsCertificate": {
+ "base": "An object that represents a listener's Transport Layer Security (TLS) certificate.
",
+ "refs": {
+ "VirtualGatewayListenerTlsCertificate$acm": "A reference to an object that represents an AWS Certicate Manager (ACM) certificate.
",
+ "VirtualGatewayListenerTlsCertificate$file": "A reference to an object that represents a local file certificate.
"
+ }
+ },
+ "VirtualGatewayListenerTlsFileCertificate": {
+ "base": "An object that represents a local file certificate.\n The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see Transport Layer Security (TLS).
",
+ "refs": {
+ "VirtualGatewayListenerTlsFileCertificate$certificateChain": "The certificate chain for the certificate.
",
+ "VirtualGatewayListenerTlsFileCertificate$privateKey": "The private key for a certificate stored on the file system of the mesh endpoint that\n the proxy is running on.
"
+ }
+ },
+ "VirtualGatewayListenerTlsMode": {
+ "base": null,
+ "refs": { }
+ },
+ "VirtualGatewayListeners": {
+ "base": null,
+ "refs": {
+ "VirtualGatewayListeners$member": null
+ }
+ },
+ "VirtualGatewayLogging": {
+ "base": "An object that represents logging information.
",
+ "refs": {
+ "VirtualGatewayLogging$accessLog": "The access log configuration.
"
+ }
+ },
+ "VirtualGatewayPortMapping": {
+ "base": "An object that represents a port mapping.
",
+ "refs": {
+ "VirtualGatewayPortMapping$port": "The port used for the port mapping. Specify one protocol.
",
+ "VirtualGatewayPortMapping$protocol": "The protocol used for the port mapping.
"
+ }
+ },
+ "VirtualGatewayPortProtocol": {
+ "base": null,
+ "refs": { }
+ },
+ "VirtualGatewayRef": {
+ "base": "An object that represents a virtual gateway returned by a list operation.
",
+ "refs": {
+ "VirtualGatewayRef$arn": "The full Amazon Resource Name (ARN) for the resource.
",
+ "VirtualGatewayRef$createdAt": "The Unix epoch timestamp in seconds for when the resource was created.
",
+ "VirtualGatewayRef$lastUpdatedAt": "The Unix epoch timestamp in seconds for when the resource was last updated.
",
+ "VirtualGatewayRef$meshName": "The name of the service mesh that the resource resides in.
",
+ "VirtualGatewayRef$meshOwner": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.
",
+ "VirtualGatewayRef$resourceOwner": "The AWS IAM account ID of the resource owner. If the account ID is not your own, then it's\n the ID of the mesh owner or of another account that the mesh is shared with. For more information about mesh sharing, see Working with shared meshes.
",
+ "VirtualGatewayRef$version": "The version of the resource. Resources are created at version 1, and this version is incremented each time that they're updated.
",
+ "VirtualGatewayRef$virtualGatewayName": "The name of the resource.
"
+ }
+ },
+ "VirtualGatewaySpec": {
+ "base": "An object that represents the specification of a service mesh resource.
",
+ "refs": {
+ "VirtualGatewaySpec$backendDefaults": "A reference to an object that represents the defaults for backends.
",
+ "VirtualGatewaySpec$listeners": "The listeners that the mesh endpoint is expected to receive inbound traffic from. You\n can specify one listener.
"
+ }
+ },
+ "VirtualGatewayStatus": {
+ "base": "An object that represents the status of the mesh resource.
",
+ "refs": {
+ "VirtualGatewayStatus$status": "The current status.
"
+ }
+ },
+ "VirtualGatewayStatusCode": {
+ "base": null,
+ "refs": { }
+ },
+ "VirtualGatewayTlsValidationContext": {
+ "base": "An object that represents a Transport Layer Security (TLS) validation context.
",
+ "refs": {
+ "VirtualGatewayTlsValidationContext$trust": "A reference to an object that represents a TLS validation context trust.
"
+ }
+ },
+ "VirtualGatewayTlsValidationContextAcmTrust": {
+ "base": "An object that represents a TLS validation context trust for an AWS Certicate Manager (ACM)\n certificate.
",
+ "refs": {
+ "VirtualGatewayTlsValidationContextAcmTrust$certificateAuthorityArns": "One or more ACM Amazon Resource Name (ARN)s.
"
+ }
+ },
+ "VirtualGatewayTlsValidationContextFileTrust": {
+ "base": "An object that represents a Transport Layer Security (TLS) validation context trust for a local file.
",
+ "refs": {
+ "VirtualGatewayTlsValidationContextFileTrust$certificateChain": "The certificate trust chain for a certificate stored on the file system of the virtual\n node that the proxy is running on.
"
+ }
+ },
+ "VirtualGatewayTlsValidationContextTrust": {
+ "base": "An object that represents a Transport Layer Security (TLS) validation context trust.
",
+ "refs": {
+ "VirtualGatewayTlsValidationContextTrust$acm": "A reference to an object that represents a TLS validation context trust for an AWS Certicate Manager (ACM)\n certificate.
",
+ "VirtualGatewayTlsValidationContextTrust$file": "An object that represents a TLS validation context trust for a local file.
"
+ }
+ },
"VirtualNodeData": {
"base": "An object that represents a virtual node returned by a describe operation.
",
"refs": {
diff --git a/models/apis/appmesh/2019-01-25/paginators-1.json b/models/apis/appmesh/2019-01-25/paginators-1.json
index ca51591f058..ac64b5684da 100644
--- a/models/apis/appmesh/2019-01-25/paginators-1.json
+++ b/models/apis/appmesh/2019-01-25/paginators-1.json
@@ -1,5 +1,11 @@
{
"pagination": {
+ "ListGatewayRoutes": {
+ "input_token": "nextToken",
+ "limit_key": "limit",
+ "output_token": "nextToken",
+ "result_key": "gatewayRoutes"
+ },
"ListMeshes": {
"input_token": "nextToken",
"limit_key": "limit",
@@ -18,6 +24,12 @@
"output_token": "nextToken",
"result_key": "tags"
},
+ "ListVirtualGateways": {
+ "input_token": "nextToken",
+ "limit_key": "limit",
+ "output_token": "nextToken",
+ "result_key": "virtualGateways"
+ },
"ListVirtualNodes": {
"input_token": "nextToken",
"limit_key": "limit",
diff --git a/models/apis/cloudhsmv2/2017-04-28/docs-2.json b/models/apis/cloudhsmv2/2017-04-28/docs-2.json
index 0075d3d6b3c..2431674dd0f 100644
--- a/models/apis/cloudhsmv2/2017-04-28/docs-2.json
+++ b/models/apis/cloudhsmv2/2017-04-28/docs-2.json
@@ -106,7 +106,7 @@
}
},
"CloudHsmTagException": {
- "base": null,
+ "base": "The request was rejected because of a tagging failure. Verify the tag conditions in all applicable policies, and then retry the request.
",
"refs": {
}
},
@@ -122,7 +122,7 @@
"base": null,
"refs": {
"Backup$ClusterId": "The identifier (ID) of the cluster that was backed up.
",
- "Backup$SourceCluster": "The identifier (ID) of the cluster containing the source backup from which the new backup was copied. .
",
+ "Backup$SourceCluster": "The identifier (ID) of the cluster containing the source backup from which the new backup was copied.
",
"Cluster$ClusterId": "The cluster's identifier (ID).
",
"CreateHsmRequest$ClusterId": "The identifier (ID) of the HSM's cluster. To find the cluster ID, use DescribeClusters.
",
"DeleteClusterRequest$ClusterId": "The identifier (ID) of the cluster that you are deleting. To find the cluster ID, use DescribeClusters.
",
@@ -355,7 +355,7 @@
"Region": {
"base": null,
"refs": {
- "Backup$SourceRegion": "The AWS region that contains the source backup from which the new backup was copied.
",
+ "Backup$SourceRegion": "The AWS Region that contains the source backup from which the new backup was copied.
",
"CopyBackupToRegionRequest$DestinationRegion": "The AWS region that will contain your copied CloudHSM cluster backup.
",
"DestinationBackup$SourceRegion": "The AWS region that contains the source backup from which the new backup was copied.
"
}
@@ -440,10 +440,10 @@
"TagList": {
"base": null,
"refs": {
- "Backup$TagList": null,
- "Cluster$TagList": null,
- "CopyBackupToRegionRequest$TagList": null,
- "CreateClusterRequest$TagList": null,
+ "Backup$TagList": "The list of tags for the backup.
",
+ "Cluster$TagList": "The list of tags for the cluster.
",
+ "CopyBackupToRegionRequest$TagList": "Tags to apply to the destination backup during creation. If you specify tags, only these tags will be applied to the destination backup. If you do not specify tags, the service copies tags from the source backup to the destination backup.
",
+ "CreateClusterRequest$TagList": "Tags to apply to the CloudHSM cluster during creation.
",
"ListTagsResponse$TagList": "A list of tags.
",
"TagResourceRequest$TagList": "A list of one or more tags.
"
}
diff --git a/models/apis/comprehend/2017-11-27/api-2.json b/models/apis/comprehend/2017-11-27/api-2.json
index ebecf1115ad..7bd50435538 100644
--- a/models/apis/comprehend/2017-11-27/api-2.json
+++ b/models/apis/comprehend/2017-11-27/api-2.json
@@ -373,6 +373,7 @@
"output":{"shape":"DetectEntitiesResponse"},
"errors":[
{"shape":"InvalidRequestException"},
+ {"shape":"ResourceUnavailableException"},
{"shape":"TextSizeLimitExceededException"},
{"shape":"UnsupportedLanguageException"},
{"shape":"InternalServerException"}
@@ -815,7 +816,7 @@
"type":"structure",
"required":["TextList"],
"members":{
- "TextList":{"shape":"StringList"}
+ "TextList":{"shape":"CustomerInputStringList"}
}
},
"BatchDetectDominantLanguageResponse":{
@@ -827,7 +828,8 @@
"members":{
"ResultList":{"shape":"ListOfDetectDominantLanguageResult"},
"ErrorList":{"shape":"BatchItemErrorList"}
- }
+ },
+ "sensitive":true
},
"BatchDetectEntitiesItemResult":{
"type":"structure",
@@ -843,7 +845,7 @@
"LanguageCode"
],
"members":{
- "TextList":{"shape":"StringList"},
+ "TextList":{"shape":"CustomerInputStringList"},
"LanguageCode":{"shape":"LanguageCode"}
}
},
@@ -856,7 +858,8 @@
"members":{
"ResultList":{"shape":"ListOfDetectEntitiesResult"},
"ErrorList":{"shape":"BatchItemErrorList"}
- }
+ },
+ "sensitive":true
},
"BatchDetectKeyPhrasesItemResult":{
"type":"structure",
@@ -872,7 +875,7 @@
"LanguageCode"
],
"members":{
- "TextList":{"shape":"StringList"},
+ "TextList":{"shape":"CustomerInputStringList"},
"LanguageCode":{"shape":"LanguageCode"}
}
},
@@ -885,7 +888,8 @@
"members":{
"ResultList":{"shape":"ListOfDetectKeyPhrasesResult"},
"ErrorList":{"shape":"BatchItemErrorList"}
- }
+ },
+ "sensitive":true
},
"BatchDetectSentimentItemResult":{
"type":"structure",
@@ -902,7 +906,7 @@
"LanguageCode"
],
"members":{
- "TextList":{"shape":"StringList"},
+ "TextList":{"shape":"CustomerInputStringList"},
"LanguageCode":{"shape":"LanguageCode"}
}
},
@@ -915,7 +919,8 @@
"members":{
"ResultList":{"shape":"ListOfDetectSentimentResult"},
"ErrorList":{"shape":"BatchItemErrorList"}
- }
+ },
+ "sensitive":true
},
"BatchDetectSyntaxItemResult":{
"type":"structure",
@@ -931,7 +936,7 @@
"LanguageCode"
],
"members":{
- "TextList":{"shape":"StringList"},
+ "TextList":{"shape":"CustomerInputStringList"},
"LanguageCode":{"shape":"SyntaxLanguageCode"}
}
},
@@ -944,7 +949,8 @@
"members":{
"ResultList":{"shape":"ListOfDetectSyntaxResult"},
"ErrorList":{"shape":"BatchItemErrorList"}
- }
+ },
+ "sensitive":true
},
"BatchItemError":{
"type":"structure",
@@ -985,7 +991,8 @@
"NumberOfTrainedDocuments":{"shape":"Integer"},
"NumberOfTestDocuments":{"shape":"Integer"},
"EvaluationMetrics":{"shape":"ClassifierEvaluationMetrics"}
- }
+ },
+ "sensitive":true
},
"ClassifyDocumentRequest":{
"type":"structure",
@@ -994,7 +1001,7 @@
"EndpointArn"
],
"members":{
- "Text":{"shape":"String"},
+ "Text":{"shape":"CustomerInputString"},
"EndpointArn":{"shape":"DocumentClassifierEndpointArn"}
}
},
@@ -1003,7 +1010,8 @@
"members":{
"Classes":{"shape":"ListOfClasses"},
"Labels":{"shape":"ListOfLabels"}
- }
+ },
+ "sensitive":true
},
"ClientRequestTokenString":{
"type":"string",
@@ -1024,7 +1032,7 @@
"ComprehendEndpointArn":{
"type":"string",
"max":256,
- "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:document-classifier-endpoint/[a-zA-Z0-9](-*[a-zA-Z0-9])*"
+ "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:(document-classifier-endpoint|entity-recognizer-endpoint)/[a-zA-Z0-9](-*[a-zA-Z0-9])*"
},
"ComprehendEndpointName":{
"type":"string",
@@ -1034,7 +1042,7 @@
"ComprehendModelArn":{
"type":"string",
"max":256,
- "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:document-classifier/[a-zA-Z0-9](-*[a-zA-Z0-9])*"
+ "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:(document-classifier|entity-recognizer)/[a-zA-Z0-9](-*[a-zA-Z0-9])*"
},
"ConcurrentModificationException":{
"type":"structure",
@@ -1125,6 +1133,16 @@
"EntityRecognizerArn":{"shape":"EntityRecognizerArn"}
}
},
+ "CustomerInputString":{
+ "type":"string",
+ "min":1,
+ "sensitive":true
+ },
+ "CustomerInputStringList":{
+ "type":"list",
+ "member":{"shape":"CustomerInputString"},
+ "sensitive":true
+ },
"DeleteDocumentClassifierRequest":{
"type":"structure",
"required":["DocumentClassifierArn"],
@@ -1282,31 +1300,31 @@
"type":"structure",
"required":["Text"],
"members":{
- "Text":{"shape":"String"}
+ "Text":{"shape":"CustomerInputString"}
}
},
"DetectDominantLanguageResponse":{
"type":"structure",
"members":{
"Languages":{"shape":"ListOfDominantLanguages"}
- }
+ },
+ "sensitive":true
},
"DetectEntitiesRequest":{
"type":"structure",
- "required":[
- "Text",
- "LanguageCode"
- ],
+ "required":["Text"],
"members":{
- "Text":{"shape":"String"},
- "LanguageCode":{"shape":"LanguageCode"}
+ "Text":{"shape":"CustomerInputString"},
+ "LanguageCode":{"shape":"LanguageCode"},
+ "EndpointArn":{"shape":"EntityRecognizerEndpointArn"}
}
},
"DetectEntitiesResponse":{
"type":"structure",
"members":{
"Entities":{"shape":"ListOfEntities"}
- }
+ },
+ "sensitive":true
},
"DetectKeyPhrasesRequest":{
"type":"structure",
@@ -1315,7 +1333,7 @@
"LanguageCode"
],
"members":{
- "Text":{"shape":"String"},
+ "Text":{"shape":"CustomerInputString"},
"LanguageCode":{"shape":"LanguageCode"}
}
},
@@ -1323,7 +1341,8 @@
"type":"structure",
"members":{
"KeyPhrases":{"shape":"ListOfKeyPhrases"}
- }
+ },
+ "sensitive":true
},
"DetectSentimentRequest":{
"type":"structure",
@@ -1332,7 +1351,7 @@
"LanguageCode"
],
"members":{
- "Text":{"shape":"String"},
+ "Text":{"shape":"CustomerInputString"},
"LanguageCode":{"shape":"LanguageCode"}
}
},
@@ -1341,7 +1360,8 @@
"members":{
"Sentiment":{"shape":"SentimentType"},
"SentimentScore":{"shape":"SentimentScore"}
- }
+ },
+ "sensitive":true
},
"DetectSyntaxRequest":{
"type":"structure",
@@ -1350,7 +1370,7 @@
"LanguageCode"
],
"members":{
- "Text":{"shape":"String"},
+ "Text":{"shape":"CustomerInputString"},
"LanguageCode":{"shape":"SyntaxLanguageCode"}
}
},
@@ -1358,7 +1378,8 @@
"type":"structure",
"members":{
"SyntaxTokens":{"shape":"ListOfSyntaxTokens"}
- }
+ },
+ "sensitive":true
},
"DocumentClass":{
"type":"structure",
@@ -1601,6 +1622,11 @@
"S3Uri":{"shape":"S3Uri"}
}
},
+ "EntityRecognizerEndpointArn":{
+ "type":"string",
+ "max":256,
+ "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:entity-recognizer-endpoint/[a-zA-Z0-9](-*[a-zA-Z0-9])*"
+ },
"EntityRecognizerEntityList":{
"type":"structure",
"required":["S3Uri"],
@@ -1644,7 +1670,8 @@
"NumberOfTestDocuments":{"shape":"Integer"},
"EvaluationMetrics":{"shape":"EntityRecognizerEvaluationMetrics"},
"EntityTypes":{"shape":"EntityRecognizerMetadataEntityTypesList"}
- }
+ },
+ "sensitive":true
},
"EntityRecognizerMetadataEntityTypesList":{
"type":"list",
@@ -2472,10 +2499,6 @@
"type":"string",
"min":1
},
- "StringList":{
- "type":"list",
- "member":{"shape":"String"}
- },
"SubnetId":{
"type":"string",
"max":32,
diff --git a/models/apis/comprehend/2017-11-27/docs-2.json b/models/apis/comprehend/2017-11-27/docs-2.json
index 0e8c6a739bf..2a762d43ccc 100644
--- a/models/apis/comprehend/2017-11-27/docs-2.json
+++ b/models/apis/comprehend/2017-11-27/docs-2.json
@@ -8,7 +8,7 @@
"BatchDetectSentiment": "Inspects a batch of documents and returns an inference of the prevailing sentiment, POSITIVE
, NEUTRAL
, MIXED
, or NEGATIVE
, in each one.
",
"BatchDetectSyntax": "Inspects the text of a batch of documents for the syntax and part of speech of the words in the document and returns information about them. For more information, see how-syntax.
",
"ClassifyDocument": "Creates a new document classification request to analyze a single document in real-time, using a previously created and trained custom model and an endpoint.
",
- "CreateDocumentClassifier": "Creates a new document classifier that you can use to categorize documents. To create a classifier you provide a set of training documents that labeled with the categories that you want to use. After the classifier is trained you can use it to categorize a set of labeled documents into the categories. For more information, see how-document-classification.
",
+ "CreateDocumentClassifier": "Creates a new document classifier that you can use to categorize documents. To create a classifier, you provide a set of training documents that labeled with the categories that you want to use. After the classifier is trained you can use it to categorize a set of labeled documents into the categories. For more information, see how-document-classification.
",
"CreateEndpoint": "Creates a model-specific endpoint for synchronous inference for a previously trained custom model
",
"CreateEntityRecognizer": "Creates an entity recognizer using submitted files. After your CreateEntityRecognizer
request is submitted, you can check job status using the API.
",
"DeleteDocumentClassifier": "Deletes a previously created document classifier
Only those classifiers that are in terminated states (IN_ERROR, TRAINED) will be deleted. If an active inference job is using the model, a ResourceInUseException
will be returned.
This is an asynchronous action that puts the classifier into a DELETING state, and it is then removed by a background job. Once removed, the classifier disappears from your account and is no longer available for use.
",
@@ -282,6 +282,28 @@
"refs": {
}
},
+ "CustomerInputString": {
+ "base": null,
+ "refs": {
+ "ClassifyDocumentRequest$Text": "The document text to be analyzed.
",
+ "CustomerInputStringList$member": null,
+ "DetectDominantLanguageRequest$Text": "A UTF-8 text string. Each string should contain at least 20 characters and must contain fewer that 5,000 bytes of UTF-8 encoded characters.
",
+ "DetectEntitiesRequest$Text": "A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.
",
+ "DetectKeyPhrasesRequest$Text": "A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.
",
+ "DetectSentimentRequest$Text": "A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.
",
+ "DetectSyntaxRequest$Text": "A UTF-8 string. Each string must contain fewer that 5,000 bytes of UTF encoded characters.
"
+ }
+ },
+ "CustomerInputStringList": {
+ "base": null,
+ "refs": {
+ "BatchDetectDominantLanguageRequest$TextList": "A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document should contain at least 20 characters and must contain fewer than 5,000 bytes of UTF-8 encoded characters.
",
+ "BatchDetectEntitiesRequest$TextList": "A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer than 5,000 bytes of UTF-8 encoded characters.
",
+ "BatchDetectKeyPhrasesRequest$TextList": "A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.
",
+ "BatchDetectSentimentRequest$TextList": "A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.
",
+ "BatchDetectSyntaxRequest$TextList": "A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.
"
+ }
+ },
"DeleteDocumentClassifierRequest": {
"base": null,
"refs": {
@@ -660,6 +682,12 @@
"EntityRecognizerInputDataConfig$Documents": "S3 location of the documents folder for an entity recognizer
"
}
},
+ "EntityRecognizerEndpointArn": {
+ "base": null,
+ "refs": {
+ "DetectEntitiesRequest$EndpointArn": "The Amazon Resource Name of an endpoint that is associated with a custom entity recognition model. Provide an endpoint if you want to detect entities by using your own custom model instead of the default model that is used by Amazon Comprehend.
If you specify an endpoint, Amazon Comprehend uses the language of your custom model, and it ignores any language code that you provide in your request.
"
+ }
+ },
"EntityRecognizerEntityList": {
"base": "Describes the entity recognizer submitted with an entity recognizer.
",
"refs": {
@@ -825,7 +853,7 @@
"BatchItemError$Index": "The zero-based index of the document in the input list.
",
"ClassifierMetadata$NumberOfLabels": "The number of labels in the input data.
",
"ClassifierMetadata$NumberOfTrainedDocuments": "The number of documents in the input data that were used to train the classifier. Typically this is 80 to 90 percent of the input documents.
",
- "ClassifierMetadata$NumberOfTestDocuments": "The number of documents in the input data that were used to test the classifier. Typically this is 10 to 20 percent of the input documents.
",
+ "ClassifierMetadata$NumberOfTestDocuments": "The number of documents in the input data that were used to test the classifier. Typically this is 10 to 20 percent of the input documents, up to 10,000 documents.
",
"Entity$BeginOffset": "A character offset in the input text that shows where the entity begins (the first character is at position 0). The offset returns the position of each UTF-8 code point in the string. A code point is the abstract character from a particular graphical representation. For example, a multi-byte UTF-8 character maps to a single code point.
",
"Entity$EndOffset": "A character offset in the input text that shows where the entity ends. The offset returns the position of each UTF-8 code point in the string. A code point is the abstract character from a particular graphical representation. For example, a multi-byte UTF-8 character maps to a single code point.
",
"EntityRecognizerMetadata$NumberOfTrainedDocuments": " The number of documents in the input data that were used to train the entity recognizer. Typically this is 80 to 90 percent of the input documents.
",
@@ -1007,7 +1035,7 @@
"BatchDetectSentimentRequest$LanguageCode": "The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.
",
"CreateDocumentClassifierRequest$LanguageCode": "The language of the input documents. You can specify any of the following languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.
",
"CreateEntityRecognizerRequest$LanguageCode": " The language of the input documents. All documents must be in the same language. Only English (\"en\") is currently supported.
",
- "DetectEntitiesRequest$LanguageCode": "The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.
",
+ "DetectEntitiesRequest$LanguageCode": "The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.
If your request includes the endpoint for a custom entity recognition model, Amazon Comprehend uses the language of your custom model, and it ignores any language code that you specify here.
",
"DetectKeyPhrasesRequest$LanguageCode": "The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.
",
"DetectSentimentRequest$LanguageCode": "The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.
",
"DocumentClassifierProperties$LanguageCode": "The language code for the language of the documents that the classifier was trained on.
",
@@ -1137,7 +1165,7 @@
"base": null,
"refs": {
"BatchDetectEntitiesItemResult$Entities": "One or more Entity objects, one for each entity detected in the document.
",
- "DetectEntitiesResponse$Entities": "A collection of entities identified in the input text. For each entity, the response provides the entity text, entity type, where the entity text begins and ends, and the level of confidence that Amazon Comprehend has in the detection. For a list of entity types, see how-entities.
"
+ "DetectEntitiesResponse$Entities": "A collection of entities identified in the input text. For each entity, the response provides the entity text, entity type, where the entity text begins and ends, and the level of confidence that Amazon Comprehend has in the detection.
If your request uses a custom entity recognition model, Amazon Comprehend detects the entities that the model is trained to recognize. Otherwise, it detects the default entity types. For a list of default entity types, see how-entities.
"
}
},
"ListOfKeyPhrases": {
@@ -1249,12 +1277,12 @@
}
},
"ResourceInUseException": {
- "base": "The specified name is already in use. Use a different name and try your request again.
",
+ "base": "The specified resource name is already in use. Use a different name and try your request again.
",
"refs": {
}
},
"ResourceLimitExceededException": {
- "base": "The maximum number of recognizers per account has been exceeded. Review the recognizers, perform cleanup, and then try your request again.
",
+ "base": "The maximum number of resources per account has been exceeded. Review the resources, and then try your request again.
",
"refs": {
}
},
@@ -1264,7 +1292,7 @@
}
},
"ResourceUnavailableException": {
- "base": "The specified resource is not available. Check to see if the resource is in the TRAINED
state and try your request again.
",
+ "base": "The specified resource is not available. Check the resource and try your request again.
",
"refs": {
}
},
@@ -1451,13 +1479,7 @@
"BatchItemError$ErrorCode": "The numeric error code of the error.
",
"BatchItemError$ErrorMessage": "A text description of the error.
",
"BatchSizeLimitExceededException$Message": null,
- "ClassifyDocumentRequest$Text": "The document text to be analyzed.
",
"ConcurrentModificationException$Message": null,
- "DetectDominantLanguageRequest$Text": "A UTF-8 text string. Each string should contain at least 20 characters and must contain fewer that 5,000 bytes of UTF-8 encoded characters.
",
- "DetectEntitiesRequest$Text": "A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.
",
- "DetectKeyPhrasesRequest$Text": "A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.
",
- "DetectSentimentRequest$Text": "A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.
",
- "DetectSyntaxRequest$Text": "A UTF-8 string. Each string must contain fewer that 5,000 bytes of UTF encoded characters.
",
"DocumentClass$Name": "The name of the class.
",
"DocumentLabel$Name": "The name of the label.
",
"DominantLanguage$LanguageCode": "The RFC 5646 language code for the dominant language. For more information about RFC 5646, see Tags for Identifying Languages on the IETF Tools web site.
",
@@ -1490,7 +1512,6 @@
"ResourceLimitExceededException$Message": null,
"ResourceNotFoundException$Message": null,
"ResourceUnavailableException$Message": null,
- "StringList$member": null,
"SyntaxToken$Text": "The word that was recognized in the source text.
",
"TextSizeLimitExceededException$Message": null,
"TooManyRequestsException$Message": null,
@@ -1499,16 +1520,6 @@
"UnsupportedLanguageException$Message": null
}
},
- "StringList": {
- "base": null,
- "refs": {
- "BatchDetectDominantLanguageRequest$TextList": "A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document should contain at least 20 characters and must contain fewer than 5,000 bytes of UTF-8 encoded characters.
",
- "BatchDetectEntitiesRequest$TextList": "A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer than 5,000 bytes of UTF-8 encoded characters.
",
- "BatchDetectKeyPhrasesRequest$TextList": "A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.
",
- "BatchDetectSentimentRequest$TextList": "A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.
",
- "BatchDetectSyntaxRequest$TextList": "A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.
"
- }
- },
"SubnetId": {
"base": null,
"refs": {
@@ -1587,8 +1598,8 @@
"Timestamp": {
"base": null,
"refs": {
- "DocumentClassificationJobFilter$SubmitTimeBefore": "Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in ascending order, oldest to newest.
",
- "DocumentClassificationJobFilter$SubmitTimeAfter": "Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted before the specified time. Jobs are returned in descending order, newest to oldest.
",
+ "DocumentClassificationJobFilter$SubmitTimeBefore": "Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted before the specified time. Jobs are returned in ascending order, oldest to newest.
",
+ "DocumentClassificationJobFilter$SubmitTimeAfter": "Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.
",
"DocumentClassificationJobProperties$SubmitTime": "The time that the document classification job was submitted for processing.
",
"DocumentClassificationJobProperties$EndTime": "The time that the document classification job completed.
",
"DocumentClassifierFilter$SubmitTimeBefore": "Filters the list of classifiers based on the time that the classifier was submitted for processing. Returns only classifiers submitted before the specified time. Classifiers are returned in ascending order, oldest to newest.
",
diff --git a/models/apis/ebs/2019-11-02/api-2.json b/models/apis/ebs/2019-11-02/api-2.json
index f6f1018ea03..55ed6e133fe 100644
--- a/models/apis/ebs/2019-11-02/api-2.json
+++ b/models/apis/ebs/2019-11-02/api-2.json
@@ -12,6 +12,24 @@
"uid":"ebs-2019-11-02"
},
"operations":{
+ "CompleteSnapshot":{
+ "name":"CompleteSnapshot",
+ "http":{
+ "method":"POST",
+ "requestUri":"/snapshots/completion/{snapshotId}",
+ "responseCode":202
+ },
+ "input":{"shape":"CompleteSnapshotRequest"},
+ "output":{"shape":"CompleteSnapshotResponse"},
+ "errors":[
+ {"shape":"AccessDeniedException"},
+ {"shape":"ValidationException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"RequestThrottledException"},
+ {"shape":"ServiceQuotaExceededException"},
+ {"shape":"InternalServerException"}
+ ]
+ },
"GetSnapshotBlock":{
"name":"GetSnapshotBlock",
"http":{
@@ -21,8 +39,12 @@
"input":{"shape":"GetSnapshotBlockRequest"},
"output":{"shape":"GetSnapshotBlockResponse"},
"errors":[
+ {"shape":"AccessDeniedException"},
{"shape":"ValidationException"},
- {"shape":"ResourceNotFoundException"}
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"RequestThrottledException"},
+ {"shape":"ServiceQuotaExceededException"},
+ {"shape":"InternalServerException"}
]
},
"ListChangedBlocks":{
@@ -34,8 +56,12 @@
"input":{"shape":"ListChangedBlocksRequest"},
"output":{"shape":"ListChangedBlocksResponse"},
"errors":[
+ {"shape":"AccessDeniedException"},
{"shape":"ValidationException"},
- {"shape":"ResourceNotFoundException"}
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"RequestThrottledException"},
+ {"shape":"ServiceQuotaExceededException"},
+ {"shape":"InternalServerException"}
]
},
"ListSnapshotBlocks":{
@@ -47,12 +73,72 @@
"input":{"shape":"ListSnapshotBlocksRequest"},
"output":{"shape":"ListSnapshotBlocksResponse"},
"errors":[
+ {"shape":"AccessDeniedException"},
+ {"shape":"ValidationException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"RequestThrottledException"},
+ {"shape":"ServiceQuotaExceededException"},
+ {"shape":"InternalServerException"}
+ ]
+ },
+ "PutSnapshotBlock":{
+ "name":"PutSnapshotBlock",
+ "http":{
+ "method":"PUT",
+ "requestUri":"/snapshots/{snapshotId}/blocks/{blockIndex}",
+ "responseCode":201
+ },
+ "input":{"shape":"PutSnapshotBlockRequest"},
+ "output":{"shape":"PutSnapshotBlockResponse"},
+ "errors":[
+ {"shape":"AccessDeniedException"},
+ {"shape":"ValidationException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"RequestThrottledException"},
+ {"shape":"ServiceQuotaExceededException"},
+ {"shape":"InternalServerException"}
+ ],
+ "authtype":"v4-unsigned-body"
+ },
+ "StartSnapshot":{
+ "name":"StartSnapshot",
+ "http":{
+ "method":"POST",
+ "requestUri":"/snapshots",
+ "responseCode":201
+ },
+ "input":{"shape":"StartSnapshotRequest"},
+ "output":{"shape":"StartSnapshotResponse"},
+ "errors":[
+ {"shape":"AccessDeniedException"},
{"shape":"ValidationException"},
- {"shape":"ResourceNotFoundException"}
+ {"shape":"RequestThrottledException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ServiceQuotaExceededException"},
+ {"shape":"InternalServerException"},
+ {"shape":"ConcurrentLimitExceededException"},
+ {"shape":"ConflictException"}
]
}
},
"shapes":{
+ "AccessDeniedException":{
+ "type":"structure",
+ "required":["Reason"],
+ "members":{
+ "Message":{"shape":"ErrorMessage"},
+ "Reason":{"shape":"AccessDeniedExceptionReason"}
+ },
+ "error":{"httpStatusCode":403},
+ "exception":true
+ },
+ "AccessDeniedExceptionReason":{
+ "type":"string",
+ "enum":[
+ "UNAUTHORIZED_ACCOUNT",
+ "DEPENDENCY_ACCESS_DENIED"
+ ]
+ },
"Block":{
"type":"structure",
"members":{
@@ -65,7 +151,10 @@
"sensitive":true,
"streaming":true
},
- "BlockIndex":{"type":"integer"},
+ "BlockIndex":{
+ "type":"integer",
+ "min":0
+ },
"BlockSize":{"type":"integer"},
"BlockToken":{
"type":"string",
@@ -77,6 +166,7 @@
"member":{"shape":"Block"},
"sensitive":true
},
+ "Boolean":{"type":"boolean"},
"ChangedBlock":{
"type":"structure",
"members":{
@@ -90,16 +180,89 @@
"type":"list",
"member":{"shape":"ChangedBlock"}
},
+ "ChangedBlocksCount":{
+ "type":"integer",
+ "min":0
+ },
"Checksum":{
"type":"string",
- "max":64
+ "max":64,
+ "pattern":"^[A-Za-z0-9+/=]+$"
+ },
+ "ChecksumAggregationMethod":{
+ "type":"string",
+ "enum":["LINEAR"],
+ "max":32,
+ "pattern":"^[A-Za-z0-9]+$"
},
"ChecksumAlgorithm":{
"type":"string",
"enum":["SHA256"],
- "max":32
+ "max":32,
+ "pattern":"^[A-Za-z0-9]+$"
+ },
+ "CompleteSnapshotRequest":{
+ "type":"structure",
+ "required":[
+ "SnapshotId",
+ "ChangedBlocksCount"
+ ],
+ "members":{
+ "SnapshotId":{
+ "shape":"SnapshotId",
+ "location":"uri",
+ "locationName":"snapshotId"
+ },
+ "ChangedBlocksCount":{
+ "shape":"ChangedBlocksCount",
+ "location":"header",
+ "locationName":"x-amz-ChangedBlocksCount"
+ },
+ "Checksum":{
+ "shape":"Checksum",
+ "location":"header",
+ "locationName":"x-amz-Checksum"
+ },
+ "ChecksumAlgorithm":{
+ "shape":"ChecksumAlgorithm",
+ "location":"header",
+ "locationName":"x-amz-Checksum-Algorithm"
+ },
+ "ChecksumAggregationMethod":{
+ "shape":"ChecksumAggregationMethod",
+ "location":"header",
+ "locationName":"x-amz-Checksum-Aggregation-Method"
+ }
+ }
+ },
+ "CompleteSnapshotResponse":{
+ "type":"structure",
+ "members":{
+ "Status":{"shape":"Status"}
+ }
+ },
+ "ConcurrentLimitExceededException":{
+ "type":"structure",
+ "members":{
+ "Message":{"shape":"ErrorMessage"}
+ },
+ "error":{"httpStatusCode":400},
+ "exception":true
+ },
+ "ConflictException":{
+ "type":"structure",
+ "members":{
+ "Message":{"shape":"ErrorMessage"}
+ },
+ "error":{"httpStatusCode":503},
+ "exception":true
},
"DataLength":{"type":"integer"},
+ "Description":{
+ "type":"string",
+ "max":255,
+ "pattern":"^[\\S\\s]+$"
+ },
"ErrorMessage":{
"type":"string",
"max":256
@@ -151,6 +314,27 @@
},
"payload":"BlockData"
},
+ "IdempotencyToken":{
+ "type":"string",
+ "max":255,
+ "pattern":"^[\\S]+$"
+ },
+ "InternalServerException":{
+ "type":"structure",
+ "members":{
+ "Message":{"shape":"ErrorMessage"}
+ },
+ "error":{"httpStatusCode":500},
+ "exception":true,
+ "fault":true
+ },
+ "KmsKeyArn":{
+ "type":"string",
+ "max":2048,
+ "min":1,
+ "pattern":"arn:aws[a-z\\-]*:kms:.*:[0-9]{12}:key/.*",
+ "sensitive":true
+ },
"ListChangedBlocksRequest":{
"type":"structure",
"required":["SecondSnapshotId"],
@@ -233,26 +417,201 @@
"max":10000,
"min":100
},
+ "OwnerId":{
+ "type":"string",
+ "max":24,
+ "min":1,
+ "pattern":"\\S+"
+ },
"PageToken":{
"type":"string",
"max":256,
"pattern":"^[A-Za-z0-9+/=]+$"
},
+ "Progress":{
+ "type":"integer",
+ "max":100,
+ "min":0
+ },
+ "PutSnapshotBlockRequest":{
+ "type":"structure",
+ "required":[
+ "SnapshotId",
+ "BlockIndex",
+ "BlockData",
+ "DataLength",
+ "Checksum",
+ "ChecksumAlgorithm"
+ ],
+ "members":{
+ "SnapshotId":{
+ "shape":"SnapshotId",
+ "location":"uri",
+ "locationName":"snapshotId"
+ },
+ "BlockIndex":{
+ "shape":"BlockIndex",
+ "location":"uri",
+ "locationName":"blockIndex"
+ },
+ "BlockData":{"shape":"BlockData"},
+ "DataLength":{
+ "shape":"DataLength",
+ "location":"header",
+ "locationName":"x-amz-Data-Length"
+ },
+ "Progress":{
+ "shape":"Progress",
+ "location":"header",
+ "locationName":"x-amz-Progress"
+ },
+ "Checksum":{
+ "shape":"Checksum",
+ "location":"header",
+ "locationName":"x-amz-Checksum"
+ },
+ "ChecksumAlgorithm":{
+ "shape":"ChecksumAlgorithm",
+ "location":"header",
+ "locationName":"x-amz-Checksum-Algorithm"
+ }
+ },
+ "payload":"BlockData"
+ },
+ "PutSnapshotBlockResponse":{
+ "type":"structure",
+ "members":{
+ "Checksum":{
+ "shape":"Checksum",
+ "location":"header",
+ "locationName":"x-amz-Checksum"
+ },
+ "ChecksumAlgorithm":{
+ "shape":"ChecksumAlgorithm",
+ "location":"header",
+ "locationName":"x-amz-Checksum-Algorithm"
+ }
+ }
+ },
+ "RequestThrottledException":{
+ "type":"structure",
+ "members":{
+ "Message":{"shape":"ErrorMessage"},
+ "Reason":{"shape":"RequestThrottledExceptionReason"}
+ },
+ "error":{"httpStatusCode":400},
+ "exception":true
+ },
+ "RequestThrottledExceptionReason":{
+ "type":"string",
+ "enum":[
+ "ACCOUNT_THROTTLED",
+ "DEPENDENCY_REQUEST_THROTTLED"
+ ]
+ },
"ResourceNotFoundException":{
"type":"structure",
"members":{
- "Message":{"shape":"ErrorMessage"}
+ "Message":{"shape":"ErrorMessage"},
+ "Reason":{"shape":"ResourceNotFoundExceptionReason"}
},
"error":{"httpStatusCode":404},
"exception":true
},
+ "ResourceNotFoundExceptionReason":{
+ "type":"string",
+ "enum":[
+ "SNAPSHOT_NOT_FOUND",
+ "DEPENDENCY_RESOURCE_NOT_FOUND"
+ ]
+ },
+ "ServiceQuotaExceededException":{
+ "type":"structure",
+ "members":{
+ "Message":{"shape":"ErrorMessage"},
+ "Reason":{"shape":"ServiceQuotaExceededExceptionReason"}
+ },
+ "error":{"httpStatusCode":402},
+ "exception":true
+ },
+ "ServiceQuotaExceededExceptionReason":{
+ "type":"string",
+ "enum":["DEPENDENCY_SERVICE_QUOTA_EXCEEDED"]
+ },
"SnapshotId":{
"type":"string",
"max":64,
"min":1,
"pattern":"^snap-[0-9a-f]+$"
},
+ "StartSnapshotRequest":{
+ "type":"structure",
+ "required":["VolumeSize"],
+ "members":{
+ "VolumeSize":{"shape":"VolumeSize"},
+ "ParentSnapshotId":{"shape":"SnapshotId"},
+ "Tags":{"shape":"Tags"},
+ "Description":{"shape":"Description"},
+ "ClientToken":{
+ "shape":"IdempotencyToken",
+ "idempotencyToken":true
+ },
+ "Encrypted":{"shape":"Boolean"},
+ "KmsKeyArn":{"shape":"KmsKeyArn"},
+ "Timeout":{"shape":"Timeout"}
+ }
+ },
+ "StartSnapshotResponse":{
+ "type":"structure",
+ "members":{
+ "Description":{"shape":"Description"},
+ "SnapshotId":{"shape":"SnapshotId"},
+ "OwnerId":{"shape":"OwnerId"},
+ "Status":{"shape":"Status"},
+ "StartTime":{"shape":"TimeStamp"},
+ "VolumeSize":{"shape":"VolumeSize"},
+ "BlockSize":{"shape":"BlockSize"},
+ "Tags":{"shape":"Tags"},
+ "ParentSnapshotId":{"shape":"SnapshotId"},
+ "KmsKeyArn":{"shape":"KmsKeyArn"}
+ }
+ },
+ "Status":{
+ "type":"string",
+ "enum":[
+ "completed",
+ "pending",
+ "error"
+ ],
+ "max":32
+ },
+ "Tag":{
+ "type":"structure",
+ "members":{
+ "Key":{"shape":"TagKey"},
+ "Value":{"shape":"TagValue"}
+ }
+ },
+ "TagKey":{
+ "type":"string",
+ "max":127,
+ "pattern":"^[\\S\\s]+$"
+ },
+ "TagValue":{
+ "type":"string",
+ "max":255,
+ "pattern":"^[\\S\\s]+$"
+ },
+ "Tags":{
+ "type":"list",
+ "member":{"shape":"Tag"}
+ },
"TimeStamp":{"type":"timestamp"},
+ "Timeout":{
+ "type":"integer",
+ "max":60,
+ "min":10
+ },
"ValidationException":{
"type":"structure",
"members":{
@@ -269,9 +628,18 @@
"INVALID_PAGE_TOKEN",
"INVALID_BLOCK_TOKEN",
"INVALID_SNAPSHOT_ID",
- "UNRELATED_SNAPSHOTS"
+ "UNRELATED_SNAPSHOTS",
+ "INVALID_BLOCK",
+ "INVALID_CONTENT_ENCODING",
+ "INVALID_TAG",
+ "INVALID_DEPENDENCY_REQUEST",
+ "INVALID_PARAMETER_VALUE",
+ "INVALID_VOLUME_SIZE"
]
},
- "VolumeSize":{"type":"long"}
+ "VolumeSize":{
+ "type":"long",
+ "min":1
+ }
}
}
diff --git a/models/apis/ebs/2019-11-02/docs-2.json b/models/apis/ebs/2019-11-02/docs-2.json
index 5983c3d8153..10e5bbc3fa5 100644
--- a/models/apis/ebs/2019-11-02/docs-2.json
+++ b/models/apis/ebs/2019-11-02/docs-2.json
@@ -1,12 +1,26 @@
{
"version": "2.0",
- "service": "You can use the Amazon Elastic Block Store (EBS) direct APIs to directly read the data on your EBS snapshots, and identify the difference between two snapshots. You can view the details of blocks in an EBS snapshot, compare the block difference between two snapshots, and directly access the data in a snapshot. If you’re an independent software vendor (ISV) who offers backup services for EBS, the EBS direct APIs make it easier and more cost-effective to track incremental changes on your EBS volumes via EBS snapshots. This can be done without having to create new volumes from EBS snapshots.
This API reference provides detailed information about the actions, data types, parameters, and errors of the EBS direct APIs. For more information about the elements that make up the EBS direct APIs, and examples of how to use them effectively, see Accessing the Contents of an EBS Snapshot in the Amazon Elastic Compute Cloud User Guide. For more information about the supported AWS Regions, endpoints, and service quotas for the EBS direct APIs, see Amazon Elastic Block Store Endpoints and Quotas in the AWS General Reference.
",
+ "service": "You can use the Amazon Elastic Block Store (EBS) direct APIs to directly read the data on your EBS snapshots, and identify the difference between two snapshots. You can view the details of blocks in an EBS snapshot, compare the block difference between two snapshots, and directly access the data in a snapshot. If you're an independent software vendor (ISV) who offers backup services for EBS, the EBS direct APIs make it easier and more cost-effective to track incremental changes on your EBS volumes via EBS snapshots. This can be done without having to create new volumes from EBS snapshots.
This API reference provides detailed information about the actions, data types, parameters, and errors of the EBS direct APIs. For more information about the elements that make up the EBS direct APIs, and examples of how to use them effectively, see Accessing the Contents of an EBS Snapshot in the Amazon Elastic Compute Cloud User Guide. For more information about the supported AWS Regions, endpoints, and service quotas for the EBS direct APIs, see Amazon Elastic Block Store Endpoints and Quotas in the AWS General Reference.
",
"operations": {
+ "CompleteSnapshot": "Seals and completes the snapshot after all of the required blocks of data have been written to it. Completing the snapshot changes the status to completed
. You cannot write new blocks to a snapshot after it has been completed.
",
"GetSnapshotBlock": "Returns the data in a block in an Amazon Elastic Block Store snapshot.
",
"ListChangedBlocks": "Returns the block indexes and block tokens for blocks that are different between two Amazon Elastic Block Store snapshots of the same volume/snapshot lineage.
",
- "ListSnapshotBlocks": "Returns the block indexes and block tokens for blocks in an Amazon Elastic Block Store snapshot.
"
+ "ListSnapshotBlocks": "Returns the block indexes and block tokens for blocks in an Amazon Elastic Block Store snapshot.
",
+ "PutSnapshotBlock": "Writes a block of data to a block in the snapshot. If the specified block contains data, the existing data is overwritten. The target snapshot must be in the pending
state.
Data written to a snapshot must be aligned with 512-byte sectors.
",
+ "StartSnapshot": "Creates a new Amazon EBS snapshot. The new snapshot enters the pending
state after the request completes.
After creating the snapshot, use PutSnapshotBlock to write blocks of data to the snapshot.
"
},
"shapes": {
+ "AccessDeniedException": {
+ "base": "You do not have sufficient access to perform this action.
",
+ "refs": {
+ }
+ },
+ "AccessDeniedExceptionReason": {
+ "base": null,
+ "refs": {
+ "AccessDeniedException$Reason": "The reason for the exception.
"
+ }
+ },
"Block": {
"base": "A block of data in an Amazon Elastic Block Store snapshot.
",
"refs": {
@@ -16,7 +30,8 @@
"BlockData": {
"base": null,
"refs": {
- "GetSnapshotBlockResponse$BlockData": "The data content of the block.
"
+ "GetSnapshotBlockResponse$BlockData": "The data content of the block.
",
+ "PutSnapshotBlockRequest$BlockData": "The data to write to the block.
The block data is not signed as part of the Signature Version 4 signing process. As a result, you must generate and provide a Base64-encoded SHA256 checksum for the block data using the x-amz-Checksum header. Also, you must specify the checksum algorithm using the x-amz-Checksum-Algorithm header. The checksum that you provide is part of the Signature Version 4 signing process. It is validated against a checksum generated by Amazon EBS to ensure the validity and authenticity of the data. If the checksums do not correspond, the request fails. For more information, see Using checksums with the EBS direct APIs in the Amazon Elastic Compute Cloud User Guide.
"
}
},
"BlockIndex": {
@@ -26,14 +41,16 @@
"ChangedBlock$BlockIndex": "The block index.
",
"GetSnapshotBlockRequest$BlockIndex": "The block index of the block from which to get data.
Obtain the BlockIndex
by running the ListChangedBlocks
or ListSnapshotBlocks
operations.
",
"ListChangedBlocksRequest$StartingBlockIndex": "The block index from which the comparison should start.
The list in the response will start from this block index or the next valid block index in the snapshots.
",
- "ListSnapshotBlocksRequest$StartingBlockIndex": "The block index from which the list should start. The list in the response will start from this block index or the next valid block index in the snapshot.
"
+ "ListSnapshotBlocksRequest$StartingBlockIndex": "The block index from which the list should start. The list in the response will start from this block index or the next valid block index in the snapshot.
",
+ "PutSnapshotBlockRequest$BlockIndex": "The block index of the block in which to write the data. A block index is the offset position of a block within a snapshot, and it is used to identify the block. To identify the logical offset of the data in the logical volume, multiply the block index with the block size (Block index * 512 bytes).
"
}
},
"BlockSize": {
"base": null,
"refs": {
"ListChangedBlocksResponse$BlockSize": "The size of the block.
",
- "ListSnapshotBlocksResponse$BlockSize": "The size of the block.
"
+ "ListSnapshotBlocksResponse$BlockSize": "The size of the block.
",
+ "StartSnapshotResponse$BlockSize": "The size of the blocks in the snapshot, in bytes.
"
}
},
"BlockToken": {
@@ -51,6 +68,12 @@
"ListSnapshotBlocksResponse$Blocks": "An array of objects containing information about the blocks.
"
}
},
+ "Boolean": {
+ "base": null,
+ "refs": {
+ "StartSnapshotRequest$Encrypted": "Indicates whether to encrypt the snapshot. To create an encrypted snapshot, specify true
. To create an unencrypted snapshot, omit this parameter.
If you specify a value for ParentSnapshotId, omit this parameter.
If you specify true
, the snapshot is encrypted using the CMK specified using the KmsKeyArn parameter. If no value is specified for KmsKeyArn, the default CMK for your account is used. If no default CMK has been specified for your account, the AWS managed CMK is used. To set a default CMK for your account, use ModifyEbsDefaultKmsKeyId.
If your account is enabled for encryption by default, you cannot set this parameter to false
. In this case, you can omit this parameter.
For more information, see Using encryption in the Amazon Elastic Compute Cloud User Guide.
"
+ }
+ },
"ChangedBlock": {
"base": "A block of data in an Amazon Elastic Block Store snapshot that is different from another snapshot of the same volume/snapshot lineage.
",
"refs": {
@@ -63,28 +86,80 @@
"ListChangedBlocksResponse$ChangedBlocks": "An array of objects containing information about the changed blocks.
"
}
},
+ "ChangedBlocksCount": {
+ "base": null,
+ "refs": {
+ "CompleteSnapshotRequest$ChangedBlocksCount": "The number of blocks that were written to the snapshot.
"
+ }
+ },
"Checksum": {
"base": null,
"refs": {
- "GetSnapshotBlockResponse$Checksum": "The checksum generated for the block, which is Base64 encoded.
"
+ "CompleteSnapshotRequest$Checksum": "An aggregated Base-64 SHA256 checksum based on the checksums of each written block.
To generate the aggregated checksum using the linear aggregation method, arrange the checksums for each written block in ascending order of their block index, concatenate them to form a single string, and then generate the checksum on the entire string using the SHA256 algorithm.
",
+ "GetSnapshotBlockResponse$Checksum": "The checksum generated for the block, which is Base64 encoded.
",
+ "PutSnapshotBlockRequest$Checksum": "A Base64-encoded SHA256 checksum of the data. Only SHA256 checksums are supported.
",
+ "PutSnapshotBlockResponse$Checksum": "The SHA256 checksum generated for the block data by Amazon EBS.
"
+ }
+ },
+ "ChecksumAggregationMethod": {
+ "base": null,
+ "refs": {
+ "CompleteSnapshotRequest$ChecksumAggregationMethod": "The aggregation method used to generate the checksum. Currently, the only supported aggregation method is LINEAR
.
"
}
},
"ChecksumAlgorithm": {
"base": null,
"refs": {
- "GetSnapshotBlockResponse$ChecksumAlgorithm": "The algorithm used to generate the checksum for the block, such as SHA256.
"
+ "CompleteSnapshotRequest$ChecksumAlgorithm": "The algorithm used to generate the checksum. Currently, the only supported algorithm is SHA256
.
",
+ "GetSnapshotBlockResponse$ChecksumAlgorithm": "The algorithm used to generate the checksum for the block, such as SHA256.
",
+ "PutSnapshotBlockRequest$ChecksumAlgorithm": "The algorithm used to generate the checksum. Currently, the only supported algorithm is SHA256
.
",
+ "PutSnapshotBlockResponse$ChecksumAlgorithm": "The algorithm used by Amazon EBS to generate the checksum.
"
+ }
+ },
+ "CompleteSnapshotRequest": {
+ "base": null,
+ "refs": {
+ }
+ },
+ "CompleteSnapshotResponse": {
+ "base": null,
+ "refs": {
+ }
+ },
+ "ConcurrentLimitExceededException": {
+ "base": "You have reached the limit for concurrent API requests. For more information, see Optimizing performance of the EBS direct APIs in the Amazon Elastic Compute Cloud User Guide.
",
+ "refs": {
+ }
+ },
+ "ConflictException": {
+ "base": "The request uses the same client token as a previous, but non-identical request.
",
+ "refs": {
}
},
"DataLength": {
"base": null,
"refs": {
- "GetSnapshotBlockResponse$DataLength": "The size of the data in the block.
"
+ "GetSnapshotBlockResponse$DataLength": "The size of the data in the block.
",
+ "PutSnapshotBlockRequest$DataLength": "The size of the data to write to the block, in bytes. Currently, the only supported size is 524288
.
Valid values: 524288
"
+ }
+ },
+ "Description": {
+ "base": null,
+ "refs": {
+ "StartSnapshotRequest$Description": "A description for the snapshot.
",
+ "StartSnapshotResponse$Description": "The description of the snapshot.
"
}
},
"ErrorMessage": {
"base": null,
"refs": {
+ "AccessDeniedException$Message": null,
+ "ConcurrentLimitExceededException$Message": null,
+ "ConflictException$Message": null,
+ "InternalServerException$Message": null,
+ "RequestThrottledException$Message": null,
"ResourceNotFoundException$Message": null,
+ "ServiceQuotaExceededException$Message": null,
"ValidationException$Message": null
}
},
@@ -98,6 +173,24 @@
"refs": {
}
},
+ "IdempotencyToken": {
+ "base": null,
+ "refs": {
+ "StartSnapshotRequest$ClientToken": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully. The subsequent retries with the same client token return the result from the original successful request and they have no additional effect.
If you do not specify a client token, one is automatically generated by the AWS SDK.
For more information, see Idempotency for StartSnapshot API in the Amazon Elastic Compute Cloud User Guide.
"
+ }
+ },
+ "InternalServerException": {
+ "base": "An internal error has occurred.
",
+ "refs": {
+ }
+ },
+ "KmsKeyArn": {
+ "base": null,
+ "refs": {
+ "StartSnapshotRequest$KmsKeyArn": "The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) to be used to encrypt the snapshot. If you do not specify a CMK, the default AWS managed CMK is used.
If you specify a ParentSnapshotId, omit this parameter; the snapshot will be encrypted using the same CMK that was used to encrypt the parent snapshot.
If Encrypted is set to true
, you must specify a CMK ARN.
",
+ "StartSnapshotResponse$KmsKeyArn": "The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) used to encrypt the snapshot.
"
+ }
+ },
"ListChangedBlocksRequest": {
"base": null,
"refs": {
@@ -125,6 +218,12 @@
"ListSnapshotBlocksRequest$MaxResults": "The number of results to return.
"
}
},
+ "OwnerId": {
+ "base": null,
+ "refs": {
+ "StartSnapshotResponse$OwnerId": "The AWS account ID of the snapshot owner.
"
+ }
+ },
"PageToken": {
"base": null,
"refs": {
@@ -134,25 +233,123 @@
"ListSnapshotBlocksResponse$NextToken": "The token to use to retrieve the next page of results. This value is null when there are no more results to return.
"
}
},
+ "Progress": {
+ "base": null,
+ "refs": {
+ "PutSnapshotBlockRequest$Progress": "The progress of the write process, as a percentage.
"
+ }
+ },
+ "PutSnapshotBlockRequest": {
+ "base": null,
+ "refs": {
+ }
+ },
+ "PutSnapshotBlockResponse": {
+ "base": null,
+ "refs": {
+ }
+ },
+ "RequestThrottledException": {
+ "base": "The number of API requests has exceed the maximum allowed API request throttling limit.
",
+ "refs": {
+ }
+ },
+ "RequestThrottledExceptionReason": {
+ "base": null,
+ "refs": {
+ "RequestThrottledException$Reason": "The reason for the exception.
"
+ }
+ },
"ResourceNotFoundException": {
"base": "The specified resource does not exist.
",
"refs": {
}
},
+ "ResourceNotFoundExceptionReason": {
+ "base": null,
+ "refs": {
+ "ResourceNotFoundException$Reason": "The reason for the exception.
"
+ }
+ },
+ "ServiceQuotaExceededException": {
+ "base": "Your current service quotas do not allow you to perform this action.
",
+ "refs": {
+ }
+ },
+ "ServiceQuotaExceededExceptionReason": {
+ "base": null,
+ "refs": {
+ "ServiceQuotaExceededException$Reason": "The reason for the exception.
"
+ }
+ },
"SnapshotId": {
"base": null,
"refs": {
+ "CompleteSnapshotRequest$SnapshotId": "The ID of the snapshot.
",
"GetSnapshotBlockRequest$SnapshotId": "The ID of the snapshot containing the block from which to get data.
",
"ListChangedBlocksRequest$FirstSnapshotId": "The ID of the first snapshot to use for the comparison.
The FirstSnapshotID
parameter must be specified with a SecondSnapshotId
parameter; otherwise, an error occurs.
",
"ListChangedBlocksRequest$SecondSnapshotId": "The ID of the second snapshot to use for the comparison.
The SecondSnapshotId
parameter must be specified with a FirstSnapshotID
parameter; otherwise, an error occurs.
",
- "ListSnapshotBlocksRequest$SnapshotId": "The ID of the snapshot from which to get block indexes and block tokens.
"
+ "ListSnapshotBlocksRequest$SnapshotId": "The ID of the snapshot from which to get block indexes and block tokens.
",
+ "PutSnapshotBlockRequest$SnapshotId": "The ID of the snapshot.
",
+ "StartSnapshotRequest$ParentSnapshotId": "The ID of the parent snapshot. If there is no parent snapshot, or if you are creating the first snapshot for an on-premises volume, omit this parameter.
If your account is enabled for encryption by default, you cannot use an unencrypted snapshot as a parent snapshot. You must first create an encrypted copy of the parent snapshot using CopySnapshot.
",
+ "StartSnapshotResponse$SnapshotId": "The ID of the snapshot.
",
+ "StartSnapshotResponse$ParentSnapshotId": "The ID of the parent snapshot.
"
+ }
+ },
+ "StartSnapshotRequest": {
+ "base": null,
+ "refs": {
+ }
+ },
+ "StartSnapshotResponse": {
+ "base": null,
+ "refs": {
+ }
+ },
+ "Status": {
+ "base": null,
+ "refs": {
+ "CompleteSnapshotResponse$Status": "The status of the snapshot.
",
+ "StartSnapshotResponse$Status": "The status of the snapshot.
"
+ }
+ },
+ "Tag": {
+ "base": "Describes a tag.
",
+ "refs": {
+ "Tags$member": null
+ }
+ },
+ "TagKey": {
+ "base": null,
+ "refs": {
+ "Tag$Key": "The key of the tag.
"
+ }
+ },
+ "TagValue": {
+ "base": null,
+ "refs": {
+ "Tag$Value": "The value of the tag.
"
+ }
+ },
+ "Tags": {
+ "base": null,
+ "refs": {
+ "StartSnapshotRequest$Tags": "The tags to apply to the snapshot.
",
+ "StartSnapshotResponse$Tags": "The tags applied to the snapshot. You can specify up to 50 tags per snapshot. For more information, see Tagging your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.
"
}
},
"TimeStamp": {
"base": null,
"refs": {
"ListChangedBlocksResponse$ExpiryTime": "The time when the BlockToken
expires.
",
- "ListSnapshotBlocksResponse$ExpiryTime": "The time when the BlockToken
expires.
"
+ "ListSnapshotBlocksResponse$ExpiryTime": "The time when the BlockToken
expires.
",
+ "StartSnapshotResponse$StartTime": "The timestamp when the snapshot was created.
"
+ }
+ },
+ "Timeout": {
+ "base": null,
+ "refs": {
+ "StartSnapshotRequest$Timeout": "The amount of time (in minutes) after which the snapshot is automatically cancelled if:
If no value is specified, the timeout defaults to 60
minutes.
"
}
},
"ValidationException": {
@@ -170,7 +367,9 @@
"base": null,
"refs": {
"ListChangedBlocksResponse$VolumeSize": "The size of the volume in GB.
",
- "ListSnapshotBlocksResponse$VolumeSize": "The size of the volume in GB.
"
+ "ListSnapshotBlocksResponse$VolumeSize": "The size of the volume in GB.
",
+ "StartSnapshotRequest$VolumeSize": "The size of the volume, in GiB. The maximum size is 16384
GiB (16 TiB).
",
+ "StartSnapshotResponse$VolumeSize": "The size of the volume, in GiB.
"
}
}
}
diff --git a/models/apis/eventbridge/2015-10-07/api-2.json b/models/apis/eventbridge/2015-10-07/api-2.json
index 2ceb5ed8e06..c8a7e3b5cf9 100644
--- a/models/apis/eventbridge/2015-10-07/api-2.json
+++ b/models/apis/eventbridge/2015-10-07/api-2.json
@@ -23,7 +23,8 @@
{"shape":"ResourceNotFoundException"},
{"shape":"ConcurrentModificationException"},
{"shape":"InvalidStateException"},
- {"shape":"InternalException"}
+ {"shape":"InternalException"},
+ {"shape":"OperationDisabledException"}
]
},
"CreateEventBus":{
@@ -40,7 +41,8 @@
{"shape":"InvalidStateException"},
{"shape":"InternalException"},
{"shape":"ConcurrentModificationException"},
- {"shape":"LimitExceededException"}
+ {"shape":"LimitExceededException"},
+ {"shape":"OperationDisabledException"}
]
},
"CreatePartnerEventSource":{
@@ -55,7 +57,8 @@
{"shape":"ResourceAlreadyExistsException"},
{"shape":"InternalException"},
{"shape":"ConcurrentModificationException"},
- {"shape":"LimitExceededException"}
+ {"shape":"LimitExceededException"},
+ {"shape":"OperationDisabledException"}
]
},
"DeactivateEventSource":{
@@ -69,7 +72,8 @@
{"shape":"ResourceNotFoundException"},
{"shape":"ConcurrentModificationException"},
{"shape":"InvalidStateException"},
- {"shape":"InternalException"}
+ {"shape":"InternalException"},
+ {"shape":"OperationDisabledException"}
]
},
"DeleteEventBus":{
@@ -93,7 +97,8 @@
"input":{"shape":"DeletePartnerEventSourceRequest"},
"errors":[
{"shape":"InternalException"},
- {"shape":"ConcurrentModificationException"}
+ {"shape":"ConcurrentModificationException"},
+ {"shape":"OperationDisabledException"}
]
},
"DeleteRule":{
@@ -133,7 +138,8 @@
"output":{"shape":"DescribeEventSourceResponse"},
"errors":[
{"shape":"ResourceNotFoundException"},
- {"shape":"InternalException"}
+ {"shape":"InternalException"},
+ {"shape":"OperationDisabledException"}
]
},
"DescribePartnerEventSource":{
@@ -146,7 +152,8 @@
"output":{"shape":"DescribePartnerEventSourceResponse"},
"errors":[
{"shape":"ResourceNotFoundException"},
- {"shape":"InternalException"}
+ {"shape":"InternalException"},
+ {"shape":"OperationDisabledException"}
]
},
"DescribeRule":{
@@ -211,7 +218,8 @@
"input":{"shape":"ListEventSourcesRequest"},
"output":{"shape":"ListEventSourcesResponse"},
"errors":[
- {"shape":"InternalException"}
+ {"shape":"InternalException"},
+ {"shape":"OperationDisabledException"}
]
},
"ListPartnerEventSourceAccounts":{
@@ -224,7 +232,8 @@
"output":{"shape":"ListPartnerEventSourceAccountsResponse"},
"errors":[
{"shape":"ResourceNotFoundException"},
- {"shape":"InternalException"}
+ {"shape":"InternalException"},
+ {"shape":"OperationDisabledException"}
]
},
"ListPartnerEventSources":{
@@ -236,7 +245,8 @@
"input":{"shape":"ListPartnerEventSourcesRequest"},
"output":{"shape":"ListPartnerEventSourcesResponse"},
"errors":[
- {"shape":"InternalException"}
+ {"shape":"InternalException"},
+ {"shape":"OperationDisabledException"}
]
},
"ListRuleNamesByTarget":{
@@ -312,7 +322,8 @@
"input":{"shape":"PutPartnerEventsRequest"},
"output":{"shape":"PutPartnerEventsResponse"},
"errors":[
- {"shape":"InternalException"}
+ {"shape":"InternalException"},
+ {"shape":"OperationDisabledException"}
]
},
"PutPermission":{
@@ -745,6 +756,29 @@
]
},
"EventTime":{"type":"timestamp"},
+ "HeaderKey":{
+ "type":"string",
+ "max":512,
+ "pattern":"^[!#$%&'*+-.^_`|~0-9a-zA-Z]+$"
+ },
+ "HeaderParametersMap":{
+ "type":"map",
+ "key":{"shape":"HeaderKey"},
+ "value":{"shape":"HeaderValue"}
+ },
+ "HeaderValue":{
+ "type":"string",
+ "max":512,
+ "pattern":"^[ \\t]*[\\x20-\\x7E]+([ \\t]+[\\x20-\\x7E]+)*[ \\t]*$"
+ },
+ "HttpParameters":{
+ "type":"structure",
+ "members":{
+ "PathParameterValues":{"shape":"PathParameterList"},
+ "HeaderParameters":{"shape":"HeaderParametersMap"},
+ "QueryStringParameters":{"shape":"QueryStringParametersMap"}
+ }
+ },
"InputTransformer":{
"type":"structure",
"required":["InputTemplate"],
@@ -962,6 +996,12 @@
"min":1,
"pattern":"[\\.\\-_A-Za-z0-9]+"
},
+ "OperationDisabledException":{
+ "type":"structure",
+ "members":{
+ },
+ "exception":true
+ },
"PartnerEventSource":{
"type":"structure",
"members":{
@@ -992,6 +1032,14 @@
"min":1,
"pattern":"aws\\.partner/[\\.\\-_A-Za-z0-9]+/[/\\.\\-_A-Za-z0-9]*"
},
+ "PathParameter":{
+ "type":"string",
+ "pattern":"^(?!\\s*$).+"
+ },
+ "PathParameterList":{
+ "type":"list",
+ "member":{"shape":"PathParameter"}
+ },
"PolicyLengthExceededException":{
"type":"structure",
"members":{
@@ -1155,6 +1203,21 @@
"type":"list",
"member":{"shape":"PutTargetsResultEntry"}
},
+ "QueryStringKey":{
+ "type":"string",
+ "max":512,
+ "pattern":"[^\\x00-\\x1F\\x7F]+"
+ },
+ "QueryStringParametersMap":{
+ "type":"map",
+ "key":{"shape":"QueryStringKey"},
+ "value":{"shape":"QueryStringValue"}
+ },
+ "QueryStringValue":{
+ "type":"string",
+ "max":512,
+ "pattern":"[^\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F]+"
+ },
"RemovePermissionRequest":{
"type":"structure",
"required":["StatementId"],
@@ -1380,7 +1443,8 @@
"RunCommandParameters":{"shape":"RunCommandParameters"},
"EcsParameters":{"shape":"EcsParameters"},
"BatchParameters":{"shape":"BatchParameters"},
- "SqsParameters":{"shape":"SqsParameters"}
+ "SqsParameters":{"shape":"SqsParameters"},
+ "HttpParameters":{"shape":"HttpParameters"}
}
},
"TargetArn":{
diff --git a/models/apis/eventbridge/2015-10-07/docs-2.json b/models/apis/eventbridge/2015-10-07/docs-2.json
index afa87b6bf98..0e36eb807b6 100644
--- a/models/apis/eventbridge/2015-10-07/docs-2.json
+++ b/models/apis/eventbridge/2015-10-07/docs-2.json
@@ -25,14 +25,14 @@
"ListTargetsByRule": "Lists the targets assigned to the specified rule.
",
"PutEvents": "Sends custom events to Amazon EventBridge so that they can be matched to rules.
",
"PutPartnerEvents": "This is used by SaaS partners to write events to a customer's partner event bus. AWS customers do not use this operation.
",
- "PutPermission": "Running PutPermission
permits the specified AWS account or AWS organization to put events to the specified event bus. CloudWatch Events rules in your account are triggered by these events arriving to an event bus in your account.
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 AWS 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 AWS organization, you can run PutPermission
once specifying Principal
as \"*\" and specifying the AWS 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 AWS Accounts in the Amazon EventBridge User Guide.
The permission policy on the default event bus cannot exceed 10 KB in size.
",
+ "PutPermission": "Running PutPermission
permits the specified AWS account or AWS 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 AWS 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 AWS organization, you can run PutPermission
once specifying Principal
as \"*\" and specifying the AWS 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 AWS Accounts in the Amazon EventBridge User Guide.
The permission policy on the default 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 AWS 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 AWS 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.
You can configure the following as targets for Events:
-
EC2 instances
-
SSM Run Command
-
SSM Automation
-
AWS Lambda functions
-
Data streams in Amazon Kinesis Data Streams
-
Data delivery streams in Amazon Kinesis Data Firehose
-
Amazon ECS tasks
-
AWS Step Functions state machines
-
AWS Batch jobs
-
AWS CodeBuild projects
-
Pipelines in AWS CodePipeline
-
Amazon Inspector assessment templates
-
Amazon SNS topics
-
Amazon SQS queues, including FIFO queues
-
The default event bus of another AWS account
Creating rules with built-in targets is supported only in the AWS Management Console. The built-in targets are EC2 CreateSnapshot API call
, EC2 RebootInstances API call
, EC2 StopInstances API call
, and EC2 TerminateInstances API call
.
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 CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis data streams, and AWS Step Functions state machines, EventBridge relies on IAM roles that you specify in the RoleARN
argument in PutTargets
. For more information, see Authentication and Access Control in the Amazon EventBridge User Guide.
If another AWS 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 CloudWatch Pricing.
Input
, InputPath
, and InputTransformer
are not available with PutTarget
if the target is an event bus of a different AWS 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 AWS 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:
-
If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).
-
If Input is specified in the form of valid JSON, then the matched event is overridden with this constant.
-
If InputPath is specified in the form of JSONPath (for example, $.detail
), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).
-
If InputTransformer is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.
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.
You can configure the following as targets for Events:
-
EC2 instances
-
SSM Run Command
-
SSM Automation
-
AWS Lambda functions
-
Data streams in Amazon Kinesis Data Streams
-
Data delivery streams in Amazon Kinesis Data Firehose
-
Amazon ECS tasks
-
AWS Step Functions state machines
-
AWS Batch jobs
-
AWS CodeBuild projects
-
Pipelines in AWS CodePipeline
-
Amazon Inspector assessment templates
-
Amazon SNS topics
-
Amazon SQS queues, including FIFO queues
-
The default event bus of another AWS account
-
Amazon API Gateway REST APIs
Creating rules with built-in targets is supported only in the AWS Management Console. The built-in targets are EC2 CreateSnapshot API call
, EC2 RebootInstances API call
, EC2 StopInstances API call
, and EC2 TerminateInstances API call
.
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 (CloudWatch Events) needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis data streams, AWS Step Functions state machines and API Gateway REST APIs, EventBridge relies on IAM roles that you specify in the RoleARN
argument in PutTargets
. For more information, see Authentication and Access Control in the Amazon EventBridge User Guide.
If another AWS 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 (CloudWatch Events) Pricing.
Input
, InputPath
, and InputTransformer
are not available with PutTarget
if the target is an event bus of a different AWS 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 AWS 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:
-
If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).
-
If Input is specified in the form of valid JSON, then the matched event is overridden with this constant.
-
If InputPath is specified in the form of JSONPath (for example, $.detail
), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).
-
If InputTransformer is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.
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 AWS 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.
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.
",
"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 AWS 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 AWS 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.
",
- "UntagResource": "Removes one or more tags from the specified EventBridge resource. In CloudWatch Events, rules and event buses can be tagged.
"
+ "UntagResource": "Removes one or more tags from the specified EventBridge resource. In Amazon EventBridge (CloudWatch Events, rules and event buses can be tagged.
"
},
"shapes": {
"AccountId": {
@@ -335,6 +335,30 @@
"PutPartnerEventsRequestEntry$Time": "The date and time of the event.
"
}
},
+ "HeaderKey": {
+ "base": null,
+ "refs": {
+ "HeaderParametersMap$key": null
+ }
+ },
+ "HeaderParametersMap": {
+ "base": null,
+ "refs": {
+ "HttpParameters$HeaderParameters": "The headers that need to be sent as part of request invoking the API Gateway REST API.
"
+ }
+ },
+ "HeaderValue": {
+ "base": null,
+ "refs": {
+ "HeaderParametersMap$value": null
+ }
+ },
+ "HttpParameters": {
+ "base": "These are custom parameter to be used when the target is an API Gateway REST APIs.
",
+ "refs": {
+ "Target$HttpParameters": "Contains the HTTP parameters to use when the target is a API Gateway REST endpoint.
If you specify an API Gateway REST API as a target, you can use this parameter to specify headers, path parameter, query string keys/values as part of your target invoking request.
"
+ }
+ },
"InputTransformer": {
"base": "Contains the parameters needed for you to provide custom input to a target based on one or more pieces of data extracted from the event.
",
"refs": {
@@ -539,6 +563,11 @@
"RemovePermissionRequest$EventBusName": "The name of the event bus to revoke permissions for. If you omit this, the default event bus is used.
"
}
},
+ "OperationDisabledException": {
+ "base": "The operation you are attempting is not available in this region.
",
+ "refs": {
+ }
+ },
"PartnerEventSource": {
"base": "A partner event source is created by an SaaS partner. If a customer creates a partner event bus that matches this event source, that AWS account can receive events from the partner's applications or services.
",
"refs": {
@@ -569,6 +598,18 @@
"ListPartnerEventSourcesRequest$NamePrefix": "If you specify this, the results are limited to only those partner event sources that start with the string you specify.
"
}
},
+ "PathParameter": {
+ "base": null,
+ "refs": {
+ "PathParameterList$member": null
+ }
+ },
+ "PathParameterList": {
+ "base": null,
+ "refs": {
+ "HttpParameters$PathParameterValues": "The path parameter values to be used to populate API Gateway REST API path wildcards (\"*\").
"
+ }
+ },
"PolicyLengthExceededException": {
"base": "The event bus policy is too long. For more information, see the limits.
",
"refs": {
@@ -685,6 +726,24 @@
"PutTargetsResponse$FailedEntries": "The failed target entries.
"
}
},
+ "QueryStringKey": {
+ "base": null,
+ "refs": {
+ "QueryStringParametersMap$key": null
+ }
+ },
+ "QueryStringParametersMap": {
+ "base": null,
+ "refs": {
+ "HttpParameters$QueryStringParameters": "The query string keys/values that need to be sent as part of request invoking the API Gateway REST API.
"
+ }
+ },
+ "QueryStringValue": {
+ "base": null,
+ "refs": {
+ "QueryStringParametersMap$value": null
+ }
+ },
"RemovePermissionRequest": {
"base": null,
"refs": {
diff --git a/models/apis/events/2015-10-07/api-2.json b/models/apis/events/2015-10-07/api-2.json
index b257a84fc4c..cf8ba31f70c 100644
--- a/models/apis/events/2015-10-07/api-2.json
+++ b/models/apis/events/2015-10-07/api-2.json
@@ -23,7 +23,8 @@
{"shape":"ResourceNotFoundException"},
{"shape":"ConcurrentModificationException"},
{"shape":"InvalidStateException"},
- {"shape":"InternalException"}
+ {"shape":"InternalException"},
+ {"shape":"OperationDisabledException"}
]
},
"CreateEventBus":{
@@ -40,7 +41,8 @@
{"shape":"InvalidStateException"},
{"shape":"InternalException"},
{"shape":"ConcurrentModificationException"},
- {"shape":"LimitExceededException"}
+ {"shape":"LimitExceededException"},
+ {"shape":"OperationDisabledException"}
]
},
"CreatePartnerEventSource":{
@@ -55,7 +57,8 @@
{"shape":"ResourceAlreadyExistsException"},
{"shape":"InternalException"},
{"shape":"ConcurrentModificationException"},
- {"shape":"LimitExceededException"}
+ {"shape":"LimitExceededException"},
+ {"shape":"OperationDisabledException"}
]
},
"DeactivateEventSource":{
@@ -69,7 +72,8 @@
{"shape":"ResourceNotFoundException"},
{"shape":"ConcurrentModificationException"},
{"shape":"InvalidStateException"},
- {"shape":"InternalException"}
+ {"shape":"InternalException"},
+ {"shape":"OperationDisabledException"}
]
},
"DeleteEventBus":{
@@ -93,7 +97,8 @@
"input":{"shape":"DeletePartnerEventSourceRequest"},
"errors":[
{"shape":"InternalException"},
- {"shape":"ConcurrentModificationException"}
+ {"shape":"ConcurrentModificationException"},
+ {"shape":"OperationDisabledException"}
]
},
"DeleteRule":{
@@ -133,7 +138,8 @@
"output":{"shape":"DescribeEventSourceResponse"},
"errors":[
{"shape":"ResourceNotFoundException"},
- {"shape":"InternalException"}
+ {"shape":"InternalException"},
+ {"shape":"OperationDisabledException"}
]
},
"DescribePartnerEventSource":{
@@ -146,7 +152,8 @@
"output":{"shape":"DescribePartnerEventSourceResponse"},
"errors":[
{"shape":"ResourceNotFoundException"},
- {"shape":"InternalException"}
+ {"shape":"InternalException"},
+ {"shape":"OperationDisabledException"}
]
},
"DescribeRule":{
@@ -211,7 +218,8 @@
"input":{"shape":"ListEventSourcesRequest"},
"output":{"shape":"ListEventSourcesResponse"},
"errors":[
- {"shape":"InternalException"}
+ {"shape":"InternalException"},
+ {"shape":"OperationDisabledException"}
]
},
"ListPartnerEventSourceAccounts":{
@@ -224,7 +232,8 @@
"output":{"shape":"ListPartnerEventSourceAccountsResponse"},
"errors":[
{"shape":"ResourceNotFoundException"},
- {"shape":"InternalException"}
+ {"shape":"InternalException"},
+ {"shape":"OperationDisabledException"}
]
},
"ListPartnerEventSources":{
@@ -236,7 +245,8 @@
"input":{"shape":"ListPartnerEventSourcesRequest"},
"output":{"shape":"ListPartnerEventSourcesResponse"},
"errors":[
- {"shape":"InternalException"}
+ {"shape":"InternalException"},
+ {"shape":"OperationDisabledException"}
]
},
"ListRuleNamesByTarget":{
@@ -312,7 +322,8 @@
"input":{"shape":"PutPartnerEventsRequest"},
"output":{"shape":"PutPartnerEventsResponse"},
"errors":[
- {"shape":"InternalException"}
+ {"shape":"InternalException"},
+ {"shape":"OperationDisabledException"}
]
},
"PutPermission":{
@@ -745,6 +756,29 @@
]
},
"EventTime":{"type":"timestamp"},
+ "HeaderKey":{
+ "type":"string",
+ "max":512,
+ "pattern":"^[!#$%&'*+-.^_`|~0-9a-zA-Z]+$"
+ },
+ "HeaderParametersMap":{
+ "type":"map",
+ "key":{"shape":"HeaderKey"},
+ "value":{"shape":"HeaderValue"}
+ },
+ "HeaderValue":{
+ "type":"string",
+ "max":512,
+ "pattern":"^[ \\t]*[\\x20-\\x7E]+([ \\t]+[\\x20-\\x7E]+)*[ \\t]*$"
+ },
+ "HttpParameters":{
+ "type":"structure",
+ "members":{
+ "PathParameterValues":{"shape":"PathParameterList"},
+ "HeaderParameters":{"shape":"HeaderParametersMap"},
+ "QueryStringParameters":{"shape":"QueryStringParametersMap"}
+ }
+ },
"InputTransformer":{
"type":"structure",
"required":["InputTemplate"],
@@ -962,6 +996,12 @@
"min":1,
"pattern":"[\\.\\-_A-Za-z0-9]+"
},
+ "OperationDisabledException":{
+ "type":"structure",
+ "members":{
+ },
+ "exception":true
+ },
"PartnerEventSource":{
"type":"structure",
"members":{
@@ -992,6 +1032,14 @@
"min":1,
"pattern":"aws\\.partner/[\\.\\-_A-Za-z0-9]+/[/\\.\\-_A-Za-z0-9]*"
},
+ "PathParameter":{
+ "type":"string",
+ "pattern":"^(?!\\s*$).+"
+ },
+ "PathParameterList":{
+ "type":"list",
+ "member":{"shape":"PathParameter"}
+ },
"PolicyLengthExceededException":{
"type":"structure",
"members":{
@@ -1155,6 +1203,21 @@
"type":"list",
"member":{"shape":"PutTargetsResultEntry"}
},
+ "QueryStringKey":{
+ "type":"string",
+ "max":512,
+ "pattern":"[^\\x00-\\x1F\\x7F]+"
+ },
+ "QueryStringParametersMap":{
+ "type":"map",
+ "key":{"shape":"QueryStringKey"},
+ "value":{"shape":"QueryStringValue"}
+ },
+ "QueryStringValue":{
+ "type":"string",
+ "max":512,
+ "pattern":"[^\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F]+"
+ },
"RemovePermissionRequest":{
"type":"structure",
"required":["StatementId"],
@@ -1380,7 +1443,8 @@
"RunCommandParameters":{"shape":"RunCommandParameters"},
"EcsParameters":{"shape":"EcsParameters"},
"BatchParameters":{"shape":"BatchParameters"},
- "SqsParameters":{"shape":"SqsParameters"}
+ "SqsParameters":{"shape":"SqsParameters"},
+ "HttpParameters":{"shape":"HttpParameters"}
}
},
"TargetArn":{
diff --git a/models/apis/events/2015-10-07/docs-2.json b/models/apis/events/2015-10-07/docs-2.json
index afa87b6bf98..0e36eb807b6 100644
--- a/models/apis/events/2015-10-07/docs-2.json
+++ b/models/apis/events/2015-10-07/docs-2.json
@@ -25,14 +25,14 @@
"ListTargetsByRule": "Lists the targets assigned to the specified rule.
",
"PutEvents": "Sends custom events to Amazon EventBridge so that they can be matched to rules.
",
"PutPartnerEvents": "This is used by SaaS partners to write events to a customer's partner event bus. AWS customers do not use this operation.
",
- "PutPermission": "Running PutPermission
permits the specified AWS account or AWS organization to put events to the specified event bus. CloudWatch Events rules in your account are triggered by these events arriving to an event bus in your account.
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 AWS 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 AWS organization, you can run PutPermission
once specifying Principal
as \"*\" and specifying the AWS 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 AWS Accounts in the Amazon EventBridge User Guide.
The permission policy on the default event bus cannot exceed 10 KB in size.
",
+ "PutPermission": "Running PutPermission
permits the specified AWS account or AWS 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 AWS 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 AWS organization, you can run PutPermission
once specifying Principal
as \"*\" and specifying the AWS 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 AWS Accounts in the Amazon EventBridge User Guide.
The permission policy on the default 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 AWS 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 AWS 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.
You can configure the following as targets for Events:
-
EC2 instances
-
SSM Run Command
-
SSM Automation
-
AWS Lambda functions
-
Data streams in Amazon Kinesis Data Streams
-
Data delivery streams in Amazon Kinesis Data Firehose
-
Amazon ECS tasks
-
AWS Step Functions state machines
-
AWS Batch jobs
-
AWS CodeBuild projects
-
Pipelines in AWS CodePipeline
-
Amazon Inspector assessment templates
-
Amazon SNS topics
-
Amazon SQS queues, including FIFO queues
-
The default event bus of another AWS account
Creating rules with built-in targets is supported only in the AWS Management Console. The built-in targets are EC2 CreateSnapshot API call
, EC2 RebootInstances API call
, EC2 StopInstances API call
, and EC2 TerminateInstances API call
.
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 CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis data streams, and AWS Step Functions state machines, EventBridge relies on IAM roles that you specify in the RoleARN
argument in PutTargets
. For more information, see Authentication and Access Control in the Amazon EventBridge User Guide.
If another AWS 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 CloudWatch Pricing.
Input
, InputPath
, and InputTransformer
are not available with PutTarget
if the target is an event bus of a different AWS 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 AWS 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:
-
If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).
-
If Input is specified in the form of valid JSON, then the matched event is overridden with this constant.
-
If InputPath is specified in the form of JSONPath (for example, $.detail
), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).
-
If InputTransformer is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.
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.
You can configure the following as targets for Events:
-
EC2 instances
-
SSM Run Command
-
SSM Automation
-
AWS Lambda functions
-
Data streams in Amazon Kinesis Data Streams
-
Data delivery streams in Amazon Kinesis Data Firehose
-
Amazon ECS tasks
-
AWS Step Functions state machines
-
AWS Batch jobs
-
AWS CodeBuild projects
-
Pipelines in AWS CodePipeline
-
Amazon Inspector assessment templates
-
Amazon SNS topics
-
Amazon SQS queues, including FIFO queues
-
The default event bus of another AWS account
-
Amazon API Gateway REST APIs
Creating rules with built-in targets is supported only in the AWS Management Console. The built-in targets are EC2 CreateSnapshot API call
, EC2 RebootInstances API call
, EC2 StopInstances API call
, and EC2 TerminateInstances API call
.
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 (CloudWatch Events) needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis data streams, AWS Step Functions state machines and API Gateway REST APIs, EventBridge relies on IAM roles that you specify in the RoleARN
argument in PutTargets
. For more information, see Authentication and Access Control in the Amazon EventBridge User Guide.
If another AWS 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 (CloudWatch Events) Pricing.
Input
, InputPath
, and InputTransformer
are not available with PutTarget
if the target is an event bus of a different AWS 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 AWS 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:
-
If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).
-
If Input is specified in the form of valid JSON, then the matched event is overridden with this constant.
-
If InputPath is specified in the form of JSONPath (for example, $.detail
), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).
-
If InputTransformer is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.
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 AWS 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.
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.
",
"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 AWS 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 AWS 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.
",
- "UntagResource": "Removes one or more tags from the specified EventBridge resource. In CloudWatch Events, rules and event buses can be tagged.
"
+ "UntagResource": "Removes one or more tags from the specified EventBridge resource. In Amazon EventBridge (CloudWatch Events, rules and event buses can be tagged.
"
},
"shapes": {
"AccountId": {
@@ -335,6 +335,30 @@
"PutPartnerEventsRequestEntry$Time": "The date and time of the event.
"
}
},
+ "HeaderKey": {
+ "base": null,
+ "refs": {
+ "HeaderParametersMap$key": null
+ }
+ },
+ "HeaderParametersMap": {
+ "base": null,
+ "refs": {
+ "HttpParameters$HeaderParameters": "The headers that need to be sent as part of request invoking the API Gateway REST API.
"
+ }
+ },
+ "HeaderValue": {
+ "base": null,
+ "refs": {
+ "HeaderParametersMap$value": null
+ }
+ },
+ "HttpParameters": {
+ "base": "These are custom parameter to be used when the target is an API Gateway REST APIs.
",
+ "refs": {
+ "Target$HttpParameters": "Contains the HTTP parameters to use when the target is a API Gateway REST endpoint.
If you specify an API Gateway REST API as a target, you can use this parameter to specify headers, path parameter, query string keys/values as part of your target invoking request.
"
+ }
+ },
"InputTransformer": {
"base": "Contains the parameters needed for you to provide custom input to a target based on one or more pieces of data extracted from the event.
",
"refs": {
@@ -539,6 +563,11 @@
"RemovePermissionRequest$EventBusName": "The name of the event bus to revoke permissions for. If you omit this, the default event bus is used.
"
}
},
+ "OperationDisabledException": {
+ "base": "The operation you are attempting is not available in this region.
",
+ "refs": {
+ }
+ },
"PartnerEventSource": {
"base": "A partner event source is created by an SaaS partner. If a customer creates a partner event bus that matches this event source, that AWS account can receive events from the partner's applications or services.
",
"refs": {
@@ -569,6 +598,18 @@
"ListPartnerEventSourcesRequest$NamePrefix": "If you specify this, the results are limited to only those partner event sources that start with the string you specify.
"
}
},
+ "PathParameter": {
+ "base": null,
+ "refs": {
+ "PathParameterList$member": null
+ }
+ },
+ "PathParameterList": {
+ "base": null,
+ "refs": {
+ "HttpParameters$PathParameterValues": "The path parameter values to be used to populate API Gateway REST API path wildcards (\"*\").
"
+ }
+ },
"PolicyLengthExceededException": {
"base": "The event bus policy is too long. For more information, see the limits.
",
"refs": {
@@ -685,6 +726,24 @@
"PutTargetsResponse$FailedEntries": "The failed target entries.
"
}
},
+ "QueryStringKey": {
+ "base": null,
+ "refs": {
+ "QueryStringParametersMap$key": null
+ }
+ },
+ "QueryStringParametersMap": {
+ "base": null,
+ "refs": {
+ "HttpParameters$QueryStringParameters": "The query string keys/values that need to be sent as part of request invoking the API Gateway REST API.
"
+ }
+ },
+ "QueryStringValue": {
+ "base": null,
+ "refs": {
+ "QueryStringParametersMap$value": null
+ }
+ },
"RemovePermissionRequest": {
"base": null,
"refs": {
diff --git a/models/apis/sagemaker/2017-07-24/api-2.json b/models/apis/sagemaker/2017-07-24/api-2.json
index 4a236dbcd32..34f222affaa 100644
--- a/models/apis/sagemaker/2017-07-24/api-2.json
+++ b/models/apis/sagemaker/2017-07-24/api-2.json
@@ -446,6 +446,18 @@
{"shape":"ResourceNotFound"}
]
},
+ "DeleteHumanTaskUi":{
+ "name":"DeleteHumanTaskUi",
+ "http":{
+ "method":"POST",
+ "requestUri":"/"
+ },
+ "input":{"shape":"DeleteHumanTaskUiRequest"},
+ "output":{"shape":"DeleteHumanTaskUiResponse"},
+ "errors":[
+ {"shape":"ResourceNotFound"}
+ ]
+ },
"DeleteModel":{
"name":"DeleteModel",
"http":{
@@ -3290,6 +3302,18 @@
"members":{
}
},
+ "DeleteHumanTaskUiRequest":{
+ "type":"structure",
+ "required":["HumanTaskUiName"],
+ "members":{
+ "HumanTaskUiName":{"shape":"HumanTaskUiName"}
+ }
+ },
+ "DeleteHumanTaskUiResponse":{
+ "type":"structure",
+ "members":{
+ }
+ },
"DeleteModelInput":{
"type":"structure",
"required":["ModelName"],
@@ -3718,6 +3742,7 @@
"members":{
"HumanTaskUiArn":{"shape":"HumanTaskUiArn"},
"HumanTaskUiName":{"shape":"HumanTaskUiName"},
+ "HumanTaskUiStatus":{"shape":"HumanTaskUiStatus"},
"CreationTime":{"shape":"Timestamp"},
"UiTemplate":{"shape":"UiTemplateInfo"}
}
@@ -4852,6 +4877,13 @@
"min":1,
"pattern":"^[a-z0-9](-*[a-z0-9])*"
},
+ "HumanTaskUiStatus":{
+ "type":"string",
+ "enum":[
+ "Active",
+ "Deleting"
+ ]
+ },
"HumanTaskUiSummaries":{
"type":"list",
"member":{"shape":"HumanTaskUiSummary"}
diff --git a/models/apis/sagemaker/2017-07-24/docs-2.json b/models/apis/sagemaker/2017-07-24/docs-2.json
index 4a24095195a..d04f85c9788 100644
--- a/models/apis/sagemaker/2017-07-24/docs-2.json
+++ b/models/apis/sagemaker/2017-07-24/docs-2.json
@@ -5,7 +5,7 @@
"AddTags": "Adds or overwrites one or more tags for the specified Amazon SageMaker resource. You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints.
Each tag consists of a key and an optional value. Tag keys must be unique per resource. For more information about tags, see For more information, see AWS Tagging Strategies.
Tags that you add to a hyperparameter tuning job by calling this API are also added to any training jobs that the hyperparameter tuning job launches after you call this API, but not to training jobs that the hyperparameter tuning job launched before you called this API. To make sure that the tags associated with a hyperparameter tuning job are also added to all training jobs that the hyperparameter tuning job launches, add the tags when you first create the tuning job by specifying them in the Tags
parameter of CreateHyperParameterTuningJob
",
"AssociateTrialComponent": "Associates a trial component with a trial. A trial component can be associated with multiple trials. To disassociate a trial component from a trial, call the DisassociateTrialComponent API.
",
"CreateAlgorithm": "Create a machine learning algorithm that you can use in Amazon SageMaker and list in the AWS Marketplace.
",
- "CreateApp": "Creates a running App for the specified UserProfile. Supported Apps are JupyterServer, KernelGateway, and TensorBoard. This operation is automatically invoked by Amazon SageMaker Studio upon access to the associated Domain, and when new kernel configurations are selected by the user. A user may have multiple Apps active simultaneously. UserProfiles are limited to 5 concurrently running Apps at a time.
",
+ "CreateApp": "Creates a running App for the specified UserProfile. Supported Apps are JupyterServer and KernelGateway. This operation is automatically invoked by Amazon SageMaker Studio upon access to the associated Domain, and when new kernel configurations are selected by the user. A user may have multiple Apps active simultaneously.
",
"CreateAutoMLJob": "Creates an AutoPilot job.
After you run an AutoPilot job, you can find the best performing model by calling , and then deploy that model by following the steps described in Step 6.1: Deploy the Model to Amazon SageMaker Hosting Services.
For information about how to use AutoPilot, see Use AutoPilot to Automate Model Development.
",
"CreateCodeRepository": "Creates a Git repository as a resource in your Amazon SageMaker account. You can associate the repository with notebook instances so that you can use Git source control for the notebooks you create. The Git repository is a resource in your Amazon SageMaker account, so it can be associated with more than one notebook instance, and it persists independently from the lifecycle of any notebook instances it is associated with.
The repository can be hosted either in AWS CodeCommit or in any other Git repository.
",
"CreateCompilationJob": "Starts a model compilation job. After the model has been compiled, Amazon SageMaker saves the resulting model artifacts to an Amazon Simple Storage Service (Amazon S3) bucket that you specify.
If you choose to host your model using Amazon SageMaker hosting services, you can use the resulting model artifacts as part of the model. You can also use the artifacts with AWS IoT Greengrass. In that case, deploy them as an ML resource.
In the request body, you provide the following:
-
A name for the compilation job
-
Information about the input model artifacts
-
The output location for the compiled model and the device (target) that the model runs on
-
The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker assumes to perform the model compilation job
You can also provide a Tag
to track the model compilation job's resource use and costs. The response body contains the CompilationJobArn
for the compiled job.
To stop a model compilation job, use StopCompilationJob. To get information about a particular model compilation job, use DescribeCompilationJob. To get information about multiple model compilation jobs, use ListCompilationJobs.
",
@@ -39,6 +39,7 @@
"DeleteEndpointConfig": "Deletes an endpoint configuration. The DeleteEndpointConfig
API deletes only the specified configuration. It does not delete endpoints created using the configuration.
You must not delete an EndpointConfig
in use by an endpoint that is live or while the UpdateEndpoint
or CreateEndpoint
operations are being performed on the endpoint. If you delete the EndpointConfig
of an endpoint that is active or being created or updated you may lose visibility into the instance type the endpoint is using. The endpoint must be deleted in order to stop incurring charges.
",
"DeleteExperiment": "Deletes an Amazon SageMaker experiment. All trials associated with the experiment must be deleted first. Use the ListTrials API to get a list of the trials associated with the experiment.
",
"DeleteFlowDefinition": "Deletes the specified flow definition.
",
+ "DeleteHumanTaskUi": "Use this operation to delete a worker task template (HumanTaskUi
).
To see a list of human task user interfaces (work task templates) in your account, use . When you delete a worker task template, it no longer appears when you call ListHumanTaskUis
.
",
"DeleteModel": "Deletes a model. The DeleteModel
API deletes only the model entry that was created in Amazon SageMaker when you called the CreateModel API. It does not delete model artifacts, inference code, or the IAM role that you specified when creating the model.
",
"DeleteModelPackage": "Deletes a model package.
A model package is used to create Amazon SageMaker models or list on AWS Marketplace. Buyers can subscribe to model packages listed on AWS Marketplace to create models in Amazon SageMaker.
",
"DeleteMonitoringSchedule": "Deletes a monitoring schedule. Also stops the schedule had not already been stopped. This does not delete the job execution history of the monitoring schedule.
",
@@ -59,7 +60,7 @@
"DescribeEndpointConfig": "Returns the description of an endpoint configuration created using the CreateEndpointConfig
API.
",
"DescribeExperiment": "Provides a list of an experiment's properties.
",
"DescribeFlowDefinition": "Returns information about the specified flow definition.
",
- "DescribeHumanTaskUi": "Returns information about the requested human task user interface.
",
+ "DescribeHumanTaskUi": "Returns information about the requested human task user interface (worker task template).
",
"DescribeHyperParameterTuningJob": "Gets a description of a hyperparameter tuning job.
",
"DescribeLabelingJob": "Gets information about a labeling job.
",
"DescribeModel": "Describes a model that you created using the CreateModel
API.
",
@@ -133,7 +134,7 @@
"UpdateTrial": "Updates the display name of a trial.
",
"UpdateTrialComponent": "Updates one or more properties of a trial component.
",
"UpdateUserProfile": "Updates a user profile.
",
- "UpdateWorkforce": "Restricts access to tasks assigned to workers in the specified workforce to those within specific ranges of IP addresses. You specify allowed IP addresses by creating a list of up to four CIDRs.
By default, a workforce isn't restricted to specific IP addresses. If you specify a range of IP addresses, workers who attempt to access tasks using any IP address outside the specified range are denied access and get a Not Found
error message on the worker portal. After restricting access with this operation, you can see the allowed IP values for a private workforce with the operation.
This operation applies only to private workforces.
",
+ "UpdateWorkforce": "Restricts access to tasks assigned to workers in the specified workforce to those within specific ranges of IP addresses. You specify allowed IP addresses by creating a list of up to ten CIDRs.
By default, a workforce isn't restricted to specific IP addresses. If you specify a range of IP addresses, workers who attempt to access tasks using any IP address outside the specified range are denied access and get a Not Found
error message on the worker portal. After restricting access with this operation, you can see the allowed IP values for a private workforce with the operation.
This operation applies only to private workforces.
",
"UpdateWorkteam": "Updates an existing work team with new member definitions or description.
"
},
"shapes": {
@@ -256,7 +257,7 @@
}
},
"AnnotationConsolidationConfig": {
- "base": "Configures how labels are consolidated across human workers.
",
+ "base": "Configures how labels are consolidated across human workers and processes output data.
",
"refs": {
"HumanTaskConfig$AnnotationConsolidationConfig": "Configures how labels are consolidated across human workers.
"
}
@@ -791,7 +792,7 @@
"Cidrs": {
"base": null,
"refs": {
- "SourceIpConfig$Cidrs": "A list of one to four Classless Inter-Domain Routing (CIDR) values.
Maximum: Four CIDR values
The following Length Constraints apply to individual CIDR values in the CIDR value list.
"
+ "SourceIpConfig$Cidrs": "A list of one to ten Classless Inter-Domain Routing (CIDR) values.
Maximum: Ten CIDR values
The following Length Constraints apply to individual CIDR values in the CIDR value list.
"
}
},
"CodeRepositoryArn": {
@@ -1501,6 +1502,16 @@
"refs": {
}
},
+ "DeleteHumanTaskUiRequest": {
+ "base": null,
+ "refs": {
+ }
+ },
+ "DeleteHumanTaskUiResponse": {
+ "base": null,
+ "refs": {
+ }
+ },
"DeleteModelInput": {
"base": null,
"refs": {
@@ -2337,7 +2348,7 @@
"DescribeCompilationJobResponse$FailureReason": "If a model compilation job failed, the reason it failed.
",
"DescribeDomainResponse$FailureReason": "The failure reason.
",
"DescribeEndpointOutput$FailureReason": "If the status of the endpoint is Failed
, the reason why it failed.
",
- "DescribeFlowDefinitionResponse$FailureReason": "",
+ "DescribeFlowDefinitionResponse$FailureReason": "The reason your flow definition failed.
",
"DescribeHyperParameterTuningJobResponse$FailureReason": "If the tuning job failed, the reason it failed.
",
"DescribeLabelingJobResponse$FailureReason": "If the job failed, the reason that it failed.
",
"DescribeMonitoringScheduleResponse$FailureReason": "A string, up to one KB in size, that contains the reason a monitoring job failed, if it failed.
",
@@ -2606,22 +2617,29 @@
"base": null,
"refs": {
"CreateHumanTaskUiResponse$HumanTaskUiArn": "The Amazon Resource Name (ARN) of the human review workflow user interface you create.
",
- "DescribeHumanTaskUiResponse$HumanTaskUiArn": "The Amazon Resource Name (ARN) of the human task user interface.
",
+ "DescribeHumanTaskUiResponse$HumanTaskUiArn": "The Amazon Resource Name (ARN) of the human task user interface (worker task template).
",
"HumanLoopConfig$HumanTaskUiArn": "The Amazon Resource Name (ARN) of the human task user interface.
",
"HumanTaskUiSummary$HumanTaskUiArn": "The Amazon Resource Name (ARN) of the human task user interface.
",
- "RenderUiTemplateRequest$HumanTaskUiArn": "The HumanTaskUiArn
of the worker UI that you want to render. Do not provide a HumanTaskUiArn
if you use the UiTemplate
parameter.
",
- "UiConfig$HumanTaskUiArn": "The ARN of the worker task template used to render the worker UI and tools for labeling job tasks. Do not use this parameter if you use UiTemplateS3Uri.
"
+ "RenderUiTemplateRequest$HumanTaskUiArn": "The HumanTaskUiArn
of the worker UI that you want to render. Do not provide a HumanTaskUiArn
if you use the UiTemplate
parameter.
See a list of available Human Ui Amazon Resource Names (ARNs) in UiConfig.
",
+ "UiConfig$HumanTaskUiArn": "The ARN of the worker task template used to render the worker UI and tools for labeling job tasks.
Use this parameter when you are creating a labeling job for 3D point cloud labeling modalities. Use your labeling job task type to select one of the following ARN's and use it with this parameter when you create a labeling job. Replace aws-region
with the AWS region you are creating your labeling job in.
Use this HumanTaskUiArn
for 3D point cloud object detection and 3D point cloud object detection adjustment labeling jobs.
Use this HumanTaskUiArn
for 3D point cloud object tracking and 3D point cloud object tracking adjustment labeling jobs.
Use this HumanTaskUiArn
for 3D point cloud semantic segmentation and 3D point cloud semantic segmentation adjustment labeling jobs.
"
}
},
"HumanTaskUiName": {
"base": null,
"refs": {
"CreateHumanTaskUiRequest$HumanTaskUiName": "The name of the user interface you are creating.
",
- "DescribeHumanTaskUiRequest$HumanTaskUiName": "The name of the human task user interface you want information about.
",
- "DescribeHumanTaskUiResponse$HumanTaskUiName": "The name of the human task user interface.
",
+ "DeleteHumanTaskUiRequest$HumanTaskUiName": "The name of the human task user interface (work task template) you want to delete.
",
+ "DescribeHumanTaskUiRequest$HumanTaskUiName": "The name of the human task user interface (worker task template) you want information about.
",
+ "DescribeHumanTaskUiResponse$HumanTaskUiName": "The name of the human task user interface (worker task template).
",
"HumanTaskUiSummary$HumanTaskUiName": "The name of the human task user interface.
"
}
},
+ "HumanTaskUiStatus": {
+ "base": null,
+ "refs": {
+ "DescribeHumanTaskUiResponse$HumanTaskUiStatus": "The status of the human task user interface (worker task template). Valid values are listed below.
"
+ }
+ },
"HumanTaskUiSummaries": {
"base": null,
"refs": {
@@ -2716,7 +2734,7 @@
"base": null,
"refs": {
"CreateHyperParameterTuningJobRequest$HyperParameterTuningJobName": "The name of the tuning job. This name is the prefix for the names of all training jobs that this tuning job launches. The name must be unique within the same AWS account and AWS Region. The name must have { } to { } characters. Valid characters are a-z, A-Z, 0-9, and : + = @ _ % - (hyphen). The name is not case sensitive.
",
- "DescribeHyperParameterTuningJobRequest$HyperParameterTuningJobName": "The name of the tuning job to describe.
",
+ "DescribeHyperParameterTuningJobRequest$HyperParameterTuningJobName": "The name of the tuning job.
",
"DescribeHyperParameterTuningJobResponse$HyperParameterTuningJobName": "The name of the tuning job.
",
"HyperParameterTrainingJobSummary$TuningJobName": "The HyperParameter tuning job that launched the training job.
",
"HyperParameterTuningJobSummary$HyperParameterTuningJobName": "The name of the tuning job.
",
@@ -3132,8 +3150,8 @@
"LambdaFunctionArn": {
"base": null,
"refs": {
- "AnnotationConsolidationConfig$AnnotationConsolidationLambdaArn": "The Amazon Resource Name (ARN) of a Lambda function implements the logic for annotation consolidation.
For the built-in bounding box, image classification, semantic segmentation, and text classification task types, Amazon SageMaker Ground Truth provides the following Lambda functions:
Bounding box - Finds the most similar boxes from different workers based on the Jaccard index of the boxes.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-BoundingBox
arn:aws:lambda:us-east-2:266458841044:function:ACS-BoundingBox
arn:aws:lambda:us-west-2:081040173940:function:ACS-BoundingBox
arn:aws:lambda:eu-west-1:568282634449:function:ACS-BoundingBox
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-BoundingBox
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-BoundingBox
arn:aws:lambda:ap-south-1:565803892007:function:ACS-BoundingBox
arn:aws:lambda:eu-central-1:203001061592:function:ACS-BoundingBox
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-BoundingBox
arn:aws:lambda:eu-west-2:487402164563:function:ACS-BoundingBox
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-BoundingBox
arn:aws:lambda:ca-central-1:918755190332:function:ACS-BoundingBox
Image classification - Uses a variant of the Expectation Maximization approach to estimate the true class of an image based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClass
arn:aws:lambda:us-east-2:266458841044:function:ACS-ImageMultiClass
arn:aws:lambda:us-west-2:081040173940:function:ACS-ImageMultiClass
arn:aws:lambda:eu-west-1:568282634449:function:ACS-ImageMultiClass
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-ImageMultiClass
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-ImageMultiClass
arn:aws:lambda:ap-south-1:565803892007:function:ACS-ImageMultiClass
arn:aws:lambda:eu-central-1:203001061592:function:ACS-ImageMultiClass
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-ImageMultiClass
arn:aws:lambda:eu-west-2:487402164563:function:ACS-ImageMultiClass
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-ImageMultiClass
arn:aws:lambda:ca-central-1:918755190332:function:ACS-ImageMultiClass
Multi-label image classification - Uses a variant of the Expectation Maximization approach to estimate the true classes of an image based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:us-east-2:266458841044:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:us-west-2:081040173940:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:eu-west-1:568282634449:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:ap-south-1:565803892007:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:eu-central-1:203001061592:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:eu-west-2:487402164563:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:ca-central-1:918755190332:function:ACS-ImageMultiClassMultiLabel
Semantic segmentation - Treats each pixel in an image as a multi-class classification and treats pixel annotations from workers as \"votes\" for the correct label.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-SemanticSegmentation
arn:aws:lambda:us-east-2:266458841044:function:ACS-SemanticSegmentation
arn:aws:lambda:us-west-2:081040173940:function:ACS-SemanticSegmentation
arn:aws:lambda:eu-west-1:568282634449:function:ACS-SemanticSegmentation
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-SemanticSegmentation
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-SemanticSegmentation
arn:aws:lambda:ap-south-1:565803892007:function:ACS-SemanticSegmentation
arn:aws:lambda:eu-central-1:203001061592:function:ACS-SemanticSegmentation
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-SemanticSegmentation
arn:aws:lambda:eu-west-2:487402164563:function:ACS-SemanticSegmentation
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-SemanticSegmentation
arn:aws:lambda:ca-central-1:918755190332:function:ACS-SemanticSegmentation
Text classification - Uses a variant of the Expectation Maximization approach to estimate the true class of text based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClass
arn:aws:lambda:us-east-2:266458841044:function:ACS-TextMultiClass
arn:aws:lambda:us-west-2:081040173940:function:ACS-TextMultiClass
arn:aws:lambda:eu-west-1:568282634449:function:ACS-TextMultiClass
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-TextMultiClass
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-TextMultiClass
arn:aws:lambda:ap-south-1:565803892007:function:ACS-TextMultiClass
arn:aws:lambda:eu-central-1:203001061592:function:ACS-TextMultiClass
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-TextMultiClass
arn:aws:lambda:eu-west-2:487402164563:function:ACS-TextMultiClass
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-TextMultiClass
arn:aws:lambda:ca-central-1:918755190332:function:ACS-TextMultiClass
Multi-label text classification - Uses a variant of the Expectation Maximization approach to estimate the true classes of text based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:us-east-2:266458841044:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:us-west-2:081040173940:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:eu-west-1:568282634449:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:ap-south-1:565803892007:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:eu-central-1:203001061592:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:eu-west-2:487402164563:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:ca-central-1:918755190332:function:ACS-TextMultiClassMultiLabel
Named entity recognition - Groups similar selections and calculates aggregate boundaries, resolving to most-assigned label.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-NamedEntityRecognition
arn:aws:lambda:us-east-2:266458841044:function:ACS-NamedEntityRecognition
arn:aws:lambda:us-west-2:081040173940:function:ACS-NamedEntityRecognition
arn:aws:lambda:eu-west-1:568282634449:function:ACS-NamedEntityRecognition
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-NamedEntityRecognition
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-NamedEntityRecognition
arn:aws:lambda:ap-south-1:565803892007:function:ACS-NamedEntityRecognition
arn:aws:lambda:eu-central-1:203001061592:function:ACS-NamedEntityRecognition
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-NamedEntityRecognition
arn:aws:lambda:eu-west-2:487402164563:function:ACS-NamedEntityRecognition
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-NamedEntityRecognition
arn:aws:lambda:ca-central-1:918755190332:function:ACS-NamedEntityRecognition
Bounding box verification - Uses a variant of the Expectation Maximization approach to estimate the true class of verification judgement for bounding box labels based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationBoundingBox
arn:aws:lambda:us-east-2:266458841044:function:ACS-VerificationBoundingBox
arn:aws:lambda:us-west-2:081040173940:function:ACS-VerificationBoundingBox
arn:aws:lambda:eu-west-1:568282634449:function:ACS-VerificationBoundingBox
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VerificationBoundingBox
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VerificationBoundingBox
arn:aws:lambda:ap-south-1:565803892007:function:ACS-VerificationBoundingBox
arn:aws:lambda:eu-central-1:203001061592:function:ACS-VerificationBoundingBox
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VerificationBoundingBox
arn:aws:lambda:eu-west-2:487402164563:function:ACS-VerificationBoundingBox
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VerificationBoundingBox
arn:aws:lambda:ca-central-1:918755190332:function:ACS-VerificationBoundingBox
Semantic segmentation verification - Uses a variant of the Expectation Maximization approach to estimate the true class of verification judgment for semantic segmentation labels based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:us-east-2:266458841044:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:us-west-2:081040173940:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:eu-west-1:568282634449:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:ap-south-1:565803892007:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:eu-central-1:203001061592:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:eu-west-2:487402164563:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:ca-central-1:918755190332:function:ACS-VerificationSemanticSegmentation
Bounding box adjustment - Finds the most similar boxes from different workers based on the Jaccard index of the adjusted annotations.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:ap-south-1:565803892007:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:eu-central-1:203001061592:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:eu-west-2:487402164563:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentBoundingBox
Semantic segmentation adjustment - Treats each pixel in an image as a multi-class classification and treats pixel adjusted annotations from workers as \"votes\" for the correct label.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:ap-south-1:565803892007:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:eu-central-1:203001061592:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:eu-west-2:487402164563:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentSemanticSegmentation
For more information, see Annotation Consolidation.
",
- "HumanTaskConfig$PreHumanTaskLambdaArn": "The Amazon Resource Name (ARN) of a Lambda function that is run before a data object is sent to a human worker. Use this function to provide input to a custom labeling job.
For the built-in bounding box, image classification, semantic segmentation, and text classification task types, Amazon SageMaker Ground Truth provides the following Lambda functions:
Bounding box - Finds the most similar boxes from different workers based on the Jaccard index of the boxes.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-BoundingBox
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-BoundingBox
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-BoundingBox
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-BoundingBox
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-BoundingBox
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-BoundingBox
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-BoundingBox
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-BoundingBox
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-BoundingBox
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-BoundingBox
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-BoundingBox
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-BoundingBox
Image classification - Uses a variant of the Expectation Maximization approach to estimate the true class of an image based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClass
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClass
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClass
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClass
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClass
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClass
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClass
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClass
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClass
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClass
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClass
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClass
Multi-label image classification - Uses a variant of the Expectation Maximization approach to estimate the true classes of an image based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClassMultiLabel
Semantic segmentation - Treats each pixel in an image as a multi-class classification and treats pixel annotations from workers as \"votes\" for the correct label.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-SemanticSegmentation
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-SemanticSegmentation
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-SemanticSegmentation
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-SemanticSegmentation
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-SemanticSegmentation
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-SemanticSegmentation
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-SemanticSegmentation
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-SemanticSegmentation
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-SemanticSegmentation
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-SemanticSegmentation
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-SemanticSegmentation
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-SemanticSegmentation
Text classification - Uses a variant of the Expectation Maximization approach to estimate the true class of text based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClass
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClass
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClass
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClass
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClass
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-TextMultiClass
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClass
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClass
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClass
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClass
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClass
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClass
Multi-label text classification - Uses a variant of the Expectation Maximization approach to estimate the true classes of text based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClassMultiLabel
Named entity recognition - Groups similar selections and calculates aggregate boundaries, resolving to most-assigned label.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-NamedEntityRecognition
Bounding box verification - Uses a variant of the Expectation Maximization approach to estimate the true class of verification judgement for bounding box labels based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationBoundingBox
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationBoundingBox
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationBoundingBox
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationBoundingBox
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationBoundingBox
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationBoundingBox
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationBoundingBox
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VerificationBoundingBox
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationBoundingBox
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationBoundingBox
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VerificationBoundingBox
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VerificationBoundingBox
Bounding box adjustment - Finds the most similar boxes from different workers based on the Jaccard index of the adjusted annotations.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentBoundingBox
Semantic segmentation verification - Uses a variant of the Expectation Maximization approach to estimate the true class of verification judgment for semantic segmentation labels based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VerificationSemanticSegmentation
Semantic segmentation adjustment - Treats each pixel in an image as a multi-class classification and treats pixel adjusted annotations from workers as \"votes\" for the correct label.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentSemanticSegmentation
",
+ "AnnotationConsolidationConfig$AnnotationConsolidationLambdaArn": "The Amazon Resource Name (ARN) of a Lambda function implements the logic for annotation consolidation and to process output data.
This parameter is required for all labeling jobs. For built-in task types, use one of the following Amazon SageMaker Ground Truth Lambda function ARNs for AnnotationConsolidationLambdaArn
. For custom labeling workflows, see Post-annotation Lambda.
Bounding box - Finds the most similar boxes from different workers based on the Jaccard index of the boxes.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-BoundingBox
arn:aws:lambda:us-east-2:266458841044:function:ACS-BoundingBox
arn:aws:lambda:us-west-2:081040173940:function:ACS-BoundingBox
arn:aws:lambda:eu-west-1:568282634449:function:ACS-BoundingBox
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-BoundingBox
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-BoundingBox
arn:aws:lambda:ap-south-1:565803892007:function:ACS-BoundingBox
arn:aws:lambda:eu-central-1:203001061592:function:ACS-BoundingBox
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-BoundingBox
arn:aws:lambda:eu-west-2:487402164563:function:ACS-BoundingBox
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-BoundingBox
arn:aws:lambda:ca-central-1:918755190332:function:ACS-BoundingBox
Image classification - Uses a variant of the Expectation Maximization approach to estimate the true class of an image based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClass
arn:aws:lambda:us-east-2:266458841044:function:ACS-ImageMultiClass
arn:aws:lambda:us-west-2:081040173940:function:ACS-ImageMultiClass
arn:aws:lambda:eu-west-1:568282634449:function:ACS-ImageMultiClass
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-ImageMultiClass
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-ImageMultiClass
arn:aws:lambda:ap-south-1:565803892007:function:ACS-ImageMultiClass
arn:aws:lambda:eu-central-1:203001061592:function:ACS-ImageMultiClass
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-ImageMultiClass
arn:aws:lambda:eu-west-2:487402164563:function:ACS-ImageMultiClass
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-ImageMultiClass
arn:aws:lambda:ca-central-1:918755190332:function:ACS-ImageMultiClass
Multi-label image classification - Uses a variant of the Expectation Maximization approach to estimate the true classes of an image based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:us-east-2:266458841044:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:us-west-2:081040173940:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:eu-west-1:568282634449:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:ap-south-1:565803892007:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:eu-central-1:203001061592:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:eu-west-2:487402164563:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-ImageMultiClassMultiLabel
arn:aws:lambda:ca-central-1:918755190332:function:ACS-ImageMultiClassMultiLabel
Semantic segmentation - Treats each pixel in an image as a multi-class classification and treats pixel annotations from workers as \"votes\" for the correct label.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-SemanticSegmentation
arn:aws:lambda:us-east-2:266458841044:function:ACS-SemanticSegmentation
arn:aws:lambda:us-west-2:081040173940:function:ACS-SemanticSegmentation
arn:aws:lambda:eu-west-1:568282634449:function:ACS-SemanticSegmentation
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-SemanticSegmentation
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-SemanticSegmentation
arn:aws:lambda:ap-south-1:565803892007:function:ACS-SemanticSegmentation
arn:aws:lambda:eu-central-1:203001061592:function:ACS-SemanticSegmentation
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-SemanticSegmentation
arn:aws:lambda:eu-west-2:487402164563:function:ACS-SemanticSegmentation
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-SemanticSegmentation
arn:aws:lambda:ca-central-1:918755190332:function:ACS-SemanticSegmentation
Text classification - Uses a variant of the Expectation Maximization approach to estimate the true class of text based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClass
arn:aws:lambda:us-east-2:266458841044:function:ACS-TextMultiClass
arn:aws:lambda:us-west-2:081040173940:function:ACS-TextMultiClass
arn:aws:lambda:eu-west-1:568282634449:function:ACS-TextMultiClass
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-TextMultiClass
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-TextMultiClass
arn:aws:lambda:ap-south-1:565803892007:function:ACS-TextMultiClass
arn:aws:lambda:eu-central-1:203001061592:function:ACS-TextMultiClass
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-TextMultiClass
arn:aws:lambda:eu-west-2:487402164563:function:ACS-TextMultiClass
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-TextMultiClass
arn:aws:lambda:ca-central-1:918755190332:function:ACS-TextMultiClass
Multi-label text classification - Uses a variant of the Expectation Maximization approach to estimate the true classes of text based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:us-east-2:266458841044:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:us-west-2:081040173940:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:eu-west-1:568282634449:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:ap-south-1:565803892007:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:eu-central-1:203001061592:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:eu-west-2:487402164563:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-TextMultiClassMultiLabel
arn:aws:lambda:ca-central-1:918755190332:function:ACS-TextMultiClassMultiLabel
Named entity recognition - Groups similar selections and calculates aggregate boundaries, resolving to most-assigned label.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-NamedEntityRecognition
arn:aws:lambda:us-east-2:266458841044:function:ACS-NamedEntityRecognition
arn:aws:lambda:us-west-2:081040173940:function:ACS-NamedEntityRecognition
arn:aws:lambda:eu-west-1:568282634449:function:ACS-NamedEntityRecognition
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-NamedEntityRecognition
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-NamedEntityRecognition
arn:aws:lambda:ap-south-1:565803892007:function:ACS-NamedEntityRecognition
arn:aws:lambda:eu-central-1:203001061592:function:ACS-NamedEntityRecognition
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-NamedEntityRecognition
arn:aws:lambda:eu-west-2:487402164563:function:ACS-NamedEntityRecognition
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-NamedEntityRecognition
arn:aws:lambda:ca-central-1:918755190332:function:ACS-NamedEntityRecognition
3D point cloud object detection - Use this task type when you want workers to classify objects in a 3D point cloud by drawing 3D cuboids around objects. For example, you can use this task type to ask workers to identify different types of objects in a point cloud, such as cars, bikes, and pedestrians.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudObjectDetection
arn:aws:lambda:us-east-2:266458841044:function:ACS-3DPointCloudObjectDetection
arn:aws:lambda:us-west-2:081040173940:function:ACS-3DPointCloudObjectDetection
arn:aws:lambda:eu-west-1:568282634449:function:ACS-3DPointCloudObjectDetection
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-3DPointCloudObjectDetection
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-3DPointCloudObjectDetection
arn:aws:lambda:ap-south-1:565803892007:function:ACS-3DPointCloudObjectDetection
arn:aws:lambda:eu-central-1:203001061592:function:ACS-3DPointCloudObjectDetection
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-3DPointCloudObjectDetection
arn:aws:lambda:eu-west-2:487402164563:function:ACS-3DPointCloudObjectDetection
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-3DPointCloudObjectDetection
arn:aws:lambda:ca-central-1:918755190332:function:ACS-3DPointCloudObjectDetection
3D point cloud object tracking - Use this task type when you want workers to draw 3D cuboids around objects that appear in a sequence of 3D point cloud frames. For example, you can use this task type to ask workers to track the movement of vehicles across multiple point cloud frames.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudObjectTracking
arn:aws:lambda:us-east-2:266458841044:function:ACS-3DPointCloudObjectTracking
arn:aws:lambda:us-west-2:081040173940:function:ACS-3DPointCloudObjectTracking
arn:aws:lambda:eu-west-1:568282634449:function:ACS-3DPointCloudObjectTracking
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-3DPointCloudObjectTracking
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-3DPointCloudObjectTracking
arn:aws:lambda:ap-south-1:565803892007:function:ACS-3DPointCloudObjectTracking
arn:aws:lambda:eu-central-1:203001061592:function:ACS-3DPointCloudObjectTracking
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-3DPointCloudObjectTracking
arn:aws:lambda:eu-west-2:487402164563:function:ACS-3DPointCloudObjectTracking
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-3DPointCloudObjectTracking
arn:aws:lambda:ca-central-1:918755190332:function:ACS-3DPointCloudObjectTracking
3D point cloud semantic segmentation - Use this task type when you want workers to create a point-level semantic segmentation masks by painting objects in a 3D point cloud using different colors where each color is assigned to one of the classes you specify.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudSemanticSegmentation
arn:aws:lambda:us-east-2:266458841044:function:ACS-3DPointCloudSemanticSegmentation
arn:aws:lambda:us-west-2:081040173940:function:ACS-3DPointCloudSemanticSegmentation
arn:aws:lambda:eu-west-1:568282634449:function:ACS-3DPointCloudSemanticSegmentation
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-3DPointCloudSemanticSegmentation
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-3DPointCloudSemanticSegmentation
arn:aws:lambda:ap-south-1:565803892007:function:ACS-3DPointCloudSemanticSegmentation
arn:aws:lambda:eu-central-1:203001061592:function:ACS-3DPointCloudSemanticSegmentation
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-3DPointCloudSemanticSegmentation
arn:aws:lambda:eu-west-2:487402164563:function:ACS-3DPointCloudSemanticSegmentation
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-3DPointCloudSemanticSegmentation
arn:aws:lambda:ca-central-1:918755190332:function:ACS-3DPointCloudSemanticSegmentation
Use the following ARNs for Label Verification and Adjustment Jobs
Use label verification and adjustment jobs to review and adjust labels. To learn more, see Verify and Adjust Labels .
Semantic segmentation adjustment - Treats each pixel in an image as a multi-class classification and treats pixel adjusted annotations from workers as \"votes\" for the correct label.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:ap-south-1:565803892007:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:eu-central-1:203001061592:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:eu-west-2:487402164563:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentSemanticSegmentation
arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentSemanticSegmentation
Semantic segmentation verification - Uses a variant of the Expectation Maximization approach to estimate the true class of verification judgment for semantic segmentation labels based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:us-east-2:266458841044:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:us-west-2:081040173940:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:eu-west-1:568282634449:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:ap-south-1:565803892007:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:eu-central-1:203001061592:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:eu-west-2:487402164563:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VerificationSemanticSegmentation
arn:aws:lambda:ca-central-1:918755190332:function:ACS-VerificationSemanticSegmentation
Bounding box verification - Uses a variant of the Expectation Maximization approach to estimate the true class of verification judgement for bounding box labels based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationBoundingBox
arn:aws:lambda:us-east-2:266458841044:function:ACS-VerificationBoundingBox
arn:aws:lambda:us-west-2:081040173940:function:ACS-VerificationBoundingBox
arn:aws:lambda:eu-west-1:568282634449:function:ACS-VerificationBoundingBox
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VerificationBoundingBox
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VerificationBoundingBox
arn:aws:lambda:ap-south-1:565803892007:function:ACS-VerificationBoundingBox
arn:aws:lambda:eu-central-1:203001061592:function:ACS-VerificationBoundingBox
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VerificationBoundingBox
arn:aws:lambda:eu-west-2:487402164563:function:ACS-VerificationBoundingBox
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VerificationBoundingBox
arn:aws:lambda:ca-central-1:918755190332:function:ACS-VerificationBoundingBox
Bounding box adjustment - Finds the most similar boxes from different workers based on the Jaccard index of the adjusted annotations.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:ap-south-1:565803892007:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:eu-central-1:203001061592:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:eu-west-2:487402164563:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentBoundingBox
arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentBoundingBox
3D point cloud object detection adjustment - Use this task type when you want workers to adjust 3D cuboids around objects in a 3D point cloud.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-Adjustment3DPointCloudObjectDetection
arn:aws:lambda:us-east-2:266458841044:function:ACS-Adjustment3DPointCloudObjectDetection
arn:aws:lambda:us-west-2:081040173940:function:ACS-Adjustment3DPointCloudObjectDetection
arn:aws:lambda:eu-west-1:568282634449:function:ACS-Adjustment3DPointCloudObjectDetection
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-Adjustment3DPointCloudObjectDetection
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-Adjustment3DPointCloudObjectDetection
arn:aws:lambda:ap-south-1:565803892007:function:ACS-Adjustment3DPointCloudObjectDetection
arn:aws:lambda:eu-central-1:203001061592:function:ACS-Adjustment3DPointCloudObjectDetection
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-Adjustment3DPointCloudObjectDetection
arn:aws:lambda:eu-west-2:487402164563:function:ACS-Adjustment3DPointCloudObjectDetection
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-Adjustment3DPointCloudObjectDetection
arn:aws:lambda:ca-central-1:918755190332:function:ACS-Adjustment3DPointCloudObjectDetection
3D point cloud object tracking adjustment - Use this task type when you want workers to adjust 3D cuboids around objects that appear in a sequence of 3D point cloud frames.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-Adjustment3DPointCloudObjectTracking
arn:aws:lambda:us-east-2:266458841044:function:ACS-Adjustment3DPointCloudObjectTracking
arn:aws:lambda:us-west-2:081040173940:function:ACS-Adjustment3DPointCloudObjectTracking
arn:aws:lambda:eu-west-1:568282634449:function:ACS-Adjustment3DPointCloudObjectTracking
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-Adjustment3DPointCloudObjectTracking
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-Adjustment3DPointCloudObjectTracking
arn:aws:lambda:ap-south-1:565803892007:function:ACS-Adjustment3DPointCloudObjectTracking
arn:aws:lambda:eu-central-1:203001061592:function:ACS-Adjustment3DPointCloudObjectTracking
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-Adjustment3DPointCloudObjectTracking
arn:aws:lambda:eu-west-2:487402164563:function:ACS-Adjustment3DPointCloudObjectTracking
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-Adjustment3DPointCloudObjectTracking
arn:aws:lambda:ca-central-1:918755190332:function:ACS-Adjustment3DPointCloudObjectTracking
3D point cloud semantic segmentation adjustment - Use this task type when you want workers to adjust a point-level semantic segmentation masks using a paint tool.
-
arn:aws:lambda:us-east-1:432418664414:function:ACS-Adjustment3DPointCloudSemanticSegmentation
arn:aws:lambda:us-east-2:266458841044:function:ACS-Adjustment3DPointCloudSemanticSegmentation
arn:aws:lambda:us-west-2:081040173940:function:ACS-Adjustment3DPointCloudSemanticSegmentation
arn:aws:lambda:eu-west-1:568282634449:function:ACS-Adjustment3DPointCloudSemanticSegmentation
arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-Adjustment3DPointCloudSemanticSegmentation
arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-Adjustment3DPointCloudSemanticSegmentation
arn:aws:lambda:ap-south-1:565803892007:function:ACS-Adjustment3DPointCloudSemanticSegmentation
arn:aws:lambda:eu-central-1:203001061592:function:ACS-Adjustment3DPointCloudSemanticSegmentation
arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-Adjustment3DPointCloudSemanticSegmentation
arn:aws:lambda:eu-west-2:487402164563:function:ACS-Adjustment3DPointCloudSemanticSegmentation
arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-Adjustment3DPointCloudSemanticSegmentation
arn:aws:lambda:ca-central-1:918755190332:function:ACS-Adjustment3DPointCloudSemanticSegmentation
",
+ "HumanTaskConfig$PreHumanTaskLambdaArn": "The Amazon Resource Name (ARN) of a Lambda function that is run before a data object is sent to a human worker. Use this function to provide input to a custom labeling job.
For built-in task types, use one of the following Amazon SageMaker Ground Truth Lambda function ARNs for PreHumanTaskLambdaArn
. For custom labeling workflows, see Pre-annotation Lambda.
Bounding box - Finds the most similar boxes from different workers based on the Jaccard index of the boxes.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-BoundingBox
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-BoundingBox
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-BoundingBox
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-BoundingBox
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-BoundingBox
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-BoundingBox
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-BoundingBox
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-BoundingBox
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-BoundingBox
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-BoundingBox
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-BoundingBox
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-BoundingBox
Image classification - Uses a variant of the Expectation Maximization approach to estimate the true class of an image based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClass
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClass
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClass
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClass
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClass
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClass
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClass
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClass
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClass
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClass
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClass
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClass
Multi-label image classification - Uses a variant of the Expectation Maximization approach to estimate the true classes of an image based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClassMultiLabel
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClassMultiLabel
Semantic segmentation - Treats each pixel in an image as a multi-class classification and treats pixel annotations from workers as \"votes\" for the correct label.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-SemanticSegmentation
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-SemanticSegmentation
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-SemanticSegmentation
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-SemanticSegmentation
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-SemanticSegmentation
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-SemanticSegmentation
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-SemanticSegmentation
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-SemanticSegmentation
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-SemanticSegmentation
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-SemanticSegmentation
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-SemanticSegmentation
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-SemanticSegmentation
Text classification - Uses a variant of the Expectation Maximization approach to estimate the true class of text based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClass
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClass
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClass
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClass
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClass
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-TextMultiClass
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClass
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClass
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClass
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClass
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClass
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClass
Multi-label text classification - Uses a variant of the Expectation Maximization approach to estimate the true classes of text based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClassMultiLabel
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClassMultiLabel
Named entity recognition - Groups similar selections and calculates aggregate boundaries, resolving to most-assigned label.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-NamedEntityRecognition
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-NamedEntityRecognition
3D Point Cloud Modalities
Use the following pre-annotation lambdas for 3D point cloud labeling modality tasks. See 3D Point Cloud Task types to learn more.
3D Point Cloud Object Detection - Use this task type when you want workers to classify objects in a 3D point cloud by drawing 3D cuboids around objects. For example, you can use this task type to ask workers to identify different types of objects in a point cloud, such as cars, bikes, and pedestrians.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudObjectDetection
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudObjectDetection
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudObjectDetection
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudObjectDetection
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudObjectDetection
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudObjectDetection
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudObjectDetection
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudObjectDetection
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudObjectDetection
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudObjectDetection
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudObjectDetection
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudObjectDetection
3D Point Cloud Object Tracking - Use this task type when you want workers to draw 3D cuboids around objects that appear in a sequence of 3D point cloud frames. For example, you can use this task type to ask workers to track the movement of vehicles across multiple point cloud frames.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudObjectTracking
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudObjectTracking
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudObjectTracking
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudObjectTracking
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudObjectTracking
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudObjectTracking
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudObjectTracking
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudObjectTracking
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudObjectTracking
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudObjectTracking
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudObjectTracking
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudObjectTracking
3D Point Cloud Semantic Segmentation - Use this task type when you want workers to create a point-level semantic segmentation masks by painting objects in a 3D point cloud using different colors where each color is assigned to one of the classes you specify.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudSemanticSegmentation
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudSemanticSegmentation
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudSemanticSegmentation
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudSemanticSegmentation
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudSemanticSegmentation
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudSemanticSegmentation
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudSemanticSegmentation
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudSemanticSegmentation
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudSemanticSegmentation
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudSemanticSegmentation
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudSemanticSegmentation
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudSemanticSegmentation
Use the following ARNs for Label Verification and Adjustment Jobs
Use label verification and adjustment jobs to review and adjust labels. To learn more, see Verify and Adjust Labels .
Bounding box verification - Uses a variant of the Expectation Maximization approach to estimate the true class of verification judgement for bounding box labels based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudObjectTracking
Bounding box adjustment - Finds the most similar boxes from different workers based on the Jaccard index of the adjusted annotations.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentBoundingBox
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentBoundingBox
Semantic segmentation verification - Uses a variant of the Expectation Maximization approach to estimate the true class of verification judgment for semantic segmentation labels based on annotations from individual workers.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VerificationSemanticSegmentation
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VerificationSemanticSegmentation
Semantic segmentation adjustment - Treats each pixel in an image as a multi-class classification and treats pixel adjusted annotations from workers as \"votes\" for the correct label.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentSemanticSegmentation
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentSemanticSegmentation
3D point cloud object detection adjustment - Adjust 3D cuboids in a point cloud frame.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudObjectDetection
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudObjectDetection
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudObjectDetection
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudObjectDetection
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudObjectDetection
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudObjectDetection
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudObjectDetection
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudObjectDetection
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudObjectDetection
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudObjectDetection
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudObjectDetection
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudObjectDetection
3D point cloud object tracking adjustment - Adjust 3D cuboids across a sequence of point cloud frames.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudObjectTracking
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudObjectTracking
3D point cloud semantic segmentation adjustment - Adjust semantic segmentation masks in a 3D point cloud.
-
arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudSemanticSegmentation
-
arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudSemanticSegmentation
-
arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudSemanticSegmentation
-
arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudSemanticSegmentation
-
arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudSemanticSegmentation
-
arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudSemanticSegmentation
-
arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudSemanticSegmentation
-
arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudSemanticSegmentation
-
arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudSemanticSegmentation
-
arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudSemanticSegmentation
-
arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudSemanticSegmentation
-
arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudSemanticSegmentation
",
"LabelingJobSummary$PreHumanTaskLambdaArn": "The Amazon Resource Name (ARN) of a Lambda function. The function is run before each data object is sent to a worker.
",
"LabelingJobSummary$AnnotationConsolidationLambdaArn": "The Amazon Resource Name (ARN) of the Lambda function used to consolidate the annotations from individual workers into a label for a data object. For more information, see Annotation Consolidation.
"
}
@@ -4993,7 +5011,7 @@
"AutoMLOutputDataConfig$S3OutputPath": "The Amazon S3 output path. Must be 128 characters or less.
",
"AutoMLS3DataSource$S3Uri": "The URL to the Amazon S3 data source.
",
"CheckpointConfig$S3Uri": "Identifies the S3 path where you want Amazon SageMaker to store checkpoints. For example, s3://bucket-name/key-name-prefix
.
",
- "CreateLabelingJobRequest$LabelCategoryConfigS3Uri": "The S3 URL of the file that defines the categories used to label the data objects.
The file is a JSON structure in the following format:
{
\"document-version\": \"2018-11-28\"
\"labels\": [
{
\"label\": \"label 1\"
},
{
\"label\": \"label 2\"
},
...
{
\"label\": \"label n\"
}
]
}
",
+ "CreateLabelingJobRequest$LabelCategoryConfigS3Uri": "The S3 URL of the file that defines the categories used to label the data objects.
For 3D point cloud task types, see Create a Labeling Category Configuration File for 3D Point Cloud Labeling Jobs.
For all other built-in task types and custom tasks, your label category configuration file must be a JSON file in the following format. Identify the labels you want to use by replacing label_1
, label_2
,...
,label_n
with your label categories.
{
\"document-version\": \"2018-11-28\"
\"labels\": [
{
\"label\": \"label_1\"
},
{
\"label\": \"label_2\"
},
...
{
\"label\": \"label_n\"
}
]
}
",
"DebugHookConfig$S3OutputPath": "Path to Amazon S3 storage location for tensors.
",
"DebugRuleConfiguration$S3OutputPath": "Path to Amazon S3 storage location for rules.
",
"DescribeLabelingJobResponse$LabelCategoryConfigS3Uri": "The S3 location of the JSON file that defines the categories used to label data objects. Please note the following label-category limits:
The file is a JSON structure in the following format:
{
\"document-version\": \"2018-11-28\"
\"labels\": [
{
\"label\": \"label 1\"
},
{
\"label\": \"label 2\"
},
...
{
\"label\": \"label n\"
}
]
}
",
@@ -5011,7 +5029,7 @@
"OutputDataConfig$S3OutputPath": "Identifies the S3 path where you want Amazon SageMaker to store the model artifacts. For example, s3://bucket-name/key-name-prefix
.
",
"ProcessingS3Input$S3Uri": "The URI for the Amazon S3 storage where you want Amazon SageMaker to download the artifacts needed to run a processing job.
",
"ProcessingS3Output$S3Uri": "A URI that identifies the Amazon S3 bucket where you want Amazon SageMaker to save the results of a processing job.
",
- "S3DataSource$S3Uri": "Depending on the value specified for the S3DataType
, identifies either a key name prefix or a manifest. For example:
-
A key name prefix might look like this: s3://bucketname/exampleprefix
.
-
A manifest might look like this: s3://bucketname/example.manifest
The manifest is an S3 object which is a JSON file with the following format:
The preceding JSON matches the following s3Uris
:
[ {\"prefix\": \"s3://customer_bucket/some/prefix/\"},
\"relative/path/to/custdata-1\",
\"relative/path/custdata-2\",
...
\"relative/path/custdata-N\"
]
The preceding JSON matches the following s3Uris
:
s3://customer_bucket/some/prefix/relative/path/to/custdata-1
s3://customer_bucket/some/prefix/relative/path/custdata-2
...
s3://customer_bucket/some/prefix/relative/path/custdata-N
The complete set of s3uris
in this manifest is the input data for the channel for this datasource. The object that each s3uris
points to must be readable by the IAM role that Amazon SageMaker uses to perform tasks on your behalf.
",
+ "S3DataSource$S3Uri": "Depending on the value specified for the S3DataType
, identifies either a key name prefix or a manifest. For example:
-
A key name prefix might look like this: s3://bucketname/exampleprefix
-
A manifest might look like this: s3://bucketname/example.manifest
A manifest is an S3 object which is a JSON file consisting of an array of elements. The first element is a prefix which is followed by one or more suffixes. SageMaker appends the suffix elements to the prefix to get a full set of S3Uri
. Note that the prefix must be a valid non-empty S3Uri
that precludes users from specifying a manifest whose individual S3Uri
is sourced from different S3 buckets.
The following code example shows a valid manifest format:
[ {\"prefix\": \"s3://customer_bucket/some/prefix/\"},
\"relative/path/to/custdata-1\",
\"relative/path/custdata-2\",
...
\"relative/path/custdata-N\"
]
This JSON is equivalent to the following S3Uri
list:
s3://customer_bucket/some/prefix/relative/path/to/custdata-1
s3://customer_bucket/some/prefix/relative/path/custdata-2
...
s3://customer_bucket/some/prefix/relative/path/custdata-N
The complete set of S3Uri
in this manifest is the input data for the channel for this data source. The object that each S3Uri
points to must be readable by the IAM role that Amazon SageMaker uses to perform tasks on your behalf.
",
"SharingSettings$S3OutputPath": "When NotebookOutputOption
is Allowed
, the Amazon S3 bucket used to save the notebook cell output. If S3OutputPath
isn't specified, a default bucket is used.
",
"TensorBoardOutputConfig$S3OutputPath": "Path to Amazon S3 storage location for TensorBoard output.
",
"TransformOutput$S3OutputPath": "The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For example, s3://bucket-name/key-name-prefix
.
For every S3 object used as input for the transform job, batch transform stores the transformed data with an .out
suffix in a corresponding subfolder in the location in the output prefix. For example, for the input data stored at s3://bucket-name/input-name-prefix/dataset01/data.csv
, batch transform stores the transformed data at s3://bucket-name/output-name-prefix/input-name-prefix/data.csv.out
. Batch transform doesn't upload partially processed objects. For an input S3 object that contains multiple records, it creates an .out
file only if the transform job succeeds on the entire file. When the input contains multiple S3 objects, the batch transform job processes the listed S3 objects and uploads only the output for successfully processed objects. If any object fails in the transform job batch transform marks the job as failed to prompt investigation.
",
@@ -5242,8 +5260,8 @@
"SourceIpConfig": {
"base": "A list of IP address ranges (CIDRs). Used to create an allow list of IP addresses for a private workforce. For more information, see .
",
"refs": {
- "UpdateWorkforceRequest$SourceIpConfig": "A list of one to four worker IP address ranges (CIDRs) that can be used to access tasks assigned to this workforce.
Maximum: Four CIDR values
",
- "Workforce$SourceIpConfig": "A list of one to four IP address ranges (CIDRs) to be added to the workforce allow list.
"
+ "UpdateWorkforceRequest$SourceIpConfig": "A list of one to ten worker IP address ranges (CIDRs) that can be used to access tasks assigned to this workforce.
Maximum: Ten CIDR values
",
+ "Workforce$SourceIpConfig": "A list of one to ten IP address ranges (CIDRs) to be added to the workforce allow list.
"
}
},
"SourceType": {
@@ -5352,7 +5370,7 @@
"RenderingError$Code": "A unique identifier for a specific class of errors.
",
"RenderingError$Message": "A human-readable message describing the error.
",
"SubscribedWorkteam$SellerName": "The name of the vendor in the Amazon Marketplace.
",
- "SubscribedWorkteam$ListingId": "",
+ "SubscribedWorkteam$ListingId": "Marketplace product listing ID.
",
"UserContext$UserProfileArn": "The Amazon Resource Name (ARN) of the user's profile.
",
"UserContext$UserProfileName": "The name of the user's profile.
",
"UserContext$DomainId": "The domain associated with the user.
",
diff --git a/models/apis/secretsmanager/2017-10-17/api-2.json b/models/apis/secretsmanager/2017-10-17/api-2.json
index 49474a17d42..09114adc011 100644
--- a/models/apis/secretsmanager/2017-10-17/api-2.json
+++ b/models/apis/secretsmanager/2017-10-17/api-2.json
@@ -175,7 +175,8 @@
{"shape":"ResourceNotFoundException"},
{"shape":"InvalidParameterException"},
{"shape":"InternalServiceError"},
- {"shape":"InvalidRequestException"}
+ {"shape":"InvalidRequestException"},
+ {"shape":"PublicPolicyException"}
]
},
"PutSecretValue":{
@@ -289,6 +290,22 @@
{"shape":"LimitExceededException"},
{"shape":"InternalServiceError"}
]
+ },
+ "ValidateResourcePolicy":{
+ "name":"ValidateResourcePolicy",
+ "http":{
+ "method":"POST",
+ "requestUri":"/"
+ },
+ "input":{"shape":"ValidateResourcePolicyRequest"},
+ "output":{"shape":"ValidateResourcePolicyResponse"},
+ "errors":[
+ {"shape":"MalformedPolicyDocumentException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"InvalidParameterException"},
+ {"shape":"InternalServiceError"},
+ {"shape":"InvalidRequestException"}
+ ]
}
},
"shapes":{
@@ -430,7 +447,11 @@
},
"Tags":{"shape":"TagListType"},
"VersionIdsToStages":{"shape":"SecretVersionsToStagesMapType"},
- "OwningService":{"shape":"OwningServiceType"}
+ "OwningService":{"shape":"OwningServiceType"},
+ "CreatedDate":{
+ "shape":"TimestampType",
+ "box":true
+ }
}
},
"DescriptionType":{
@@ -454,6 +475,40 @@
"ExcludeNumbersType":{"type":"boolean"},
"ExcludePunctuationType":{"type":"boolean"},
"ExcludeUppercaseType":{"type":"boolean"},
+ "Filter":{
+ "type":"structure",
+ "members":{
+ "Key":{"shape":"FilterNameStringType"},
+ "Values":{"shape":"FilterValuesStringList"}
+ }
+ },
+ "FilterNameStringType":{
+ "type":"string",
+ "enum":[
+ "description",
+ "name",
+ "tag-key",
+ "tag-value",
+ "all"
+ ]
+ },
+ "FilterValueStringType":{
+ "type":"string",
+ "max":512,
+ "min":1,
+ "pattern":"[a-zA-Z0-9 :_@\\/\\+\\=\\.\\-]+"
+ },
+ "FilterValuesStringList":{
+ "type":"list",
+ "member":{"shape":"FilterValueStringType"},
+ "max":10,
+ "min":1
+ },
+ "FiltersListType":{
+ "type":"list",
+ "member":{"shape":"Filter"},
+ "max":10
+ },
"GetRandomPasswordRequest":{
"type":"structure",
"members":{
@@ -610,7 +665,9 @@
"shape":"MaxResultsType",
"box":true
},
- "NextToken":{"shape":"NextTokenType"}
+ "NextToken":{"shape":"NextTokenType"},
+ "Filters":{"shape":"FiltersListType"},
+ "SortOrder":{"shape":"SortOrderType"}
}
},
"ListSecretsResponse":{
@@ -664,6 +721,13 @@
},
"exception":true
},
+ "PublicPolicyException":{
+ "type":"structure",
+ "members":{
+ "Message":{"shape":"ErrorMessage"}
+ },
+ "exception":true
+ },
"PutResourcePolicyRequest":{
"type":"structure",
"required":[
@@ -672,7 +736,11 @@
],
"members":{
"SecretId":{"shape":"SecretIdType"},
- "ResourcePolicy":{"shape":"NonEmptyResourcePolicyType"}
+ "ResourcePolicy":{"shape":"NonEmptyResourcePolicyType"},
+ "BlockPublicPolicy":{
+ "shape":"BooleanType",
+ "box":true
+ }
}
},
"PutResourcePolicyResponse":{
@@ -824,7 +892,11 @@
"DeletedDate":{"shape":"DeletedDateType"},
"Tags":{"shape":"TagListType"},
"SecretVersionsToStages":{"shape":"SecretVersionsToStagesMapType"},
- "OwningService":{"shape":"OwningServiceType"}
+ "OwningService":{"shape":"OwningServiceType"},
+ "CreatedDate":{
+ "shape":"TimestampType",
+ "box":true
+ }
}
},
"SecretListType":{
@@ -882,6 +954,13 @@
"key":{"shape":"SecretVersionIdType"},
"value":{"shape":"SecretVersionStagesType"}
},
+ "SortOrderType":{
+ "type":"string",
+ "enum":[
+ "asc",
+ "desc"
+ ]
+ },
"Tag":{
"type":"structure",
"members":{
@@ -918,6 +997,7 @@
"max":256,
"min":0
},
+ "TimestampType":{"type":"timestamp"},
"UntagResourceRequest":{
"type":"structure",
"required":[
@@ -977,6 +1057,32 @@
"ARN":{"shape":"SecretARNType"},
"Name":{"shape":"SecretNameType"}
}
+ },
+ "ValidateResourcePolicyRequest":{
+ "type":"structure",
+ "required":["ResourcePolicy"],
+ "members":{
+ "SecretId":{"shape":"SecretIdType"},
+ "ResourcePolicy":{"shape":"NonEmptyResourcePolicyType"}
+ }
+ },
+ "ValidateResourcePolicyResponse":{
+ "type":"structure",
+ "members":{
+ "PolicyValidationPassed":{"shape":"BooleanType"},
+ "ValidationErrors":{"shape":"ValidationErrorsType"}
+ }
+ },
+ "ValidationErrorsEntry":{
+ "type":"structure",
+ "members":{
+ "CheckName":{"shape":"NameType"},
+ "ErrorMessage":{"shape":"ErrorMessage"}
+ }
+ },
+ "ValidationErrorsType":{
+ "type":"list",
+ "member":{"shape":"ValidationErrorsEntry"}
}
}
}
diff --git a/models/apis/secretsmanager/2017-10-17/docs-2.json b/models/apis/secretsmanager/2017-10-17/docs-2.json
index 3cb2b1b10aa..64377cd7cd1 100644
--- a/models/apis/secretsmanager/2017-10-17/docs-2.json
+++ b/models/apis/secretsmanager/2017-10-17/docs-2.json
@@ -1,25 +1,26 @@
{
"version": "2.0",
- "service": "AWS Secrets Manager API Reference AWS Secrets Manager is a web service that enables you to store, manage, and retrieve, secrets.
This guide provides descriptions of the Secrets Manager API. For more information about using this service, see the AWS Secrets Manager User Guide.
API Version
This version of the Secrets Manager API Reference documents the Secrets Manager API version 2017-10-17.
As an alternative to using the API directly, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (such as Java, Ruby, .NET, iOS, and Android). The SDKs provide a convenient way to create programmatic access to AWS Secrets Manager. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.
We recommend that you use the AWS SDKs to make programmatic API calls to Secrets Manager. However, you also can use the Secrets Manager HTTP Query API to make direct calls to the Secrets Manager web service. To learn more about the Secrets Manager HTTP Query API, see Making Query Requests in the AWS Secrets Manager User Guide.
Secrets Manager supports GET and POST requests for all actions. That is, the API doesn't require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request.
Support and Feedback for AWS Secrets Manager
We welcome your feedback. Send your comments to awssecretsmanager-feedback@amazon.com, or post your feedback and questions in the AWS Secrets Manager Discussion Forum. For more information about the AWS Discussion Forums, see Forums Help.
How examples are presented
The JSON that AWS Secrets Manager expects as your request parameters and that the service returns as a response to HTTP query requests are single, long strings without line breaks or white space formatting. The JSON shown in the examples is formatted with both line breaks and white space to improve readability. When example input parameters would also result in long strings that extend beyond the screen, we insert line breaks to enhance readability. You should always submit the input as a single JSON text string.
Logging API Requests
AWS Secrets Manager supports AWS CloudTrail, a service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information that's collected by AWS CloudTrail, you can determine which requests were successfully made to Secrets Manager, who made the request, when it was made, and so on. For more about AWS Secrets Manager and its support for AWS CloudTrail, see Logging AWS Secrets Manager Events with AWS CloudTrail in the AWS Secrets Manager User Guide. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.
",
+ "service": "AWS Secrets Manager API Reference AWS Secrets Manager provides a service to enable you to store, manage, and retrieve, secrets.
This guide provides descriptions of the Secrets Manager API. For more information about using this service, see the AWS Secrets Manager User Guide.
API Version
This version of the Secrets Manager API Reference documents the Secrets Manager API version 2017-10-17.
As an alternative to using the API, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms such as Java, Ruby, .NET, iOS, and Android. The SDKs provide a convenient way to create programmatic access to AWS Secrets Manager. For example, the SDKs provide cryptographically signing requests, managing errors, and retrying requests automatically. For more information about the AWS SDKs, including downloading and installing them, see Tools for Amazon Web Services.
We recommend you use the AWS SDKs to make programmatic API calls to Secrets Manager. However, you also can use the Secrets Manager HTTP Query API to make direct calls to the Secrets Manager web service. To learn more about the Secrets Manager HTTP Query API, see Making Query Requests in the AWS Secrets Manager User Guide.
Secrets Manager API supports GET and POST requests for all actions, and doesn't require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request.
Support and Feedback for AWS Secrets Manager
We welcome your feedback. Send your comments to awssecretsmanager-feedback@amazon.com, or post your feedback and questions in the AWS Secrets Manager Discussion Forum. For more information about the AWS Discussion Forums, see Forums Help.
How examples are presented
The JSON that AWS Secrets Manager expects as your request parameters and the service returns as a response to HTTP query requests contain single, long strings without line breaks or white space formatting. The JSON shown in the examples displays the code formatted with both line breaks and white space to improve readability. When example input parameters can also cause long strings extending beyond the screen, you can insert line breaks to enhance readability. You should always submit the input as a single JSON text string.
Logging API Requests
AWS Secrets Manager supports AWS CloudTrail, a service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information that's collected by AWS CloudTrail, you can determine the requests successfully made to Secrets Manager, who made the request, when it was made, and so on. For more about AWS Secrets Manager and support for AWS CloudTrail, see Logging AWS Secrets Manager Events with AWS CloudTrail in the AWS Secrets Manager User Guide. To learn more about CloudTrail, including enabling it and find your log files, see the AWS CloudTrail User Guide.
",
"operations": {
- "CancelRotateSecret": "Disables automatic scheduled rotation and cancels the rotation of a secret if one is currently in progress.
To re-enable scheduled rotation, call RotateSecret with AutomaticallyRotateAfterDays
set to a value greater than 0. This will immediately rotate your secret and then enable the automatic schedule.
If you cancel a rotation that is in progress, it can leave the VersionStage
labels in an unexpected state. Depending on what step of the rotation was in progress, you might need to remove the staging label AWSPENDING
from the partially created version, specified by the VersionId
response value. You should also evaluate the partially rotated new version to see if it should be deleted, which you can do by removing all staging labels from the new version's VersionStage
field.
To successfully start a rotation, the staging label AWSPENDING
must be in one of the following states:
If the staging label AWSPENDING
is attached to a different version than the version with AWSCURRENT
then the attempt to rotate fails.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
-
To configure rotation for a secret or to manually trigger a rotation, use RotateSecret.
-
To get the rotation configuration details for a secret, use DescribeSecret.
-
To list all of the currently available secrets, use ListSecrets.
-
To list all of the versions currently associated with a secret, use ListSecretVersionIds.
",
- "CreateSecret": "Creates a new secret. A secret in Secrets Manager consists of both the protected secret data and the important information needed to manage the secret.
Secrets Manager stores the encrypted secret data in one of a collection of \"versions\" associated with the secret. Each version contains a copy of the encrypted secret data. Each version is associated with one or more \"staging labels\" that identify where the version is in the rotation cycle. The SecretVersionsToStages
field of the secret contains the mapping of staging labels to the active versions of the secret. Versions without a staging label are considered deprecated and are not included in the list.
You provide the secret data to be encrypted by putting text in either the SecretString
parameter or binary data in the SecretBinary
parameter, but not both. If you include SecretString
or SecretBinary
then Secrets Manager also creates an initial secret version and automatically attaches the staging label AWSCURRENT
to the new version.
-
If you call an operation that needs to encrypt or decrypt the SecretString
or SecretBinary
for a secret in the same account as the calling user and that secret doesn't specify a AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the alias aws/secretsmanager
. If this key doesn't already exist in your account then Secrets Manager creates it for you automatically. All users and roles in the same AWS account automatically have access to use the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's AWS-managed CMK, it can result in a one-time significant delay in returning the result.
-
If the secret is in a different AWS account from the credentials calling an API that requires encryption or decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the secret when you create the secret or when you update it by including it in the KMSKeyId
. If you call an API that must encrypt or decrypt SecretString
or SecretBinary
using credentials from a different account then the AWS KMS key policy must grant cross-account access to that other account's user or role for both the kms:GenerateDataKey and kms:Decrypt operations.
Minimum permissions
To run this command, you must have the following permissions:
-
secretsmanager:CreateSecret
-
kms:GenerateDataKey - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account's default AWS managed CMK for Secrets Manager.
-
kms:Decrypt - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account's default AWS managed CMK for Secrets Manager.
-
secretsmanager:TagResource - needed only if you include the Tags
parameter.
Related operations
-
To delete a secret, use DeleteSecret.
-
To modify an existing secret, use UpdateSecret.
-
To create a new version of a secret, use PutSecretValue.
-
To retrieve the encrypted secure string and secure binary values, use GetSecretValue.
-
To retrieve all other details for a secret, use DescribeSecret. This does not include the encrypted secure string and secure binary values.
-
To retrieve the list of secret versions associated with the current secret, use DescribeSecret and examine the SecretVersionsToStages
response value.
",
- "DeleteResourcePolicy": "Deletes the resource-based permission policy that's attached to the secret.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
-
To attach a resource policy to a secret, use PutResourcePolicy.
-
To retrieve the current resource-based policy that's attached to a secret, use GetResourcePolicy.
-
To list all of the currently available secrets, use ListSecrets.
",
+ "CancelRotateSecret": "Disables automatic scheduled rotation and cancels the rotation of a secret if currently in progress.
To re-enable scheduled rotation, call RotateSecret with AutomaticallyRotateAfterDays
set to a value greater than 0. This immediately rotates your secret and then enables the automatic schedule.
If you cancel a rotation while in progress, it can leave the VersionStage
labels in an unexpected state. Depending on the step of the rotation in progress, you might need to remove the staging label AWSPENDING
from the partially created version, specified by the VersionId
response value. You should also evaluate the partially rotated new version to see if it should be deleted, which you can do by removing all staging labels from the new version VersionStage
field.
To successfully start a rotation, the staging label AWSPENDING
must be in one of the following states:
If the staging label AWSPENDING
attached to a different version than the version with AWSCURRENT
then the attempt to rotate fails.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
-
To configure rotation for a secret or to manually trigger a rotation, use RotateSecret.
-
To get the rotation configuration details for a secret, use DescribeSecret.
-
To list all of the currently available secrets, use ListSecrets.
-
To list all of the versions currently associated with a secret, use ListSecretVersionIds.
",
+ "CreateSecret": "Creates a new secret. A secret in Secrets Manager consists of both the protected secret data and the important information needed to manage the secret.
Secrets Manager stores the encrypted secret data in one of a collection of \"versions\" associated with the secret. Each version contains a copy of the encrypted secret data. Each version is associated with one or more \"staging labels\" that identify where the version is in the rotation cycle. The SecretVersionsToStages
field of the secret contains the mapping of staging labels to the active versions of the secret. Versions without a staging label are considered deprecated and not included in the list.
You provide the secret data to be encrypted by putting text in either the SecretString
parameter or binary data in the SecretBinary
parameter, but not both. If you include SecretString
or SecretBinary
then Secrets Manager also creates an initial secret version and automatically attaches the staging label AWSCURRENT
to the new version.
-
If you call an operation to encrypt or decrypt the SecretString
or SecretBinary
for a secret in the same account as the calling user and that secret doesn't specify a AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the alias aws/secretsmanager
. If this key doesn't already exist in your account then Secrets Manager creates it for you automatically. All users and roles in the same AWS account automatically have access to use the default CMK. Note that if an Secrets Manager API call results in AWS creating the account's AWS-managed CMK, it can result in a one-time significant delay in returning the result.
-
If the secret resides in a different AWS account from the credentials calling an API that requires encryption or decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the secret when you create the secret or when you update it by including it in the KMSKeyId
. If you call an API that must encrypt or decrypt SecretString
or SecretBinary
using credentials from a different account then the AWS KMS key policy must grant cross-account access to that other account's user or role for both the kms:GenerateDataKey and kms:Decrypt operations.
Minimum permissions
To run this command, you must have the following permissions:
-
secretsmanager:CreateSecret
-
kms:GenerateDataKey - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account default AWS managed CMK for Secrets Manager.
-
kms:Decrypt - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account default AWS managed CMK for Secrets Manager.
-
secretsmanager:TagResource - needed only if you include the Tags
parameter.
Related operations
-
To delete a secret, use DeleteSecret.
-
To modify an existing secret, use UpdateSecret.
-
To create a new version of a secret, use PutSecretValue.
-
To retrieve the encrypted secure string and secure binary values, use GetSecretValue.
-
To retrieve all other details for a secret, use DescribeSecret. This does not include the encrypted secure string and secure binary values.
-
To retrieve the list of secret versions associated with the current secret, use DescribeSecret and examine the SecretVersionsToStages
response value.
",
+ "DeleteResourcePolicy": "Deletes the resource-based permission policy attached to the secret.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
-
To attach a resource policy to a secret, use PutResourcePolicy.
-
To retrieve the current resource-based policy that's attached to a secret, use GetResourcePolicy.
-
To list all of the currently available secrets, use ListSecrets.
",
"DeleteSecret": "Deletes an entire secret and all of its versions. You can optionally include a recovery window during which you can restore the secret. If you don't specify a recovery window value, the operation defaults to 30 days. Secrets Manager attaches a DeletionDate
stamp to the secret that specifies the end of the recovery window. At the end of the recovery window, Secrets Manager deletes the secret permanently.
At any time before recovery window ends, you can use RestoreSecret to remove the DeletionDate
and cancel the deletion of the secret.
You cannot access the encrypted secret information in any secret that is scheduled for deletion. If you need to access that information, you must cancel the deletion with RestoreSecret and then retrieve the information.
-
There is no explicit operation to delete a version of a secret. Instead, remove all staging labels from the VersionStage
field of a version. That marks the version as deprecated and allows Secrets Manager to delete it as needed. Versions that do not have any staging labels do not show up in ListSecretVersionIds unless you specify IncludeDeprecated
.
-
The permanent secret deletion at the end of the waiting period is performed as a background task with low priority. There is no guarantee of a specific time after the recovery window for the actual delete operation to occur.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
-
To create a secret, use CreateSecret.
-
To cancel deletion of a version of a secret before the recovery window has expired, use RestoreSecret.
",
- "DescribeSecret": "Retrieves the details of a secret. It does not include the encrypted fields. Only those fields that are populated with a value are returned in the response.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
",
+ "DescribeSecret": "Retrieves the details of a secret. It does not include the encrypted fields. Secrets Manager only returns fields populated with a value in the response.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
",
"GetRandomPassword": "Generates a random password of the specified complexity. This operation is intended for use in the Lambda rotation function. Per best practice, we recommend that you specify the maximum length and include every character type that the system you are generating a password for can support.
Minimum permissions
To run this command, you must have the following permissions:
",
- "GetResourcePolicy": "Retrieves the JSON text of the resource-based policy document that's attached to the specified secret. The JSON request string input and response output are shown formatted with white space and line breaks for better readability. Submit your input as a single line JSON string.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
",
+ "GetResourcePolicy": "Retrieves the JSON text of the resource-based policy document attached to the specified secret. The JSON request string input and response output displays formatted code with white space and line breaks for better readability. Submit your input as a single line JSON string.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
",
"GetSecretValue": "Retrieves the contents of the encrypted fields SecretString
or SecretBinary
from the specified version of a secret, whichever contains content.
Minimum permissions
To run this command, you must have the following permissions:
-
secretsmanager:GetSecretValue
-
kms:Decrypt - required only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account's default AWS managed CMK for Secrets Manager.
Related operations
-
To create a new version of the secret with different encrypted information, use PutSecretValue.
-
To retrieve the non-encrypted details for the secret, use DescribeSecret.
",
- "ListSecretVersionIds": "Lists all of the versions attached to the specified secret. The output does not include the SecretString
or SecretBinary
fields. By default, the list includes only versions that have at least one staging label in VersionStage
attached.
Always check the NextToken
response parameter when calling any of the List*
operations. These operations can occasionally return an empty or shorter than expected list of results even when there are more results available. When this happens, the NextToken
response parameter contains a value to pass to the next call to the same API to request the next part of the list.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
",
- "ListSecrets": "Lists all of the secrets that are stored by Secrets Manager in the AWS account. To list the versions currently stored for a specific secret, use ListSecretVersionIds. The encrypted fields SecretString
and SecretBinary
are not included in the output. To get that information, call the GetSecretValue operation.
Always check the NextToken
response parameter when calling any of the List*
operations. These operations can occasionally return an empty or shorter than expected list of results even when there are more results available. When this happens, the NextToken
response parameter contains a value to pass to the next call to the same API to request the next part of the list.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
",
- "PutResourcePolicy": "Attaches the contents of the specified resource-based permission policy to a secret. A resource-based policy is optional. Alternatively, you can use IAM identity-based policies that specify the secret's Amazon Resource Name (ARN) in the policy statement's Resources
element. You can also use a combination of both identity-based and resource-based policies. The affected users and roles receive the permissions that are permitted by all of the relevant policies. For more information, see Using Resource-Based Policies for AWS Secrets Manager. For the complete description of the AWS policy syntax and grammar, see IAM JSON Policy Reference in the IAM User Guide.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
",
- "PutSecretValue": "Stores a new encrypted secret value in the specified secret. To do this, the operation creates a new version and attaches it to the secret. The version can contain a new SecretString
value or a new SecretBinary
value. You can also specify the staging labels that are initially attached to the new version.
The Secrets Manager console uses only the SecretString
field. To add binary data to a secret with the SecretBinary
field you must use the AWS CLI or one of the AWS SDKs.
-
If this operation creates the first version for the secret then Secrets Manager automatically attaches the staging label AWSCURRENT
to the new version.
-
If another version of this secret already exists, then this operation does not automatically move any staging labels other than those that you explicitly specify in the VersionStages
parameter.
-
If this operation moves the staging label AWSCURRENT
from another version to this version (because you included it in the StagingLabels
parameter) then Secrets Manager also automatically moves the staging label AWSPREVIOUS
to the version that AWSCURRENT
was removed from.
-
This operation is idempotent. If a version with a VersionId
with the same value as the ClientRequestToken
parameter already exists and you specify the same secret data, the operation succeeds but does nothing. However, if the secret data is different, then the operation fails because you cannot modify an existing version; you can only create new ones.
-
If you call an operation that needs to encrypt or decrypt the SecretString
or SecretBinary
for a secret in the same account as the calling user and that secret doesn't specify a AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the alias aws/secretsmanager
. If this key doesn't already exist in your account then Secrets Manager creates it for you automatically. All users and roles in the same AWS account automatically have access to use the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's AWS-managed CMK, it can result in a one-time significant delay in returning the result.
-
If the secret is in a different AWS account from the credentials calling an API that requires encryption or decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the secret when you create the secret or when you update it by including it in the KMSKeyId
. If you call an API that must encrypt or decrypt SecretString
or SecretBinary
using credentials from a different account then the AWS KMS key policy must grant cross-account access to that other account's user or role for both the kms:GenerateDataKey and kms:Decrypt operations.
Minimum permissions
To run this command, you must have the following permissions:
-
secretsmanager:PutSecretValue
-
kms:GenerateDataKey - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account's default AWS managed CMK for Secrets Manager.
Related operations
",
+ "ListSecretVersionIds": "Lists all of the versions attached to the specified secret. The output does not include the SecretString
or SecretBinary
fields. By default, the list includes only versions that have at least one staging label in VersionStage
attached.
Always check the NextToken
response parameter when calling any of the List*
operations. These operations can occasionally return an empty or shorter than expected list of results even when there more results become available. When this happens, the NextToken
response parameter contains a value to pass to the next call to the same API to request the next part of the list.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
",
+ "ListSecrets": "Lists all of the secrets that are stored by Secrets Manager in the AWS account. To list the versions currently stored for a specific secret, use ListSecretVersionIds. The encrypted fields SecretString
and SecretBinary
are not included in the output. To get that information, call the GetSecretValue operation.
Always check the NextToken
response parameter when calling any of the List*
operations. These operations can occasionally return an empty or shorter than expected list of results even when there more results become available. When this happens, the NextToken
response parameter contains a value to pass to the next call to the same API to request the next part of the list.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
",
+ "PutResourcePolicy": "Attaches the contents of the specified resource-based permission policy to a secret. A resource-based policy is optional. Alternatively, you can use IAM identity-based policies that specify the secret's Amazon Resource Name (ARN) in the policy statement's Resources
element. You can also use a combination of both identity-based and resource-based policies. The affected users and roles receive the permissions that are permitted by all of the relevant policies. For more information, see Using Resource-Based Policies for AWS Secrets Manager. For the complete description of the AWS policy syntax and grammar, see IAM JSON Policy Reference in the IAM User Guide.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
",
+ "PutSecretValue": "Stores a new encrypted secret value in the specified secret. To do this, the operation creates a new version and attaches it to the secret. The version can contain a new SecretString
value or a new SecretBinary
value. You can also specify the staging labels that are initially attached to the new version.
The Secrets Manager console uses only the SecretString
field. To add binary data to a secret with the SecretBinary
field you must use the AWS CLI or one of the AWS SDKs.
-
If this operation creates the first version for the secret then Secrets Manager automatically attaches the staging label AWSCURRENT
to the new version.
-
If another version of this secret already exists, then this operation does not automatically move any staging labels other than those that you explicitly specify in the VersionStages
parameter.
-
If this operation moves the staging label AWSCURRENT
from another version to this version (because you included it in the StagingLabels
parameter) then Secrets Manager also automatically moves the staging label AWSPREVIOUS
to the version that AWSCURRENT
was removed from.
-
This operation is idempotent. If a version with a VersionId
with the same value as the ClientRequestToken
parameter already exists and you specify the same secret data, the operation succeeds but does nothing. However, if the secret data is different, then the operation fails because you cannot modify an existing version; you can only create new ones.
-
If you call an operation to encrypt or decrypt the SecretString
or SecretBinary
for a secret in the same account as the calling user and that secret doesn't specify a AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the alias aws/secretsmanager
. If this key doesn't already exist in your account then Secrets Manager creates it for you automatically. All users and roles in the same AWS account automatically have access to use the default CMK. Note that if an Secrets Manager API call results in AWS creating the account's AWS-managed CMK, it can result in a one-time significant delay in returning the result.
-
If the secret resides in a different AWS account from the credentials calling an API that requires encryption or decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the secret when you create the secret or when you update it by including it in the KMSKeyId
. If you call an API that must encrypt or decrypt SecretString
or SecretBinary
using credentials from a different account then the AWS KMS key policy must grant cross-account access to that other account's user or role for both the kms:GenerateDataKey and kms:Decrypt operations.
Minimum permissions
To run this command, you must have the following permissions:
-
secretsmanager:PutSecretValue
-
kms:GenerateDataKey - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account's default AWS managed CMK for Secrets Manager.
Related operations
",
"RestoreSecret": "Cancels the scheduled deletion of a secret by removing the DeletedDate
time stamp. This makes the secret accessible to query once again.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
",
- "RotateSecret": "Configures and starts the asynchronous process of rotating this secret. If you include the configuration parameters, the operation sets those values for the secret and then immediately starts a rotation. If you do not include the configuration parameters, the operation starts a rotation with the values already stored in the secret. After the rotation completes, the protected service and its clients all use the new version of the secret.
This required configuration information includes the ARN of an AWS Lambda function and the time between scheduled rotations. The Lambda rotation function creates a new version of the secret and creates or updates the credentials on the protected service to match. After testing the new credentials, the function marks the new secret with the staging label AWSCURRENT
so that your clients all immediately begin to use the new version. For more information about rotating secrets and how to configure a Lambda function to rotate the secrets for your protected service, see Rotating Secrets in AWS Secrets Manager in the AWS Secrets Manager User Guide.
Secrets Manager schedules the next rotation when the previous one is complete. Secrets Manager schedules the date by adding the rotation interval (number of days) to the actual date of the last rotation. The service chooses the hour within that 24-hour date window randomly. The minute is also chosen somewhat randomly, but weighted towards the top of the hour and influenced by a variety of factors that help distribute load.
The rotation function must end with the versions of the secret in one of two states:
-
The AWSPENDING
and AWSCURRENT
staging labels are attached to the same version of the secret, or
-
The AWSPENDING
staging label is not attached to any version of the secret.
If instead the AWSPENDING
staging label is present but is not attached to the same version as AWSCURRENT
then any later invocation of RotateSecret
assumes that a previous rotation request is still in progress and returns an error.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
",
- "TagResource": "Attaches one or more tags, each consisting of a key name and a value, to the specified secret. Tags are part of the secret's overall metadata, and are not associated with any specific version of the secret. This operation only appends tags to the existing list of tags. To remove tags, you must use UntagResource.
The following basic restrictions apply to tags:
-
Maximum number of tags per secret—50
-
Maximum key length—127 Unicode characters in UTF-8
-
Maximum value length—255 Unicode characters in UTF-8
-
Tag keys and values are case sensitive.
-
Do not use the aws:
prefix in your tag names or values because it is reserved for AWS use. You can't edit or delete tag names or values with this prefix. Tags with this prefix do not count against your tags per secret limit.
-
If your tagging schema will be used across multiple services and resources, remember that other services might have restrictions on allowed characters. Generally allowed characters are: letters, spaces, and numbers representable in UTF-8, plus the following special characters: + - = . _ : / @.
If you use tags as part of your security strategy, then adding or removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
-
To remove one or more tags from the collection attached to a secret, use UntagResource.
-
To view the list of tags attached to a secret, use DescribeSecret.
",
+ "RotateSecret": "Configures and starts the asynchronous process of rotating this secret. If you include the configuration parameters, the operation sets those values for the secret and then immediately starts a rotation. If you do not include the configuration parameters, the operation starts a rotation with the values already stored in the secret. After the rotation completes, the protected service and its clients all use the new version of the secret.
This required configuration information includes the ARN of an AWS Lambda function and the time between scheduled rotations. The Lambda rotation function creates a new version of the secret and creates or updates the credentials on the protected service to match. After testing the new credentials, the function marks the new secret with the staging label AWSCURRENT
so that your clients all immediately begin to use the new version. For more information about rotating secrets and how to configure a Lambda function to rotate the secrets for your protected service, see Rotating Secrets in AWS Secrets Manager in the AWS Secrets Manager User Guide.
Secrets Manager schedules the next rotation when the previous one completes. Secrets Manager schedules the date by adding the rotation interval (number of days) to the actual date of the last rotation. The service chooses the hour within that 24-hour date window randomly. The minute is also chosen somewhat randomly, but weighted towards the top of the hour and influenced by a variety of factors that help distribute load.
The rotation function must end with the versions of the secret in one of two states:
-
The AWSPENDING
and AWSCURRENT
staging labels are attached to the same version of the secret, or
-
The AWSPENDING
staging label is not attached to any version of the secret.
If the AWSPENDING
staging label is present but not attached to the same version as AWSCURRENT
then any later invocation of RotateSecret
assumes that a previous rotation request is still in progress and returns an error.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
",
+ "TagResource": "Attaches one or more tags, each consisting of a key name and a value, to the specified secret. Tags are part of the secret's overall metadata, and are not associated with any specific version of the secret. This operation only appends tags to the existing list of tags. To remove tags, you must use UntagResource.
The following basic restrictions apply to tags:
-
Maximum number of tags per secret—50
-
Maximum key length—127 Unicode characters in UTF-8
-
Maximum value length—255 Unicode characters in UTF-8
-
Tag keys and values are case sensitive.
-
Do not use the aws:
prefix in your tag names or values because AWS reserves it for AWS use. You can't edit or delete tag names or values with this prefix. Tags with this prefix do not count against your tags per secret limit.
-
If you use your tagging schema across multiple services and resources, remember other services might have restrictions on allowed characters. Generally allowed characters: letters, spaces, and numbers representable in UTF-8, plus the following special characters: + - = . _ : / @.
If you use tags as part of your security strategy, then adding or removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
-
To remove one or more tags from the collection attached to a secret, use UntagResource.
-
To view the list of tags attached to a secret, use DescribeSecret.
",
"UntagResource": "Removes one or more tags from the specified secret.
This operation is idempotent. If a requested tag is not attached to the secret, no error is returned and the secret metadata is unchanged.
If you use tags as part of your security strategy, then removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
-
To add one or more tags to the collection attached to a secret, use TagResource.
-
To view the list of tags attached to a secret, use DescribeSecret.
",
- "UpdateSecret": "Modifies many of the details of the specified secret. If you include a ClientRequestToken
and either SecretString
or SecretBinary
then it also creates a new version attached to the secret.
To modify the rotation configuration of a secret, use RotateSecret instead.
The Secrets Manager console uses only the SecretString
parameter and therefore limits you to encrypting and storing only a text string. To encrypt and store binary data as part of the version of a secret, you must use either the AWS CLI or one of the AWS SDKs.
-
If a version with a VersionId
with the same value as the ClientRequestToken
parameter already exists, the operation results in an error. You cannot modify an existing version, you can only create a new version.
-
If you include SecretString
or SecretBinary
to create a new secret version, Secrets Manager automatically attaches the staging label AWSCURRENT
to the new version.
-
If you call an operation that needs to encrypt or decrypt the SecretString
or SecretBinary
for a secret in the same account as the calling user and that secret doesn't specify a AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the alias aws/secretsmanager
. If this key doesn't already exist in your account then Secrets Manager creates it for you automatically. All users and roles in the same AWS account automatically have access to use the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's AWS-managed CMK, it can result in a one-time significant delay in returning the result.
-
If the secret is in a different AWS account from the credentials calling an API that requires encryption or decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the secret when you create the secret or when you update it by including it in the KMSKeyId
. If you call an API that must encrypt or decrypt SecretString
or SecretBinary
using credentials from a different account then the AWS KMS key policy must grant cross-account access to that other account's user or role for both the kms:GenerateDataKey and kms:Decrypt operations.
Minimum permissions
To run this command, you must have the following permissions:
-
secretsmanager:UpdateSecret
-
kms:GenerateDataKey - needed only if you use a custom AWS KMS key to encrypt the secret. You do not need this permission to use the account's AWS managed CMK for Secrets Manager.
-
kms:Decrypt - needed only if you use a custom AWS KMS key to encrypt the secret. You do not need this permission to use the account's AWS managed CMK for Secrets Manager.
Related operations
",
- "UpdateSecretVersionStage": "Modifies the staging labels attached to a version of a secret. Staging labels are used to track a version as it progresses through the secret rotation process. You can attach a staging label to only one version of a secret at a time. If a staging label to be added is already attached to another version, then it is moved--removed from the other version first and then attached to this one. For more information about staging labels, see Staging Labels in the AWS Secrets Manager User Guide.
The staging labels that you specify in the VersionStage
parameter are added to the existing list of staging labels--they don't replace it.
You can move the AWSCURRENT
staging label to this version by including it in this call.
Whenever you move AWSCURRENT
, Secrets Manager automatically moves the label AWSPREVIOUS
to the version that AWSCURRENT
was removed from.
If this action results in the last label being removed from a version, then the version is considered to be 'deprecated' and can be deleted by Secrets Manager.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
"
+ "UpdateSecret": "Modifies many of the details of the specified secret. If you include a ClientRequestToken
and either SecretString
or SecretBinary
then it also creates a new version attached to the secret.
To modify the rotation configuration of a secret, use RotateSecret instead.
The Secrets Manager console uses only the SecretString
parameter and therefore limits you to encrypting and storing only a text string. To encrypt and store binary data as part of the version of a secret, you must use either the AWS CLI or one of the AWS SDKs.
-
If a version with a VersionId
with the same value as the ClientRequestToken
parameter already exists, the operation results in an error. You cannot modify an existing version, you can only create a new version.
-
If you include SecretString
or SecretBinary
to create a new secret version, Secrets Manager automatically attaches the staging label AWSCURRENT
to the new version.
-
If you call an operation to encrypt or decrypt the SecretString
or SecretBinary
for a secret in the same account as the calling user and that secret doesn't specify a AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the alias aws/secretsmanager
. If this key doesn't already exist in your account then Secrets Manager creates it for you automatically. All users and roles in the same AWS account automatically have access to use the default CMK. Note that if an Secrets Manager API call results in AWS creating the account's AWS-managed CMK, it can result in a one-time significant delay in returning the result.
-
If the secret resides in a different AWS account from the credentials calling an API that requires encryption or decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the secret when you create the secret or when you update it by including it in the KMSKeyId
. If you call an API that must encrypt or decrypt SecretString
or SecretBinary
using credentials from a different account then the AWS KMS key policy must grant cross-account access to that other account's user or role for both the kms:GenerateDataKey and kms:Decrypt operations.
Minimum permissions
To run this command, you must have the following permissions:
-
secretsmanager:UpdateSecret
-
kms:GenerateDataKey - needed only if you use a custom AWS KMS key to encrypt the secret. You do not need this permission to use the account's AWS managed CMK for Secrets Manager.
-
kms:Decrypt - needed only if you use a custom AWS KMS key to encrypt the secret. You do not need this permission to use the account's AWS managed CMK for Secrets Manager.
Related operations
",
+ "UpdateSecretVersionStage": "Modifies the staging labels attached to a version of a secret. Staging labels are used to track a version as it progresses through the secret rotation process. You can attach a staging label to only one version of a secret at a time. If a staging label to be added is already attached to another version, then it is moved--removed from the other version first and then attached to this one. For more information about staging labels, see Staging Labels in the AWS Secrets Manager User Guide.
The staging labels that you specify in the VersionStage
parameter are added to the existing list of staging labels--they don't replace it.
You can move the AWSCURRENT
staging label to this version by including it in this call.
Whenever you move AWSCURRENT
, Secrets Manager automatically moves the label AWSPREVIOUS
to the version that AWSCURRENT
was removed from.
If this action results in the last label being removed from a version, then the version is considered to be 'deprecated' and can be deleted by Secrets Manager.
Minimum permissions
To run this command, you must have the following permissions:
Related operations
",
+ "ValidateResourcePolicy": "Validates the JSON text of the resource-based policy document attached to the specified secret. The JSON request string input and response output displays formatted code with white space and line breaks for better readability. Submit your input as a single line JSON string. A resource-based policy is optional.
"
},
"shapes": {
"AutomaticallyRotateAfterDaysType": {
@@ -32,7 +33,9 @@
"base": null,
"refs": {
"DeleteSecretRequest$ForceDeleteWithoutRecovery": "(Optional) Specifies that the secret is to be deleted without any recovery window. You can't use both this parameter and the RecoveryWindowInDays
parameter in the same API call.
An asynchronous background process performs the actual deletion, so there can be a short delay before the operation completes. If you write code to delete and then immediately recreate a secret with the same name, ensure that your code includes appropriate back off and retry logic.
Use this parameter with caution. This parameter causes the operation to skip the normal waiting period before the permanent deletion that AWS would normally impose with the RecoveryWindowInDays
parameter. If you delete a secret with the ForceDeleteWithouRecovery
parameter, then you have no opportunity to recover the secret. It is permanently lost.
",
- "ListSecretVersionIdsRequest$IncludeDeprecated": "(Optional) Specifies that you want the results to include versions that do not have any staging labels attached to them. Such versions are considered deprecated and are subject to deletion by Secrets Manager as needed.
"
+ "ListSecretVersionIdsRequest$IncludeDeprecated": "(Optional) Specifies that you want the results to include versions that do not have any staging labels attached to them. Such versions are considered deprecated and are subject to deletion by Secrets Manager as needed.
",
+ "PutResourcePolicyRequest$BlockPublicPolicy": "Makes an optional API call to Zelkova to validate the Resource Policy to prevent broad access to your secret.
",
+ "ValidateResourcePolicyResponse$PolicyValidationPassed": "Returns a message stating that your Reource Policy passed validation.
"
}
},
"CancelRotateSecretRequest": {
@@ -48,9 +51,9 @@
"ClientRequestTokenType": {
"base": null,
"refs": {
- "CreateSecretRequest$ClientRequestToken": "(Optional) If you include SecretString
or SecretBinary
, then an initial version is created as part of the secret, and this parameter specifies a unique identifier for the new version.
If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes it as the value for this parameter in the request. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken
yourself for the new version and include that value in the request.
This value helps ensure idempotency. Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during a rotation. We recommend that you generate a UUID-type value to ensure uniqueness of your versions within the specified secret.
-
If the ClientRequestToken
value isn't already associated with a version of the secret then a new version of the secret is created.
-
If a version with this value already exists and that version's SecretString
and SecretBinary
values are the same as those in the request, then the request is ignored (the operation is idempotent).
-
If a version with this value already exists and that version's SecretString
and SecretBinary
values are different from those in the request then the request fails because you cannot modify an existing version. Instead, use PutSecretValue to create a new version.
This value becomes the VersionId
of the new version.
",
- "PutSecretValueRequest$ClientRequestToken": "(Optional) Specifies a unique identifier for the new version of the secret.
If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that in the request. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken
yourself for new versions and include that value in the request.
This value helps ensure idempotency. Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during the Lambda rotation function's processing. We recommend that you generate a UUID-type value to ensure uniqueness within the specified secret.
-
If the ClientRequestToken
value isn't already associated with a version of the secret then a new version of the secret is created.
-
If a version with this value already exists and that version's SecretString
or SecretBinary
values are the same as those in the request then the request is ignored (the operation is idempotent).
-
If a version with this value already exists and that version's SecretString
and SecretBinary
values are different from those in the request then the request fails because you cannot modify an existing secret version. You can only create new versions to store new secret values.
This value becomes the VersionId
of the new version.
",
- "RotateSecretRequest$ClientRequestToken": "(Optional) Specifies a unique identifier for the new version of the secret that helps ensure idempotency.
If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that in the request for this parameter. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken
yourself for new versions and include that value in the request.
You only need to specify your own value if you are implementing your own retry logic and want to ensure that a given secret is not created twice. We recommend that you generate a UUID-type value to ensure uniqueness within the specified secret.
Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during the function's processing. This value becomes the VersionId
of the new version.
",
+ "CreateSecretRequest$ClientRequestToken": "(Optional) If you include SecretString
or SecretBinary
, then an initial version is created as part of the secret, and this parameter specifies a unique identifier for the new version.
If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes it as the value for this parameter in the request. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken
yourself for the new version and include the value in the request.
This value helps ensure idempotency. Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during a rotation. We recommend that you generate a UUID-type value to ensure uniqueness of your versions within the specified secret.
-
If the ClientRequestToken
value isn't already associated with a version of the secret then a new version of the secret is created.
-
If a version with this value already exists and the version SecretString
and SecretBinary
values are the same as those in the request, then the request is ignored.
-
If a version with this value already exists and that version's SecretString
and SecretBinary
values are different from those in the request then the request fails because you cannot modify an existing version. Instead, use PutSecretValue to create a new version.
This value becomes the VersionId
of the new version.
",
+ "PutSecretValueRequest$ClientRequestToken": "(Optional) Specifies a unique identifier for the new version of the secret.
If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that in the request. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken
yourself for new versions and include that value in the request.
This value helps ensure idempotency. Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during the Lambda rotation function's processing. We recommend that you generate a UUID-type value to ensure uniqueness within the specified secret.
-
If the ClientRequestToken
value isn't already associated with a version of the secret then a new version of the secret is created.
-
If a version with this value already exists and that version's SecretString
or SecretBinary
values are the same as those in the request then the request is ignored (the operation is idempotent).
-
If a version with this value already exists and the version of the SecretString
and SecretBinary
values are different from those in the request then the request fails because you cannot modify an existing secret version. You can only create new versions to store new secret values.
This value becomes the VersionId
of the new version.
",
+ "RotateSecretRequest$ClientRequestToken": "(Optional) Specifies a unique identifier for the new version of the secret that helps ensure idempotency.
If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that in the request for this parameter. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken
yourself for new versions and include that value in the request.
You only need to specify your own value if you implement your own retry logic and want to ensure that a given secret is not created twice. We recommend that you generate a UUID-type value to ensure uniqueness within the specified secret.
Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during the function's processing. This value becomes the VersionId
of the new version.
",
"UpdateSecretRequest$ClientRequestToken": "(Optional) If you want to add a new version to the secret, this parameter specifies a unique identifier for the new version that helps ensure idempotency.
If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that in the request. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken
yourself for new versions and include that value in the request.
You typically only need to interact with this value if you implement your own retry logic and want to ensure that a given secret is not created twice. We recommend that you generate a UUID-type value to ensure uniqueness within the specified secret.
Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during the Lambda rotation function's processing.
-
If the ClientRequestToken
value isn't already associated with a version of the secret then a new version of the secret is created.
-
If a version with this value already exists and that version's SecretString
and SecretBinary
values are the same as those in the request then the request is ignored (the operation is idempotent).
-
If a version with this value already exists and that version's SecretString
and SecretBinary
values are different from the request then an error occurs because you cannot modify an existing secret value.
This value becomes the VersionId
of the new version.
"
}
},
@@ -100,7 +103,7 @@
"base": null,
"refs": {
"DescribeSecretResponse$DeletedDate": "This value exists if the secret is scheduled for deletion. Some time after the specified date and time, Secrets Manager deletes the secret and all of its versions.
If a secret is scheduled for deletion, then its details, including the encrypted secret information, is not accessible. To cancel a scheduled deletion and restore access, use RestoreSecret.
",
- "SecretListEntry$DeletedDate": "The date and time on which this secret was deleted. Not present on active secrets. The secret can be recovered until the number of days in the recovery window has passed, as specified in the RecoveryWindowInDays
parameter of the DeleteSecret operation.
"
+ "SecretListEntry$DeletedDate": "The date and time the deletion of the secret occurred. Not present on active secrets. The secret can be recovered until the number of days in the recovery window has passed, as specified in the RecoveryWindowInDays
parameter of the DeleteSecret operation.
"
}
},
"DeletionDateType": {
@@ -145,8 +148,10 @@
"LimitExceededException$Message": null,
"MalformedPolicyDocumentException$Message": null,
"PreconditionNotMetException$Message": null,
+ "PublicPolicyException$Message": null,
"ResourceExistsException$Message": null,
- "ResourceNotFoundException$Message": null
+ "ResourceNotFoundException$Message": null,
+ "ValidationErrorsEntry$ErrorMessage": "Displays error messages if validation encounters problems during validation of the resource policy.
"
}
},
"ExcludeCharactersType": {
@@ -179,6 +184,36 @@
"GetRandomPasswordRequest$ExcludeUppercase": "Specifies that the generated password should not include uppercase letters. The default if you do not include this switch parameter is that uppercase letters can be included.
"
}
},
+ "Filter": {
+ "base": "Allows you to filter your list of secrets.
",
+ "refs": {
+ "FiltersListType$member": null
+ }
+ },
+ "FilterNameStringType": {
+ "base": null,
+ "refs": {
+ "Filter$Key": "Filters your list of secrets by a specific key.
"
+ }
+ },
+ "FilterValueStringType": {
+ "base": null,
+ "refs": {
+ "FilterValuesStringList$member": null
+ }
+ },
+ "FilterValuesStringList": {
+ "base": null,
+ "refs": {
+ "Filter$Values": "Filters your list of secrets by a specific value.
"
+ }
+ },
+ "FiltersListType": {
+ "base": null,
+ "refs": {
+ "ListSecretsRequest$Filters": "Lists the secret request filters.
"
+ }
+ },
"GetRandomPasswordRequest": {
"base": null,
"refs": {
@@ -238,9 +273,9 @@
"KmsKeyIdType": {
"base": null,
"refs": {
- "CreateSecretRequest$KmsKeyId": "(Optional) Specifies the ARN, Key ID, or alias of the AWS KMS customer master key (CMK) to be used to encrypt the SecretString
or SecretBinary
values in the versions stored in this secret.
You can specify any of the supported ways to identify a AWS KMS key ID. If you need to reference a CMK in a different account, you can use only the key ARN or the alias ARN.
If you don't specify this value, then Secrets Manager defaults to using the AWS account's default CMK (the one named aws/secretsmanager
). If a AWS KMS CMK with that name doesn't yet exist, then Secrets Manager creates it for you automatically the first time it needs to encrypt a version's SecretString
or SecretBinary
fields.
You can use the account's default CMK to encrypt and decrypt only if you call this operation using credentials from the same account that owns the secret. If the secret is in a different account, then you must create a custom CMK and specify the ARN in this field.
",
+ "CreateSecretRequest$KmsKeyId": "(Optional) Specifies the ARN, Key ID, or alias of the AWS KMS customer master key (CMK) to be used to encrypt the SecretString
or SecretBinary
values in the versions stored in this secret.
You can specify any of the supported ways to identify a AWS KMS key ID. If you need to reference a CMK in a different account, you can use only the key ARN or the alias ARN.
If you don't specify this value, then Secrets Manager defaults to using the AWS account's default CMK (the one named aws/secretsmanager
). If a AWS KMS CMK with that name doesn't yet exist, then Secrets Manager creates it for you automatically the first time it needs to encrypt a version's SecretString
or SecretBinary
fields.
You can use the account default CMK to encrypt and decrypt only if you call this operation using credentials from the same account that owns the secret. If the secret resides in a different account, then you must create a custom CMK and specify the ARN in this field.
",
"DescribeSecretResponse$KmsKeyId": "The ARN or alias of the AWS KMS customer master key (CMK) that's used to encrypt the SecretString
or SecretBinary
fields in each version of the secret. If you don't provide a key, then Secrets Manager defaults to encrypting the secret fields with the default AWS KMS CMK (the one named awssecretsmanager
) for this account.
",
- "SecretListEntry$KmsKeyId": "The ARN or alias of the AWS KMS customer master key (CMK) that's used to encrypt the SecretString
and SecretBinary
fields in each version of the secret. If you don't provide a key, then Secrets Manager defaults to encrypting the secret fields with the default KMS CMK (the one named awssecretsmanager
) for this account.
",
+ "SecretListEntry$KmsKeyId": "The ARN or alias of the AWS KMS customer master key (CMK) used to encrypt the SecretString
and SecretBinary
fields in each version of the secret. If you don't provide a key, then Secrets Manager defaults to encrypting the secret fields with the default KMS CMK, the key named awssecretsmanager
, for this account.
",
"UpdateSecretRequest$KmsKeyId": "(Optional) Specifies an updated ARN or alias of the AWS KMS customer master key (CMK) to be used to encrypt the protected text in new versions of this secret.
You can only use the account's default CMK to encrypt and decrypt if you call this operation using credentials from the same account that owns the secret. If the secret is in a different account, then you must create a custom CMK and provide the ARN of that CMK in this field. The user making the call must have permissions to both the secret and the CMK in their respective accounts.
"
}
},
@@ -299,33 +334,35 @@
"MaxResultsType": {
"base": null,
"refs": {
- "ListSecretVersionIdsRequest$MaxResults": "(Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, it defaults to a value that's specific to the operation. If additional items exist beyond the maximum you specify, the NextToken
response element is present and has a value (isn't null). Include that value as the NextToken
request parameter in the next call to the operation to get the next part of the results. Note that Secrets Manager might return fewer results than the maximum even when there are more results available. You should check NextToken
after every operation to ensure that you receive all of the results.
",
- "ListSecretsRequest$MaxResults": "(Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, it defaults to a value that's specific to the operation. If additional items exist beyond the maximum you specify, the NextToken
response element is present and has a value (isn't null). Include that value as the NextToken
request parameter in the next call to the operation to get the next part of the results. Note that Secrets Manager might return fewer results than the maximum even when there are more results available. You should check NextToken
after every operation to ensure that you receive all of the results.
"
+ "ListSecretVersionIdsRequest$MaxResults": "(Optional) Limits the number of results you want to include in the response. If you don't include this parameter, it defaults to a value that's specific to the operation. If additional items exist beyond the maximum you specify, the NextToken
response element is present and has a value (isn't null). Include that value as the NextToken
request parameter in the next call to the operation to get the next part of the results. Note that Secrets Manager might return fewer results than the maximum even when there are more results available. You should check NextToken
after every operation to ensure that you receive all of the results.
",
+ "ListSecretsRequest$MaxResults": "(Optional) Limits the number of results you want to include in the response. If you don't include this parameter, it defaults to a value that's specific to the operation. If additional items exist beyond the maximum you specify, the NextToken
response element is present and has a value (isn't null). Include that value as the NextToken
request parameter in the next call to the operation to get the next part of the results. Note that Secrets Manager might return fewer results than the maximum even when there are more results available. You should check NextToken
after every operation to ensure that you receive all of the results.
"
}
},
"NameType": {
"base": null,
"refs": {
- "CreateSecretRequest$Name": "Specifies the friendly name of the new secret.
The secret name must be ASCII letters, digits, or the following characters : /_+=.@-
Don't end your secret name with a hyphen followed by six characters. If you do so, you risk confusion and unexpected results when searching for a secret by partial ARN. This is because Secrets Manager automatically adds a hyphen and six random characters at the end of the ARN.
",
+ "CreateSecretRequest$Name": "Specifies the friendly name of the new secret.
The secret name must be ASCII letters, digits, or the following characters : /_+=.@-
Do not end your secret name with a hyphen followed by six characters. If you do so, you risk confusion and unexpected results when searching for a secret by partial ARN. Secrets Manager automatically adds a hyphen and six random characters at the end of the ARN.
",
"DeleteResourcePolicyResponse$Name": "The friendly name of the secret that the resource-based policy was deleted for.
",
"GetResourcePolicyResponse$Name": "The friendly name of the secret that the resource-based policy was retrieved for.
",
- "PutResourcePolicyResponse$Name": "The friendly name of the secret that the resource-based policy was retrieved for.
"
+ "PutResourcePolicyResponse$Name": "The friendly name of the secret that the retrieved by the resource-based policy.
",
+ "ValidationErrorsEntry$CheckName": "Checks the name of the policy.
"
}
},
"NextTokenType": {
"base": null,
"refs": {
- "ListSecretVersionIdsRequest$NextToken": "(Optional) Use this parameter in a request if you receive a NextToken
response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken
response to indicate where the output should continue from.
",
- "ListSecretVersionIdsResponse$NextToken": "If present in the response, this value indicates that there's more output available than what's included in the current response. This can occur even when the response includes no values at all, such as when you ask for a filtered view of a very long list. Use this value in the NextToken
request parameter in a subsequent call to the operation to continue processing and get the next part of the output. You should repeat this until the NextToken
response element comes back empty (as null
).
",
- "ListSecretsRequest$NextToken": "(Optional) Use this parameter in a request if you receive a NextToken
response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken
response to indicate where the output should continue from.
",
- "ListSecretsResponse$NextToken": "If present in the response, this value indicates that there's more output available than what's included in the current response. This can occur even when the response includes no values at all, such as when you ask for a filtered view of a very long list. Use this value in the NextToken
request parameter in a subsequent call to the operation to continue processing and get the next part of the output. You should repeat this until the NextToken
response element comes back empty (as null
).
"
+ "ListSecretVersionIdsRequest$NextToken": "(Optional) Use this parameter in a request if you receive a NextToken
response in a previous request indicating there's more output available. In a subsequent call, set it to the value of the previous call NextToken
response to indicate where the output should continue from.
",
+ "ListSecretVersionIdsResponse$NextToken": "If present in the response, this value indicates that there's more output available than included in the current response. This can occur even when the response includes no values at all, such as when you ask for a filtered view of a very long list. Use this value in the NextToken
request parameter in a subsequent call to the operation to continue processing and get the next part of the output. You should repeat this until the NextToken
response element comes back empty (as null
).
",
+ "ListSecretsRequest$NextToken": "(Optional) Use this parameter in a request if you receive a NextToken
response in a previous request indicating there's more output available. In a subsequent call, set it to the value of the previous call NextToken
response to indicate where the output should continue from.
",
+ "ListSecretsResponse$NextToken": "If present in the response, this value indicates that there's more output available than included in the current response. This can occur even when the response includes no values at all, such as when you ask for a filtered view of a very long list. Use this value in the NextToken
request parameter in a subsequent call to the operation to continue processing and get the next part of the output. You should repeat this until the NextToken
response element comes back empty (as null
).
"
}
},
"NonEmptyResourcePolicyType": {
"base": null,
"refs": {
"GetResourcePolicyResponse$ResourcePolicy": "A JSON-formatted string that describes the permissions that are associated with the attached secret. These permissions are combined with any permissions that are associated with the user or role that attempts to access this secret. The combined permissions specify who can access the secret and what actions they can perform. For more information, see Authentication and Access Control for AWS Secrets Manager in the AWS Secrets Manager User Guide.
",
- "PutResourcePolicyRequest$ResourcePolicy": "A JSON-formatted string that's constructed according to the grammar and syntax for an AWS resource-based policy. The policy in the string identifies who can access or manage this secret and its versions. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide.
"
+ "PutResourcePolicyRequest$ResourcePolicy": "A JSON-formatted string that's constructed according to the grammar and syntax for an AWS resource-based policy. The policy in the string identifies who can access or manage this secret and its versions. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide.
",
+ "ValidateResourcePolicyRequest$ResourcePolicy": "Identifies the Resource Policy attached to the secret.
"
}
},
"OwningServiceType": {
@@ -346,6 +383,11 @@
"refs": {
}
},
+ "PublicPolicyException": {
+ "base": "The resource policy did not prevent broad access to the secret.
",
+ "refs": {
+ }
+ },
"PutResourcePolicyRequest": {
"base": null,
"refs": {
@@ -426,7 +468,7 @@
"refs": {
"DescribeSecretResponse$RotationLambdaARN": "The ARN of a Lambda function that's invoked by Secrets Manager to rotate the secret either automatically per the schedule or manually by a call to RotateSecret
.
",
"RotateSecretRequest$RotationLambdaARN": "(Optional) Specifies the ARN of the Lambda function that can rotate the secret.
",
- "SecretListEntry$RotationLambdaARN": "The ARN of an AWS Lambda function that's invoked by Secrets Manager to rotate and expire the secret either automatically per the schedule or manually by a call to RotateSecret.
"
+ "SecretListEntry$RotationLambdaARN": "The ARN of an AWS Lambda function invoked by Secrets Manager to rotate and expire the secret either automatically per the schedule or manually by a call to RotateSecret.
"
}
},
"RotationRulesType": {
@@ -448,13 +490,13 @@
"GetResourcePolicyResponse$ARN": "The ARN of the secret that the resource-based policy was retrieved for.
",
"GetSecretValueResponse$ARN": "The ARN of the secret.
",
"ListSecretVersionIdsResponse$ARN": "The Amazon Resource Name (ARN) for the secret.
Secrets Manager automatically adds several random characters to the name at the end of the ARN when you initially create a secret. This affects only the ARN and not the actual friendly name. This ensures that if you create a new secret with the same name as an old secret that you previously deleted, then users with access to the old secret don't automatically get access to the new secret because the ARNs are different.
",
- "PutResourcePolicyResponse$ARN": "The ARN of the secret that the resource-based policy was retrieved for.
",
+ "PutResourcePolicyResponse$ARN": "The ARN of the secret retrieved by the resource-based policy.
",
"PutSecretValueResponse$ARN": "The Amazon Resource Name (ARN) for the secret for which you just created a version.
",
"RestoreSecretResponse$ARN": "The ARN of the secret that was restored.
",
"RotateSecretResponse$ARN": "The ARN of the secret.
",
"SecretListEntry$ARN": "The Amazon Resource Name (ARN) of the secret.
For more information about ARNs in Secrets Manager, see Policy Resources in the AWS Secrets Manager User Guide.
",
"UpdateSecretResponse$ARN": "The ARN of the secret that was updated.
Secrets Manager automatically adds several random characters to the name at the end of the ARN when you initially create a secret. This affects only the ARN and not the actual friendly name. This ensures that if you create a new secret with the same name as an old secret that you previously deleted, then users with access to the old secret don't automatically get access to the new secret because the ARNs are different.
",
- "UpdateSecretVersionStageResponse$ARN": "The ARN of the secret with the staging label that was modified.
"
+ "UpdateSecretVersionStageResponse$ARN": "The ARN of the secret with the modified staging label.
"
}
},
"SecretBinaryType": {
@@ -469,21 +511,22 @@
"SecretIdType": {
"base": null,
"refs": {
- "CancelRotateSecretRequest$SecretId": "Specifies the secret for which you want to cancel a rotation request. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.
",
- "DeleteResourcePolicyRequest$SecretId": "Specifies the secret that you want to delete the attached resource-based policy for. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.
",
- "DeleteSecretRequest$SecretId": "Specifies the secret that you want to delete. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.
",
- "DescribeSecretRequest$SecretId": "The identifier of the secret whose details you want to retrieve. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.
",
- "GetResourcePolicyRequest$SecretId": "Specifies the secret that you want to retrieve the attached resource-based policy for. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.
",
- "GetSecretValueRequest$SecretId": "Specifies the secret containing the version that you want to retrieve. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.
",
- "ListSecretVersionIdsRequest$SecretId": "The identifier for the secret containing the versions you want to list. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.
",
- "PutResourcePolicyRequest$SecretId": "Specifies the secret that you want to attach the resource-based policy to. You can specify either the ARN or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.
",
- "PutSecretValueRequest$SecretId": "Specifies the secret to which you want to add a new version. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. The secret must already exist.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.
",
- "RestoreSecretRequest$SecretId": "Specifies the secret that you want to restore from a previously scheduled deletion. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.
",
- "RotateSecretRequest$SecretId": "Specifies the secret that you want to rotate. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.
",
- "TagResourceRequest$SecretId": "The identifier for the secret that you want to attach tags to. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.
",
- "UntagResourceRequest$SecretId": "The identifier for the secret that you want to remove tags from. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.
",
- "UpdateSecretRequest$SecretId": "Specifies the secret that you want to modify or to which you want to add a new version. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.
",
- "UpdateSecretVersionStageRequest$SecretId": "Specifies the secret with the version whose list of staging labels you want to modify. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.
"
+ "CancelRotateSecretRequest$SecretId": "Specifies the secret to cancel a rotation request. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names ending with a hyphen followed by six characters.
If you specify an incomplete ARN without the random suffix, and instead provide the 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.
",
+ "DeleteResourcePolicyRequest$SecretId": "Specifies the secret that you want to delete the attached resource-based policy for. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names ending with a hyphen followed by six characters.
If you specify an incomplete ARN without the random suffix, and instead provide the 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.
",
+ "DeleteSecretRequest$SecretId": "Specifies the secret that you want to delete. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names ending with a hyphen followed by six characters.
If you specify an incomplete ARN without the random suffix, and instead provide the 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.
",
+ "DescribeSecretRequest$SecretId": "The identifier of the secret whose details you want to retrieve. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names ending with a hyphen followed by six characters.
If you specify an incomplete ARN without the random suffix, and instead provide the 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.
",
+ "GetResourcePolicyRequest$SecretId": "Specifies the secret that you want to retrieve the attached resource-based policy for. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names ending with a hyphen followed by six characters.
If you specify an incomplete ARN without the random suffix, and instead provide the 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.
",
+ "GetSecretValueRequest$SecretId": "Specifies the secret containing the version that you want to retrieve. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names ending with a hyphen followed by six characters.
If you specify an incomplete ARN without the random suffix, and instead provide the 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.
",
+ "ListSecretVersionIdsRequest$SecretId": "The identifier for the secret containing the versions you want to list. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names ending with a hyphen followed by six characters.
If you specify an incomplete ARN without the random suffix, and instead provide the 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.
",
+ "PutResourcePolicyRequest$SecretId": "Specifies the secret that you want to attach the resource-based policy to. You can specify either the ARN or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names ending with a hyphen followed by six characters.
If you specify an incomplete ARN without the random suffix, and instead provide the 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.
",
+ "PutSecretValueRequest$SecretId": "Specifies the secret to which you want to add a new version. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. The secret must already exist.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names ending with a hyphen followed by six characters.
If you specify an incomplete ARN without the random suffix, and instead provide the 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.
",
+ "RestoreSecretRequest$SecretId": "Specifies the secret that you want to restore from a previously scheduled deletion. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names ending with a hyphen followed by six characters.
If you specify an incomplete ARN without the random suffix, and instead provide the 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.
",
+ "RotateSecretRequest$SecretId": "Specifies the secret that you want to rotate. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names ending with a hyphen followed by six characters.
If you specify an incomplete ARN without the random suffix, and instead provide the 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.
",
+ "TagResourceRequest$SecretId": "The identifier for the secret that you want to attach tags to. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names ending with a hyphen followed by six characters.
If you specify an incomplete ARN without the random suffix, and instead provide the 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.
",
+ "UntagResourceRequest$SecretId": "The identifier for the secret that you want to remove tags from. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names ending with a hyphen followed by six characters.
If you specify an incomplete ARN without the random suffix, and instead provide the 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.
",
+ "UpdateSecretRequest$SecretId": "Specifies the secret that you want to modify or to which you want to add a new version. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names ending with a hyphen followed by six characters.
If you specify an incomplete ARN without the random suffix, and instead provide the 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.
",
+ "UpdateSecretVersionStageRequest$SecretId": "Specifies the secret with the version with the list of staging labels you want to modify. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names ending with a hyphen followed by six characters.
If you specify an incomplete ARN without the random suffix, and instead provide the 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.
",
+ "ValidateResourcePolicyRequest$SecretId": " The identifier for the secret that you want to validate a resource policy. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.
If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names ending with a hyphen followed by six characters.
If you specify an incomplete ARN without the random suffix, and instead provide the 'friendly name', you must not include the random suffix. If you do include the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException or an AccessDeniedException error, depending on your permissions.
"
}
},
"SecretListEntry": {
@@ -512,13 +555,13 @@
"RotateSecretResponse$Name": "The friendly name of the secret.
",
"SecretListEntry$Name": "The friendly name of the secret. You can use forward slashes in the name to represent a path hierarchy. For example, /prod/databases/dbserver1
could represent the secret for a server named dbserver1
in the folder databases
in the folder prod
.
",
"UpdateSecretResponse$Name": "The friendly name of the secret that was updated.
",
- "UpdateSecretVersionStageResponse$Name": "The friendly name of the secret with the staging label that was modified.
"
+ "UpdateSecretVersionStageResponse$Name": "The friendly name of the secret with the modified staging label.
"
}
},
"SecretStringType": {
"base": null,
"refs": {
- "CreateSecretRequest$SecretString": "(Optional) Specifies text data that you want to encrypt and store in this new version of the secret.
Either SecretString
or SecretBinary
must have a value, but not both. They cannot both be empty.
If you create a secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString
parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the Lambda rotation function knows how to parse.
For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example:
[{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}]
If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.
",
+ "CreateSecretRequest$SecretString": "(Optional) Specifies text data that you want to encrypt and store in this new version of the secret.
Either SecretString
or SecretBinary
must have a value, but not both. They cannot both be empty.
If you create a secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString
parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the Lambda rotation function knows how to parse.
For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example:
{\"username\":\"bob\",\"password\":\"abc123xyz456\"}
If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.
",
"GetSecretValueResponse$SecretString": "The decrypted part of the protected secret information that was originally provided as a string.
If you create this secret by using the Secrets Manager console then only the SecretString
parameter contains data. Secrets Manager stores the information as a JSON structure of key/value pairs that the Lambda rotation function knows how to parse.
If you store custom information in the secret by using the CreateSecret, UpdateSecret, or PutSecretValue API operations instead of the Secrets Manager console, or by using the Other secret type in the console, then you must code your Lambda rotation function to parse and interpret those values.
",
"PutSecretValueRequest$SecretString": "(Optional) Specifies text data that you want to encrypt and store in this new version of the secret. Either SecretString
or SecretBinary
must have a value, but not both. They cannot both be empty.
If you create this secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString
parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the default Lambda rotation function knows how to parse.
For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide.
For example:
[{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}]
If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.
",
"UpdateSecretRequest$SecretString": "(Optional) Specifies updated text data that you want to encrypt and store in this new version of the secret. Either SecretBinary
or SecretString
must have a value, but not both. They cannot both be empty.
If you create this secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString
parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the default Lambda rotation function knows how to parse.
For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example:
[{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}]
If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text. You can also 'escape' the double quote character in the embedded JSON text by prefacing each with a backslash. For example, the following string is surrounded by double-quotes. All of the embedded double quotes are escaped:
\"[{\\\"username\\\":\\\"bob\\\"},{\\\"password\\\":\\\"abc123xyz456\\\"}]\"
"
@@ -527,8 +570,8 @@
"SecretVersionIdType": {
"base": null,
"refs": {
- "CancelRotateSecretResponse$VersionId": "The unique identifier of the version of the secret that was created during the rotation. This version might not be complete, and should be evaluated for possible deletion. At the very least, you should remove the VersionStage
value AWSPENDING
to enable this version to be deleted. Failing to clean up a cancelled rotation can block you from successfully starting future rotations.
",
- "CreateSecretResponse$VersionId": "The unique identifier that's associated with the version of the secret you just created.
",
+ "CancelRotateSecretResponse$VersionId": "The unique identifier of the version of the secret created during the rotation. This version might not be complete, and should be evaluated for possible deletion. At the very least, you should remove the VersionStage
value AWSPENDING
to enable this version to be deleted. Failing to clean up a cancelled rotation can block you from successfully starting future rotations.
",
+ "CreateSecretResponse$VersionId": "The unique identifier associated with the version of the secret you just created.
",
"GetSecretValueRequest$VersionId": "Specifies the unique identifier of the version of the secret that you want to retrieve. If you specify this parameter then don't specify VersionStage
. If you don't specify either a VersionStage
or VersionId
then the default is to perform the operation on the version with the VersionStage
value of AWSCURRENT
.
This value is typically a UUID-type value with 32 hexadecimal digits.
",
"GetSecretValueResponse$VersionId": "The unique identifier of this version of the secret.
",
"PutSecretValueResponse$VersionId": "The unique identifier of the version of the secret you just created or updated.
",
@@ -537,7 +580,7 @@
"SecretVersionsToStagesMapType$key": null,
"UpdateSecretResponse$VersionId": "If a new version of the secret was created by this operation, then VersionId
contains the unique identifier of the new version.
",
"UpdateSecretVersionStageRequest$RemoveFromVersionId": "Specifies the secret version ID of the version that the staging label is to be removed from. If the staging label you are trying to attach to one version is already attached to a different version, then you must include this parameter and specify the version that the label is to be removed from. If the label is attached and you either do not specify this parameter, or the version ID does not match, then the operation fails.
",
- "UpdateSecretVersionStageRequest$MoveToVersionId": "(Optional) The secret version ID that you want to add the staging label to. If you want to remove a label from a version, then do not specify this parameter.
If the staging label is already attached to a different version of the secret, then you must also specify the RemoveFromVersionId
parameter.
"
+ "UpdateSecretVersionStageRequest$MoveToVersionId": "(Optional) The secret version ID that you want to add the staging label. If you want to remove a label from a version, then do not specify this parameter.
If the staging label is already attached to a different version of the secret, then you must also specify the RemoveFromVersionId
parameter.
"
}
},
"SecretVersionStageType": {
@@ -574,7 +617,13 @@
"base": null,
"refs": {
"DescribeSecretResponse$VersionIdsToStages": "A list of all of the currently assigned VersionStage
staging labels and the VersionId
that each is attached to. Staging labels are used to keep track of the different versions during the rotation process.
A version that does not have any staging labels attached is considered deprecated and subject to deletion. Such versions are not included in this list.
",
- "SecretListEntry$SecretVersionsToStages": "A list of all of the currently assigned SecretVersionStage
staging labels and the SecretVersionId
that each is attached to. Staging labels are used to keep track of the different versions during the rotation process.
A version that does not have any SecretVersionStage
is considered deprecated and subject to deletion. Such versions are not included in this list.
"
+ "SecretListEntry$SecretVersionsToStages": "A list of all of the currently assigned SecretVersionStage
staging labels and the SecretVersionId
attached to each one. Staging labels are used to keep track of the different versions during the rotation process.
A version that does not have any SecretVersionStage
is considered deprecated and subject to deletion. Such versions are not included in this list.
"
+ }
+ },
+ "SortOrderType": {
+ "base": null,
+ "refs": {
+ "ListSecretsRequest$SortOrder": "Lists secrets in the requested order.
"
}
},
"Tag": {
@@ -599,9 +648,9 @@
"TagListType": {
"base": null,
"refs": {
- "CreateSecretRequest$Tags": "(Optional) Specifies a list of user-defined tags that are attached to the secret. Each tag is a \"Key\" and \"Value\" pair of strings. This operation only appends tags to the existing list of tags. To remove tags, you must use UntagResource.
-
Secrets Manager tag key names are case sensitive. A tag with the key \"ABC\" is a different tag from one with key \"abc\".
-
If you check tags in IAM policy Condition
elements as part of your security strategy, then adding or removing a tag can change permissions. If the successful completion of this operation would result in you losing your permissions for this secret, then this operation is blocked and returns an Access Denied
error.
This parameter requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example:
[{\"Key\":\"CostCenter\",\"Value\":\"12345\"},{\"Key\":\"environment\",\"Value\":\"production\"}]
If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.
The following basic restrictions apply to tags:
-
Maximum number of tags per secret—50
-
Maximum key length—127 Unicode characters in UTF-8
-
Maximum value length—255 Unicode characters in UTF-8
-
Tag keys and values are case sensitive.
-
Do not use the aws:
prefix in your tag names or values because it is reserved for AWS use. You can't edit or delete tag names or values with this prefix. Tags with this prefix do not count against your tags per secret limit.
-
If your tagging schema will be used across multiple services and resources, remember that other services might have restrictions on allowed characters. Generally allowed characters are: letters, spaces, and numbers representable in UTF-8, plus the following special characters: + - = . _ : / @.
",
+ "CreateSecretRequest$Tags": "(Optional) Specifies a list of user-defined tags that are attached to the secret. Each tag is a \"Key\" and \"Value\" pair of strings. This operation only appends tags to the existing list of tags. To remove tags, you must use UntagResource.
-
Secrets Manager tag key names are case sensitive. A tag with the key \"ABC\" is a different tag from one with key \"abc\".
-
If you check tags in IAM policy Condition
elements as part of your security strategy, then adding or removing a tag can change permissions. If the successful completion of this operation would result in you losing your permissions for this secret, then this operation is blocked and returns an Access Denied
error.
This parameter requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example:
[{\"Key\":\"CostCenter\",\"Value\":\"12345\"},{\"Key\":\"environment\",\"Value\":\"production\"}]
If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.
The following basic restrictions apply to tags:
-
Maximum number of tags per secret—50
-
Maximum key length—127 Unicode characters in UTF-8
-
Maximum value length—255 Unicode characters in UTF-8
-
Tag keys and values are case sensitive.
-
Do not use the aws:
prefix in your tag names or values because AWS reserves it for AWS use. You can't edit or delete tag names or values with this prefix. Tags with this prefix do not count against your tags per secret limit.
-
If you use your tagging schema across multiple services and resources, remember other services might have restrictions on allowed characters. Generally allowed characters: letters, spaces, and numbers representable in UTF-8, plus the following special characters: + - = . _ : / @.
",
"DescribeSecretResponse$Tags": "The list of user-defined tags that are associated with the secret. To add tags to a secret, use TagResource. To remove tags, use UntagResource.
",
- "SecretListEntry$Tags": "The list of user-defined tags that are associated with the secret. To add tags to a secret, use TagResource. To remove tags, use UntagResource.
",
+ "SecretListEntry$Tags": "The list of user-defined tags associated with the secret. To add tags to a secret, use TagResource. To remove tags, use UntagResource.
",
"TagResourceRequest$Tags": "The tags to attach to the secret. Each element in the list consists of a Key
and a Value
.
This parameter to the API requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For the AWS CLI, you can also use the syntax: --Tags Key=\"Key1\",Value=\"Value1\",Key=\"Key2\",Value=\"Value2\"[,…]
"
}
},
@@ -613,7 +662,14 @@
"TagValueType": {
"base": null,
"refs": {
- "Tag$Value": "The string value that's associated with the key of the tag.
"
+ "Tag$Value": "The string value associated with the key of the tag.
"
+ }
+ },
+ "TimestampType": {
+ "base": null,
+ "refs": {
+ "DescribeSecretResponse$CreatedDate": "The date that the secret was created.
",
+ "SecretListEntry$CreatedDate": "The date and time when a secret was created.
"
}
},
"UntagResourceRequest": {
@@ -640,6 +696,28 @@
"base": null,
"refs": {
}
+ },
+ "ValidateResourcePolicyRequest": {
+ "base": null,
+ "refs": {
+ }
+ },
+ "ValidateResourcePolicyResponse": {
+ "base": null,
+ "refs": {
+ }
+ },
+ "ValidationErrorsEntry": {
+ "base": "Displays errors that occurred during validation of the resource policy.
",
+ "refs": {
+ "ValidationErrorsType$member": null
+ }
+ },
+ "ValidationErrorsType": {
+ "base": null,
+ "refs": {
+ "ValidateResourcePolicyResponse$ValidationErrors": "Returns an error message if your policy doesn't pass validatation.
"
+ }
}
}
}
diff --git a/models/apis/secretsmanager/2017-10-17/examples-1.json b/models/apis/secretsmanager/2017-10-17/examples-1.json
index 8433121ebe0..d3053f59200 100644
--- a/models/apis/secretsmanager/2017-10-17/examples-1.json
+++ b/models/apis/secretsmanager/2017-10-17/examples-1.json
@@ -566,6 +566,29 @@
"id": "to-move-a-staging-label-from-one-version-of-a-secret-to-another-1524004963841",
"title": "To move a staging label from one version of a secret to another"
}
+ ],
+ "ValidateResourcePolicy": [
+ {
+ "input": {
+ "ResourcePolicy": "{\n\"Version\":\"2012-10-17\",\n\"Statement\":[{\n\"Effect\":\"Allow\",\n\"Principal\":{\n\"AWS\":\"arn:aws:iam::123456789012:root\"\n},\n\"Action\":\"secretsmanager:GetSecretValue\",\n\"Resource\":\"*\"\n}]\n}",
+ "SecretId": "MyTestDatabaseSecret"
+ },
+ "output": {
+ "PolicyValidationPassed": true,
+ "ValidationErrors": [
+
+ ]
+ },
+ "comments": {
+ "input": {
+ },
+ "output": {
+ }
+ },
+ "description": "The following example shows how to validate a resource-based policy to a secret.",
+ "id": "to-validate-the-resource-policy-of-a-secret-1524000138629",
+ "title": "To validate a resource-based policy to a secret"
+ }
]
}
}
diff --git a/models/apis/sns/2010-03-31/docs-2.json b/models/apis/sns/2010-03-31/docs-2.json
index 1c6a8e89895..6602fc3abc8 100644
--- a/models/apis/sns/2010-03-31/docs-2.json
+++ b/models/apis/sns/2010-03-31/docs-2.json
@@ -5,33 +5,33 @@
"AddPermission": "Adds a statement to a topic's access control policy, granting access for the specified AWS accounts to the specified actions.
",
"CheckIfPhoneNumberIsOptedOut": "Accepts a phone number and indicates whether the phone holder has opted out of receiving SMS messages from your account. You cannot send SMS messages to a number that is opted out.
To resume sending messages, you can opt in the number by using the OptInPhoneNumber
action.
",
"ConfirmSubscription": "Verifies an endpoint owner's intent to receive messages by validating the token sent to the endpoint by an earlier Subscribe
action. If the token is valid, the action creates a new subscription and returns its Amazon Resource Name (ARN). This call requires an AWS signature only when the AuthenticateOnUnsubscribe
flag is set to \"true\".
",
- "CreatePlatformApplication": "Creates a platform application object for one of the supported push notification services, such as APNS and FCM, to which devices and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential attributes when using the CreatePlatformApplication
action. The PlatformPrincipal is received from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is \"SSL certificate\". For FCM, PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is \"client id\". The PlatformCredential is also received from the notification service. For WNS, PlatformPrincipal is \"Package Security Identifier\". For MPNS, PlatformPrincipal is \"TLS certificate\". For Baidu, PlatformPrincipal is \"API key\".
For APNS/APNS_SANDBOX, PlatformCredential is \"private key\". For FCM, PlatformCredential is \"API key\". For ADM, PlatformCredential is \"client secret\". For WNS, PlatformCredential is \"secret key\". For MPNS, PlatformCredential is \"private key\". For Baidu, PlatformCredential is \"secret key\". The PlatformApplicationArn that is returned when using CreatePlatformApplication
is then used as an attribute for the CreatePlatformEndpoint
action.
",
- "CreatePlatformEndpoint": "Creates an endpoint for a device and mobile app on one of the supported push notification services, such as FCM and APNS. CreatePlatformEndpoint
requires the PlatformApplicationArn that is returned from CreatePlatformApplication
. The EndpointArn that is returned when using CreatePlatformEndpoint
can then be used by the Publish
action to send a message to a mobile app or by the Subscribe
action for subscription to a topic. The CreatePlatformEndpoint
action is idempotent, so if the requester already owns an endpoint with the same device token and attributes, that endpoint's ARN is returned without creating a new endpoint. For more information, see Using Amazon SNS Mobile Push Notifications.
When using CreatePlatformEndpoint
with Baidu, two attributes must be provided: ChannelId and UserId. The token field must also contain the ChannelId. For more information, see Creating an Amazon SNS Endpoint for Baidu.
",
- "CreateTopic": "Creates a topic to which notifications can be published. Users can create at most 100,000 topics. For more information, see https://aws.amazon.com/sns. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic.
",
+ "CreatePlatformApplication": "Creates a platform application object for one of the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging), to which devices and mobile apps may register. You must specify PlatformPrincipal
and PlatformCredential
attributes when using the CreatePlatformApplication
action.
PlatformPrincipal
and PlatformCredential
are received from the notification service.
-
For ADM
, PlatformPrincipal
is client id
and PlatformCredential
is client secret
.
-
For Baidu
, PlatformPrincipal
is API key
and PlatformCredential
is secret key
.
-
For APNS
and APNS_SANDBOX
, PlatformPrincipal
is SSL certificate
and PlatformCredential
is private key
.
-
For GCM
(Firebase Cloud Messaging), there is no PlatformPrincipal
and the PlatformCredential
is API key
.
-
For MPNS
, PlatformPrincipal
is TLS certificate
and PlatformCredential
is private key
.
-
For WNS
, PlatformPrincipal
is Package Security Identifier
and PlatformCredential
is secret key
.
You can use the returned PlatformApplicationArn
as an attribute for the CreatePlatformEndpoint
action.
",
+ "CreatePlatformEndpoint": "Creates an endpoint for a device and mobile app on one of the supported push notification services, such as GCM (Firebase Cloud Messaging) and APNS. CreatePlatformEndpoint
requires the PlatformApplicationArn
that is returned from CreatePlatformApplication
. You can use the returned EndpointArn
to send a message to a mobile app or by the Subscribe
action for subscription to a topic. The CreatePlatformEndpoint
action is idempotent, so if the requester already owns an endpoint with the same device token and attributes, that endpoint's ARN is returned without creating a new endpoint. For more information, see Using Amazon SNS Mobile Push Notifications.
When using CreatePlatformEndpoint
with Baidu, two attributes must be provided: ChannelId and UserId. The token field must also contain the ChannelId. For more information, see Creating an Amazon SNS Endpoint for Baidu.
",
+ "CreateTopic": "Creates a topic to which notifications can be published. Users can create at most 100,000 standard topics (at most 1,000 FIFO topics). For more information, see https://aws.amazon.com/sns. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic.
",
"DeleteEndpoint": "Deletes the endpoint for a device and mobile app from Amazon SNS. This action is idempotent. For more information, see Using Amazon SNS Mobile Push Notifications.
When you delete an endpoint that is also subscribed to a topic, then you must also unsubscribe the endpoint from the topic.
",
- "DeletePlatformApplication": "Deletes a platform application object for one of the supported push notification services, such as APNS and FCM. For more information, see Using Amazon SNS Mobile Push Notifications.
",
+ "DeletePlatformApplication": "Deletes a platform application object for one of the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging). For more information, see Using Amazon SNS Mobile Push Notifications.
",
"DeleteTopic": "Deletes a topic and all its subscriptions. Deleting a topic might prevent some messages previously sent to the topic from being delivered to subscribers. This action is idempotent, so deleting a topic that does not exist does not result in an error.
",
- "GetEndpointAttributes": "Retrieves the endpoint attributes for a device on one of the supported push notification services, such as FCM and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.
",
- "GetPlatformApplicationAttributes": "Retrieves the attributes of the platform application object for the supported push notification services, such as APNS and FCM. For more information, see Using Amazon SNS Mobile Push Notifications.
",
+ "GetEndpointAttributes": "Retrieves the endpoint attributes for a device on one of the supported push notification services, such as GCM (Firebase Cloud Messaging) and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.
",
+ "GetPlatformApplicationAttributes": "Retrieves the attributes of the platform application object for the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging). For more information, see Using Amazon SNS Mobile Push Notifications.
",
"GetSMSAttributes": "Returns the settings for sending SMS messages from your account.
These settings are set with the SetSMSAttributes
action.
",
"GetSubscriptionAttributes": "Returns all of the properties of a subscription.
",
"GetTopicAttributes": "Returns all of the properties of a topic. Topic properties returned might differ based on the authorization of the user.
",
- "ListEndpointsByPlatformApplication": "Lists the endpoints and endpoint attributes for devices in a supported push notification service, such as FCM and APNS. The results for ListEndpointsByPlatformApplication
are paginated and return a limited list of endpoints, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListEndpointsByPlatformApplication
again using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push Notifications.
This action is throttled at 30 transactions per second (TPS).
",
+ "ListEndpointsByPlatformApplication": "Lists the endpoints and endpoint attributes for devices in a supported push notification service, such as GCM (Firebase Cloud Messaging) and APNS. The results for ListEndpointsByPlatformApplication
are paginated and return a limited list of endpoints, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListEndpointsByPlatformApplication
again using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push Notifications.
This action is throttled at 30 transactions per second (TPS).
",
"ListPhoneNumbersOptedOut": "Returns a list of phone numbers that are opted out, meaning you cannot send SMS messages to them.
The results for ListPhoneNumbersOptedOut
are paginated, and each page returns up to 100 phone numbers. If additional phone numbers are available after the first page of results, then a NextToken
string will be returned. To receive the next page, you call ListPhoneNumbersOptedOut
again using the NextToken
string received from the previous call. When there are no more records to return, NextToken
will be null.
",
- "ListPlatformApplications": "Lists the platform application objects for the supported push notification services, such as APNS and FCM. The results for ListPlatformApplications
are paginated and return a limited list of applications, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListPlatformApplications
using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push Notifications.
This action is throttled at 15 transactions per second (TPS).
",
+ "ListPlatformApplications": "Lists the platform application objects for the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging). The results for ListPlatformApplications
are paginated and return a limited list of applications, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListPlatformApplications
using the NextToken string received from the previous call. When there are no more records to return, NextToken
will be null. For more information, see Using Amazon SNS Mobile Push Notifications.
This action is throttled at 15 transactions per second (TPS).
",
"ListSubscriptions": "Returns a list of the requester's subscriptions. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a NextToken
is also returned. Use the NextToken
parameter in a new ListSubscriptions
call to get further results.
This action is throttled at 30 transactions per second (TPS).
",
"ListSubscriptionsByTopic": "Returns a list of the subscriptions to a specific topic. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a NextToken
is also returned. Use the NextToken
parameter in a new ListSubscriptionsByTopic
call to get further results.
This action is throttled at 30 transactions per second (TPS).
",
"ListTagsForResource": "List all tags added to the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon Simple Notification Service Developer Guide.
",
"ListTopics": "Returns a list of the requester's topics. Each call returns a limited list of topics, up to 100. If there are more topics, a NextToken
is also returned. Use the NextToken
parameter in a new ListTopics
call to get further results.
This action is throttled at 30 transactions per second (TPS).
",
"OptInPhoneNumber": "Use this request to opt in a phone number that is opted out, which enables you to resume sending SMS messages to the number.
You can opt in a phone number only once every 30 days.
",
- "Publish": "Sends a message to an Amazon SNS topic or sends a text message (SMS message) directly to a phone number.
If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is subscribed to the topic. The format of the message depends on the notification protocol for each subscribed endpoint.
When a messageId
is returned, the message has been saved and Amazon SNS will attempt to deliver it shortly.
To use the Publish
action for sending a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, you must specify the EndpointArn for the TargetArn parameter. The EndpointArn is returned when making a call with the CreatePlatformEndpoint
action.
For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices.
",
+ "Publish": "Sends a message to an Amazon SNS topic, a text message (SMS message) directly to a phone number, or a message to a mobile platform endpoint (when you specify the TargetArn
).
If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is subscribed to the topic. The format of the message depends on the notification protocol for each subscribed endpoint.
When a messageId
is returned, the message has been saved and Amazon SNS will attempt to deliver it shortly.
To use the Publish
action for sending a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, you must specify the EndpointArn for the TargetArn parameter. The EndpointArn is returned when making a call with the CreatePlatformEndpoint
action.
For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices.
You can publish messages only to topics and endpoints in the same AWS Region.
",
"RemovePermission": "Removes a statement from a topic's access control policy.
",
- "SetEndpointAttributes": "Sets the attributes for an endpoint for a device on one of the supported push notification services, such as FCM and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.
",
- "SetPlatformApplicationAttributes": "Sets the attributes of the platform application object for the supported push notification services, such as APNS and FCM. For more information, see Using Amazon SNS Mobile Push Notifications. For information on configuring attributes for message delivery status, see Using Amazon SNS Application Attributes for Message Delivery Status.
",
+ "SetEndpointAttributes": "Sets the attributes for an endpoint for a device on one of the supported push notification services, such as GCM (Firebase Cloud Messaging) and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.
",
+ "SetPlatformApplicationAttributes": "Sets the attributes of the platform application object for the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging). For more information, see Using Amazon SNS Mobile Push Notifications. For information on configuring attributes for message delivery status, see Using Amazon SNS Application Attributes for Message Delivery Status.
",
"SetSMSAttributes": "Use this request to set the default settings for sending SMS messages and receiving daily SMS usage reports.
You can override some of these settings for a single message when you use the Publish
action with the MessageAttributes.entry.N
parameter. For more information, see Sending an SMS Message in the Amazon SNS Developer Guide.
",
"SetSubscriptionAttributes": "Allows a subscription owner to set an attribute of the subscription to a new value.
",
"SetTopicAttributes": "Allows a topic owner to set an attribute of the topic to a new value.
",
- "Subscribe": "Prepares to subscribe an endpoint by sending the endpoint a confirmation message. To actually create a subscription, the endpoint owner must call the ConfirmSubscription
action with the token from the confirmation message. Confirmation tokens are valid for three days.
This action is throttled at 100 transactions per second (TPS).
",
+ "Subscribe": "Subscribes an endpoint to an Amazon SNS topic. If the endpoint type is HTTP/S or email, or if the endpoint and the topic are not in the same AWS account, the endpoint owner must the ConfirmSubscription
action to confirm the subscription.
You call the ConfirmSubscription
action with the token from the subscription response. Confirmation tokens are valid for three days.
This action is throttled at 100 transactions per second (TPS).
",
"TagResource": "Add tags to the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon SNS Developer Guide.
When you use topic tags, keep the following guidelines in mind:
-
Adding more than 50 tags to a topic isn't recommended.
-
Tags don't have any semantic meaning. Amazon SNS interprets tags as character strings.
-
Tags are case-sensitive.
-
A new tag with a key identical to that of an existing tag overwrites the existing tag.
-
Tagging actions are limited to 10 TPS per AWS account, per AWS region. If your application requires a higher throughput, file a technical support request.
",
"Unsubscribe": "Deletes a subscription. If the subscription requires authentication for deletion, only the owner of the subscription or the topic's owner can unsubscribe, and an AWS signature is required. If the Unsubscribe
call does not require authentication and the requester is not the subscription owner, a final cancellation message is delivered to the endpoint, so that the endpoint owner can easily resubscribe to the topic if the Unsubscribe
request was unintended.
This action is throttled at 100 transactions per second (TPS).
",
"UntagResource": "Remove tags from the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon SNS Developer Guide.
"
@@ -358,7 +358,7 @@
"GetSMSAttributesResponse$attributes": "The SMS attribute names and their values.
",
"PlatformApplication$Attributes": "Attributes for platform application object.
",
"SetEndpointAttributesInput$Attributes": "A map of the endpoint attributes. Attributes in this map include the following:
-
CustomUserData
– arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB.
-
Enabled
– flag that enables/disables delivery to the endpoint. Amazon SNS will set this to false when a notification service indicates to Amazon SNS that the endpoint is invalid. Users can set it back to true, typically after updating Token.
-
Token
– device token, also referred to as a registration id, for an app and mobile device. This is returned from the notification service when an app and mobile device are registered with the notification service.
",
- "SetPlatformApplicationAttributesInput$Attributes": "A map of the platform application attributes. Attributes in this map include the following:
-
PlatformCredential
– The credential received from the notification service. For APNS/APNS_SANDBOX, PlatformCredential is private key. For FCM, PlatformCredential is \"API key\". For ADM, PlatformCredential is \"client secret\".
-
PlatformPrincipal
– The principal received from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is SSL certificate. For FCM, PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is \"client id\".
-
EventEndpointCreated
– Topic ARN to which EndpointCreated event notifications should be sent.
-
EventEndpointDeleted
– Topic ARN to which EndpointDeleted event notifications should be sent.
-
EventEndpointUpdated
– Topic ARN to which EndpointUpdate event notifications should be sent.
-
EventDeliveryFailure
– Topic ARN to which DeliveryFailure event notifications should be sent upon Direct Publish delivery failure (permanent) to one of the application's endpoints.
-
SuccessFeedbackRoleArn
– IAM role ARN used to give Amazon SNS write access to use CloudWatch Logs on your behalf.
-
FailureFeedbackRoleArn
– IAM role ARN used to give Amazon SNS write access to use CloudWatch Logs on your behalf.
-
SuccessFeedbackSampleRate
– Sample rate percentage (0-100) of successfully delivered messages.
",
+ "SetPlatformApplicationAttributesInput$Attributes": "A map of the platform application attributes. Attributes in this map include the following:
-
PlatformCredential
– The credential received from the notification service. For APNS
and APNS_SANDBOX
, PlatformCredential
is private key
. For GCM
(Firebase Cloud Messaging), PlatformCredential
is API key
. For ADM
, PlatformCredential
is client secret
.
-
PlatformPrincipal
– The principal received from the notification service. For APNS
and APNS_SANDBOX
, PlatformPrincipal
is SSL certificate
. For GCM
(Firebase Cloud Messaging), there is no PlatformPrincipal
. For ADM
, PlatformPrincipal
is client id
.
-
EventEndpointCreated
– Topic ARN to which EndpointCreated
event notifications are sent.
-
EventEndpointDeleted
– Topic ARN to which EndpointDeleted
event notifications are sent.
-
EventEndpointUpdated
– Topic ARN to which EndpointUpdate
event notifications are sent.
-
EventDeliveryFailure
– Topic ARN to which DeliveryFailure
event notifications are sent upon Direct Publish delivery failure (permanent) to one of the application's endpoints.
-
SuccessFeedbackRoleArn
– IAM role ARN used to give Amazon SNS write access to use CloudWatch Logs on your behalf.
-
FailureFeedbackRoleArn
– IAM role ARN used to give Amazon SNS write access to use CloudWatch Logs on your behalf.
-
SuccessFeedbackSampleRate
– Sample rate percentage (0-100) of successfully delivered messages.
",
"SetSMSAttributesInput$attributes": "The default settings for sending SMS messages from your account. You can set values for the following attribute names:
MonthlySpendLimit
– The maximum amount in USD that you are willing to spend each month to send SMS messages. When Amazon SNS determines that sending an SMS message would incur a cost that exceeds this limit, it stops sending SMS messages within minutes.
Amazon SNS stops sending SMS messages within minutes of the limit being crossed. During that interval, if you continue to send SMS messages, you will incur costs that exceed your limit.
By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to raise the limit, submit an SNS Limit Increase case. For New limit value, enter your desired monthly spend limit. In the Use Case Description field, explain that you are requesting an SMS monthly spend limit increase.
DeliveryStatusIAMRole
– The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. For each SMS message that you send, Amazon SNS writes a log that includes the message price, the success or failure status, the reason for failure (if the message failed), the message dwell time, and other information.
DeliveryStatusSuccessSamplingRate
– The percentage of successful SMS deliveries for which Amazon SNS will write logs in CloudWatch Logs. The value can be an integer from 0 - 100. For example, to write logs only for failed deliveries, set this value to 0
. To write logs for 10% of your successful deliveries, set it to 10
.
DefaultSenderID
– A string, such as your business brand, that is displayed as the sender on the receiving device. Support for sender IDs varies by country. The sender ID can be 1 - 11 alphanumeric characters, and it must contain at least one letter.
DefaultSMSType
– The type of SMS message that you will send by default. You can assign the following values:
-
Promotional
– (Default) Noncritical messages, such as marketing messages. Amazon SNS optimizes the message delivery to incur the lowest cost.
-
Transactional
– Critical messages that support customer transactions, such as one-time passcodes for multi-factor authentication. Amazon SNS optimizes the message delivery to achieve the highest reliability.
UsageReportS3Bucket
– The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS. Each day, Amazon SNS will deliver a usage report as a CSV file to the bucket. The report includes the following information for each SMS message that was successfully delivered by your account:
To receive the report, the bucket must have a policy that allows the Amazon SNS service principle to perform the s3:PutObject
and s3:GetBucketLocation
actions.
For an example bucket policy and usage report, see Monitoring SMS Activity in the Amazon SNS Developer Guide.
"
}
},
@@ -474,10 +474,10 @@
"refs": {
"CreateEndpointResponse$EndpointArn": "EndpointArn returned from CreateEndpoint action.
",
"CreatePlatformApplicationInput$Name": "Application names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, hyphens, and periods, and must be between 1 and 256 characters long.
",
- "CreatePlatformApplicationInput$Platform": "The following platforms are supported: ADM (Amazon Device Messaging), APNS (Apple Push Notification Service), APNS_SANDBOX, and FCM (Firebase Cloud Messaging).
",
+ "CreatePlatformApplicationInput$Platform": "The following platforms are supported: ADM (Amazon Device Messaging), APNS (Apple Push Notification Service), APNS_SANDBOX, and GCM (Firebase Cloud Messaging).
",
"CreatePlatformApplicationResponse$PlatformApplicationArn": "PlatformApplicationArn is returned.
",
"CreatePlatformEndpointInput$PlatformApplicationArn": "PlatformApplicationArn returned from CreatePlatformApplication is used to create a an endpoint.
",
- "CreatePlatformEndpointInput$Token": "Unique identifier created by the notification service for an app on a device. The specific name for Token will vary, depending on which notification service is being used. For example, when using APNS as the notification service, you need the device token. Alternatively, when using FCM or ADM, the device token equivalent is called the registration ID.
",
+ "CreatePlatformEndpointInput$Token": "Unique identifier created by the notification service for an app on a device. The specific name for Token will vary, depending on which notification service is being used. For example, when using APNS as the notification service, you need the device token. Alternatively, when using GCM (Firebase Cloud Messaging) or ADM, the device token equivalent is called the registration ID.
",
"CreatePlatformEndpointInput$CustomUserData": "Arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB.
",
"DeleteEndpointInput$EndpointArn": "EndpointArn of endpoint to delete.
",
"DeletePlatformApplicationInput$PlatformApplicationArn": "PlatformApplicationArn of platform application object to delete.
",
@@ -521,7 +521,7 @@
"SubscriptionAttributesMap": {
"base": null,
"refs": {
- "GetSubscriptionAttributesResponse$Attributes": "A map of the subscription's attributes. Attributes in this map include the following:
-
ConfirmationWasAuthenticated
– true
if the subscription confirmation request was authenticated.
-
DeliveryPolicy
– The JSON serialization of the subscription's delivery policy.
-
EffectiveDeliveryPolicy
– The JSON serialization of the effective delivery policy that takes into account the topic delivery policy and account system defaults.
-
FilterPolicy
– The filter policy JSON that is assigned to the subscription.
-
Owner
– The AWS account ID of the subscription's owner.
-
PendingConfirmation
– true
if the subscription hasn't been confirmed. To confirm a pending subscription, call the ConfirmSubscription
action with a confirmation token.
-
RawMessageDelivery
– true
if raw message delivery is enabled for the subscription. Raw messages are free of JSON formatting and can be sent to HTTP/S and Amazon SQS endpoints.
-
RedrivePolicy
– When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.
-
SubscriptionArn
– The subscription's ARN.
-
TopicArn
– The topic ARN that the subscription is associated with.
",
+ "GetSubscriptionAttributesResponse$Attributes": "A map of the subscription's attributes. Attributes in this map include the following:
-
ConfirmationWasAuthenticated
– true
if the subscription confirmation request was authenticated.
-
DeliveryPolicy
– The JSON serialization of the subscription's delivery policy.
-
EffectiveDeliveryPolicy
– The JSON serialization of the effective delivery policy that takes into account the topic delivery policy and account system defaults.
-
FilterPolicy
– The filter policy JSON that is assigned to the subscription. For more information, see Amazon SNS Message Filtering in the Amazon SNS Developer Guide.
-
Owner
– The AWS account ID of the subscription's owner.
-
PendingConfirmation
– true
if the subscription hasn't been confirmed. To confirm a pending subscription, call the ConfirmSubscription
action with a confirmation token.
-
RawMessageDelivery
– true
if raw message delivery is enabled for the subscription. Raw messages are free of JSON formatting and can be sent to HTTP/S and Amazon SQS endpoints.
-
RedrivePolicy
– When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.
-
SubscriptionArn
– The subscription's ARN.
-
TopicArn
– The topic ARN that the subscription is associated with.
",
"SubscribeInput$Attributes": "A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes
action uses:
-
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
-
FilterPolicy
– The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic.
-
RawMessageDelivery
– When set to true
, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata.
-
RedrivePolicy
– When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.
"
}
},
@@ -604,8 +604,8 @@
"TopicAttributesMap": {
"base": null,
"refs": {
- "CreateTopicInput$Attributes": "A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that the CreateTopic
action uses:
-
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
-
DisplayName
– The display name to use for a topic with SMS subscriptions.
-
Policy
– The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.
The following attribute applies only to server-side-encryption:
-
KmsMasterKeyId
- The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.
",
- "GetTopicAttributesResponse$Attributes": "A map of the topic's attributes. Attributes in this map include the following:
-
DeliveryPolicy
– The JSON serialization of the topic's delivery policy.
-
DisplayName
– The human-readable name used in the From
field for notifications to email
and email-json
endpoints.
-
Owner
– The AWS account ID of the topic's owner.
-
Policy
– The JSON serialization of the topic's access control policy.
-
SubscriptionsConfirmed
– The number of confirmed subscriptions for the topic.
-
SubscriptionsDeleted
– The number of deleted subscriptions for the topic.
-
SubscriptionsPending
– The number of subscriptions pending confirmation for the topic.
-
TopicArn
– The topic's ARN.
-
EffectiveDeliveryPolicy
– Yhe JSON serialization of the effective delivery policy, taking system defaults into account.
The following attribute applies only to server-side-encryption:
-
KmsMasterKeyId
- The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.
"
+ "CreateTopicInput$Attributes": "A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that the CreateTopic
action uses:
-
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
-
DisplayName
– The display name to use for a topic with SMS subscriptions.
-
FifoTopic
– Set to true to create a FIFO topic.
-
Policy
– The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.
The following attribute applies only to server-side-encryption:
-
KmsMasterKeyId
– The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.
The following attribute applies only to FIFO topics:
-
ContentBasedDeduplication
– Enables content-based deduplication. Amazon SNS uses a SHA-256 hash to generate the MessageDeduplicationId
using the body of the message (but not the attributes of the message).
-
When ContentBasedDeduplication
is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.
-
If the queue has ContentBasedDeduplication
set, your MessageDeduplicationId
overrides the generated one.
",
+ "GetTopicAttributesResponse$Attributes": "A map of the topic's attributes. Attributes in this map include the following:
-
DeliveryPolicy
– The JSON serialization of the topic's delivery policy.
-
DisplayName
– The human-readable name used in the From
field for notifications to email
and email-json
endpoints.
-
Owner
– The AWS account ID of the topic's owner.
-
Policy
– The JSON serialization of the topic's access control policy.
-
SubscriptionsConfirmed
– The number of confirmed subscriptions for the topic.
-
SubscriptionsDeleted
– The number of deleted subscriptions for the topic.
-
SubscriptionsPending
– The number of subscriptions pending confirmation for the topic.
-
TopicArn
– The topic's ARN.
-
EffectiveDeliveryPolicy
– The JSON serialization of the effective delivery policy, taking system defaults into account.
The following attribute applies only to server-side-encryption:
-
KmsMasterKeyId
- The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.
"
}
},
"TopicLimitExceededException": {
@@ -650,7 +650,7 @@
"base": null,
"refs": {
"SetSubscriptionAttributesInput$AttributeName": "A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes
action uses:
-
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
-
FilterPolicy
– The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic.
-
RawMessageDelivery
– When set to true
, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata.
-
RedrivePolicy
– When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.
",
- "SetTopicAttributesInput$AttributeName": "A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes
action uses:
-
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
-
DisplayName
– The display name to use for a topic with SMS subscriptions.
-
Policy
– The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.
The following attribute applies only to server-side-encryption:
-
KmsMasterKeyId
- The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.
",
+ "SetTopicAttributesInput$AttributeName": "A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes
action uses:
-
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
-
DisplayName
– The display name to use for a topic with SMS subscriptions.
-
Policy
– The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.
The following attribute applies only to server-side-encryption:
-
KmsMasterKeyId
– The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.
The following attribute applies only to FIFO topics:
-
ContentBasedDeduplication
– Enables content-based deduplication. Amazon SNS uses a SHA-256 hash to generate the MessageDeduplicationId
using the body of the message (but not the attributes of the message).
-
When ContentBasedDeduplication
is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.
-
If the queue has ContentBasedDeduplication
set, your MessageDeduplicationId
overrides the generated one.
",
"SubscriptionAttributesMap$key": null,
"TopicAttributesMap$key": null
}
@@ -674,7 +674,7 @@
"base": null,
"refs": {
"CheckIfPhoneNumberIsOptedOutResponse$isOptedOut": "Indicates whether the phone number is opted out:
-
true
– The phone number is opted out, meaning you cannot publish SMS messages to it.
-
false
– The phone number is opted in, meaning you can publish SMS messages to it.
",
- "SubscribeInput$ReturnSubscriptionArn": "Sets whether the response from the Subscribe
request includes the subscription ARN, even if the subscription is not yet confirmed.
-
If you have the subscription ARN returned, the response includes the ARN in all cases, even if the subscription is not yet confirmed.
-
If you don't have the subscription ARN returned, in addition to the ARN for confirmed subscriptions, the response also includes the pending subscription
ARN value for subscriptions that aren't yet confirmed. A subscription becomes confirmed when the subscriber calls the ConfirmSubscription
action with a confirmation token.
If you set this parameter to true
, .
The default value is false
.
"
+ "SubscribeInput$ReturnSubscriptionArn": "Sets whether the response from the Subscribe
request includes the subscription ARN, even if the subscription is not yet confirmed.
-
If you set this parameter to true
, the response includes the ARN in all cases, even if the subscription is not yet confirmed. In addition to the ARN for confirmed subscriptions, the response also includes the pending subscription
ARN value for subscriptions that aren't yet confirmed. A subscription becomes confirmed when the subscriber calls the ConfirmSubscription
action with a confirmation token.
The default value is false
.
"
}
},
"delegate": {
@@ -686,7 +686,7 @@
"endpoint": {
"base": null,
"refs": {
- "SubscribeInput$Endpoint": "The endpoint that you want to receive notifications. Endpoints vary by protocol:
-
For the http
protocol, the endpoint is an URL beginning with http://
-
For the https
protocol, the endpoint is a URL beginning with https://
-
For the email
protocol, the endpoint is an email address
-
For the email-json
protocol, the endpoint is an email address
-
For the sms
protocol, the endpoint is a phone number of an SMS-enabled device
-
For the sqs
protocol, the endpoint is the ARN of an Amazon SQS queue
-
For the application
protocol, the endpoint is the EndpointArn of a mobile app and device.
-
For the lambda
protocol, the endpoint is the ARN of an Amazon Lambda function.
",
+ "SubscribeInput$Endpoint": "The endpoint that you want to receive notifications. Endpoints vary by protocol:
-
For the http
protocol, the (public) endpoint is a URL beginning with http://
-
For the https
protocol, the (public) endpoint is a URL beginning with https://
-
For the email
protocol, the endpoint is an email address
-
For the email-json
protocol, the endpoint is an email address
-
For the sms
protocol, the endpoint is a phone number of an SMS-enabled device
-
For the sqs
protocol, the endpoint is the ARN of an Amazon SQS queue
-
For the application
protocol, the endpoint is the EndpointArn of a mobile app and device.
-
For the lambda
protocol, the endpoint is the ARN of an Amazon Lambda function.
",
"Subscription$Endpoint": "The subscription's endpoint (format depends on the protocol).
"
}
},
@@ -806,7 +806,7 @@
"topicName": {
"base": null,
"refs": {
- "CreateTopicInput$Name": "The name of the topic you want to create.
Constraints: Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long.
"
+ "CreateTopicInput$Name": "The name of the topic you want to create.
Constraints: Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long.
For a FIFO (first-in-first-out) topic, the name must end with the .fifo
suffix.
"
}
}
}
diff --git a/models/apis/wafv2/2019-07-29/api-2.json b/models/apis/wafv2/2019-07-29/api-2.json
index c921cf5eeb6..aee7813e573 100755
--- a/models/apis/wafv2/2019-07-29/api-2.json
+++ b/models/apis/wafv2/2019-07-29/api-2.json
@@ -547,7 +547,8 @@
{"shape":"WAFOptimisticLockException"},
{"shape":"WAFServiceLinkedRoleErrorException"},
{"shape":"WAFInvalidParameterException"},
- {"shape":"WAFInvalidOperationException"}
+ {"shape":"WAFInvalidOperationException"},
+ {"shape":"WAFLimitsExceededException"}
]
},
"PutPermissionPolicy":{
@@ -1323,6 +1324,13 @@
"type":"list",
"member":{"shape":"ExcludedRule"}
},
+ "FallbackBehavior":{
+ "type":"string",
+ "enum":[
+ "MATCH",
+ "NO_MATCH"
+ ]
+ },
"FieldToMatch":{
"type":"structure",
"members":{
@@ -1369,10 +1377,36 @@
"RuleGroupReferenceStatement":{"shape":"RuleGroupReferenceStatement"}
}
},
+ "ForwardedIPConfig":{
+ "type":"structure",
+ "required":[
+ "HeaderName",
+ "FallbackBehavior"
+ ],
+ "members":{
+ "HeaderName":{"shape":"ForwardedIPHeaderName"},
+ "FallbackBehavior":{"shape":"FallbackBehavior"}
+ }
+ },
+ "ForwardedIPHeaderName":{
+ "type":"string",
+ "max":255,
+ "min":1,
+ "pattern":"^[a-zA-Z0-9-]+$"
+ },
+ "ForwardedIPPosition":{
+ "type":"string",
+ "enum":[
+ "FIRST",
+ "LAST",
+ "ANY"
+ ]
+ },
"GeoMatchStatement":{
"type":"structure",
"members":{
- "CountryCodes":{"shape":"CountryCodes"}
+ "CountryCodes":{"shape":"CountryCodes"},
+ "ForwardedIPConfig":{"shape":"ForwardedIPConfig"}
}
},
"GetIPSetRequest":{
@@ -1602,11 +1636,25 @@
"Addresses":{"shape":"IPAddresses"}
}
},
+ "IPSetForwardedIPConfig":{
+ "type":"structure",
+ "required":[
+ "HeaderName",
+ "FallbackBehavior",
+ "Position"
+ ],
+ "members":{
+ "HeaderName":{"shape":"ForwardedIPHeaderName"},
+ "FallbackBehavior":{"shape":"FallbackBehavior"},
+ "Position":{"shape":"ForwardedIPPosition"}
+ }
+ },
"IPSetReferenceStatement":{
"type":"structure",
"required":["ARN"],
"members":{
- "ARN":{"shape":"ResourceArn"}
+ "ARN":{"shape":"ResourceArn"},
+ "IPSetForwardedIPConfig":{"shape":"IPSetForwardedIPConfig"}
}
},
"IPSetSummaries":{
@@ -1894,7 +1942,12 @@
"TAGS",
"TAG_KEYS",
"METRIC_NAME",
- "FIREWALL_MANAGER_STATEMENT"
+ "FIREWALL_MANAGER_STATEMENT",
+ "FALLBACK_BEHAVIOR",
+ "POSITION",
+ "FORWARDED_IP_CONFIG",
+ "IP_SET_FORWARDED_IP_CONFIG",
+ "HEADER_NAME"
]
},
"ParameterExceptionParameter":{
@@ -1959,12 +2012,16 @@
"members":{
"Limit":{"shape":"RateLimit"},
"AggregateKeyType":{"shape":"RateBasedStatementAggregateKeyType"},
- "ScopeDownStatement":{"shape":"Statement"}
+ "ScopeDownStatement":{"shape":"Statement"},
+ "ForwardedIPConfig":{"shape":"ForwardedIPConfig"}
}
},
"RateBasedStatementAggregateKeyType":{
"type":"string",
- "enum":["IP"]
+ "enum":[
+ "IP",
+ "FORWARDED_IP"
+ ]
},
"RateBasedStatementManagedKeysIPSet":{
"type":"structure",
diff --git a/models/apis/wafv2/2019-07-29/docs-2.json b/models/apis/wafv2/2019-07-29/docs-2.json
index 87d7c1aa604..ab09e950b32 100755
--- a/models/apis/wafv2/2019-07-29/docs-2.json
+++ b/models/apis/wafv2/2019-07-29/docs-2.json
@@ -32,11 +32,11 @@
"ListRegexPatternSets": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Retrieves an array of RegexPatternSetSummary objects for the regex pattern sets that you manage.
",
"ListResourcesForWebACL": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Retrieves an array of the Amazon Resource Names (ARNs) for the regional resources that are associated with the specified web ACL. If you want the list of AWS CloudFront resources, use the AWS CloudFront call ListDistributionsByWebACLId
.
",
"ListRuleGroups": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Retrieves an array of RuleGroupSummary objects for the rule groups that you manage.
",
- "ListTagsForResource": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Retrieves the TagInfoForResource for the specified resource.
",
+ "ListTagsForResource": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Retrieves the TagInfoForResource for the specified resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for a resource.
You can tag the AWS resources that you manage through AWS WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the AWS WAF console.
",
"ListWebACLs": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Retrieves an array of WebACLSummary objects for the web ACLs that you manage.
",
- "PutLoggingConfiguration": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Enables the specified LoggingConfiguration, to start logging from a web ACL, according to the configuration provided.
You can access information about all traffic that AWS WAF inspects using the following steps:
-
Create an Amazon Kinesis Data Firehose.
Create the data firehose with a PUT source and in the Region that you are operating. If you are capturing logs for Amazon CloudFront, always create the firehose in US East (N. Virginia).
Do not create the data firehose using a Kinesis stream
as your source.
-
Associate that firehose to your web ACL using a PutLoggingConfiguration
request.
When you successfully enable logging using a PutLoggingConfiguration
request, AWS WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose. For more information, see Logging Web ACL Traffic Information in the AWS WAF Developer Guide.
",
+ "PutLoggingConfiguration": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Enables the specified LoggingConfiguration, to start logging from a web ACL, according to the configuration provided.
You can access information about all traffic that AWS WAF inspects using the following steps:
-
Create an Amazon Kinesis Data Firehose.
Create the data firehose with a PUT source and in the Region that you are operating. If you are capturing logs for Amazon CloudFront, always create the firehose in US East (N. Virginia).
Give the data firehose a name that starts with the prefix aws-waf-logs-
. For example, aws-waf-logs-us-east-2-analytics
.
Do not create the data firehose using a Kinesis stream
as your source.
-
Associate that firehose to your web ACL using a PutLoggingConfiguration
request.
When you successfully enable logging using a PutLoggingConfiguration
request, AWS WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose. For more information, see Logging Web ACL Traffic Information in the AWS WAF Developer Guide.
",
"PutPermissionPolicy": "Attaches an IAM policy to the specified resource. Use this to share a rule group across accounts.
You must be the owner of the rule group to perform this operation.
This action is subject to the following restrictions:
-
You can attach only one policy with each PutPermissionPolicy
request.
-
The ARN in the request must be a valid WAF RuleGroup ARN and the rule group must exist in the same region.
-
The user making the request must be the owner of the rule group.
",
- "TagResource": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Associates tags with the specified AWS resource. Tags are key:value pairs that you can associate with AWS resources. For example, the tag key might be \"customer\" and the tag value might be \"companyA.\" You can specify one or more tags to add to each container. You can add up to 50 tags to each AWS resource.
",
+ "TagResource": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Associates tags with the specified AWS resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for a resource.
You can tag the AWS resources that you manage through AWS WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the AWS WAF console.
",
"UntagResource": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Disassociates tags from an AWS resource. Tags are key:value pairs that you can associate with AWS resources. For example, the tag key might be \"customer\" and the tag value might be \"companyA.\" You can specify one or more tags to add to each container. You can add up to 50 tags to each AWS resource.
",
"UpdateIPSet": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Updates the specified IPSet.
",
"UpdateRegexPatternSet": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Updates the specified RegexPatternSet.
",
@@ -426,6 +426,13 @@
"RuleGroupReferenceStatement$ExcludedRules": "The names of rules that are in the referenced rule group, but that you want AWS WAF to exclude from processing for this rule statement.
"
}
},
+ "FallbackBehavior": {
+ "base": null,
+ "refs": {
+ "ForwardedIPConfig$FallbackBehavior": "The match status to assign to the web request if the request doesn't have a valid IP address in the specified position.
If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.
You can specify the following fallback behaviors:
",
+ "IPSetForwardedIPConfig$FallbackBehavior": "The match status to assign to the web request if the request doesn't have a valid IP address in the specified position.
If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.
You can specify the following fallback behaviors:
"
+ }
+ },
"FieldToMatch": {
"base": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
The part of a web request that you want AWS WAF to inspect. Include the single FieldToMatch
type that you want to inspect, with additional specifications as needed, according to the type. You specify a single request component in FieldToMatch
for each rule statement that requires it. To inspect more than one component of a web request, create a separate rule statement for each component.
",
"refs": {
@@ -463,6 +470,26 @@
"FirewallManagerRuleGroup$FirewallManagerStatement": "The processing guidance for an AWS Firewall Manager rule. This is like a regular rule Statement, but it can only contain a rule group reference.
"
}
},
+ "ForwardedIPConfig": {
+ "base": "The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.
This configuration is used for GeoMatchStatement and RateBasedStatement. For IPSetReferenceStatement, use IPSetForwardedIPConfig instead.
AWS WAF only evaluates the first IP address found in the specified HTTP header.
",
+ "refs": {
+ "GeoMatchStatement$ForwardedIPConfig": "The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.
",
+ "RateBasedStatement$ForwardedIPConfig": "The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.
This is required if AggregateKeyType
is set to FORWARDED_IP
.
"
+ }
+ },
+ "ForwardedIPHeaderName": {
+ "base": null,
+ "refs": {
+ "ForwardedIPConfig$HeaderName": "The name of the HTTP header to use for the IP address. For example, to use the X-Forwarded-For (XFF) header, set this to X-Forwarded-For
.
If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.
",
+ "IPSetForwardedIPConfig$HeaderName": "The name of the HTTP header to use for the IP address. For example, to use the X-Forwarded-For (XFF) header, set this to X-Forwarded-For
.
If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.
"
+ }
+ },
+ "ForwardedIPPosition": {
+ "base": null,
+ "refs": {
+ "IPSetForwardedIPConfig$Position": "The position in the header to search for the IP address. The header can contain IP addresses of the original client and also of proxies. For example, the header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10
where the first IP address identifies the original client and the rest identify proxies that the request went through.
The options for this setting are the following:
-
FIRST - Inspect the first IP address in the list of IP addresses in the header. This is usually the client's original IP.
-
LAST - Inspect the last IP address in the list of IP addresses in the header.
-
ANY - Inspect all IP addresses in the header for a match. If the header contains more than 10 IP addresses, AWS WAF inspects the last 10.
"
+ }
+ },
"GeoMatchStatement": {
"base": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A rule statement used to identify web requests based on country of origin.
",
"refs": {
@@ -630,6 +657,12 @@
"GetIPSetResponse$IPSet": ""
}
},
+ "IPSetForwardedIPConfig": {
+ "base": "The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.
This configuration is used only for IPSetReferenceStatement. For GeoMatchStatement and RateBasedStatement, use ForwardedIPConfig instead.
",
+ "refs": {
+ "IPSetReferenceStatement$IPSetForwardedIPConfig": "The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.
"
+ }
+ },
"IPSetReferenceStatement": {
"base": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A rule statement used to detect web requests coming from particular IP addresses or address ranges. To use this, create an IPSet that specifies the addresses you want to detect, then use the ARN of that set in this statement. To create an IP set, see CreateIPSet.
Each IP set rule statement references an IP set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, AWS WAF automatically updates all rules that reference it.
",
"refs": {
@@ -818,7 +851,7 @@
"base": null,
"refs": {
"GetSampledRequestsRequest$RuleMetricName": "The metric name assigned to the Rule
or RuleGroup
for which you want a sample of requests.
",
- "VisibilityConfig$MetricName": "A name of the CloudWatch metric. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with length from one to 128 characters. It can't contain whitespace or metric names reserved for AWS WAF, for example \"All\" and \"Default_Action.\" You can't change a MetricName
after you create a VisibilityConfig
.
"
+ "VisibilityConfig$MetricName": "A name of the CloudWatch metric. The name can contain only the characters: A-Z, a-z, 0-9, - (hyphen), and _ (underscore). The name can be from one to 128 characters long. It can't contain whitespace or metric names reserved for AWS WAF, for example \"All\" and \"Default_Action.\" You can't change a MetricName
after you create a VisibilityConfig
.
"
}
},
"NextMarker": {
@@ -943,7 +976,7 @@
"RateBasedStatementAggregateKeyType": {
"base": null,
"refs": {
- "RateBasedStatement$AggregateKeyType": "Setting that indicates how to aggregate the request counts. Currently, you must set this to IP
. The request counts are aggregated on IP addresses.
"
+ "RateBasedStatement$AggregateKeyType": "Setting that indicates how to aggregate the request counts. The options are the following:
-
IP - Aggregate the request counts on the IP address from the web request origin.
-
FORWARDED_IP - Aggregate the request counts on the first IP address in an HTTP header. If you use this, configure the ForwardedIPConfig
, to specify the header to use.
"
}
},
"RateBasedStatementManagedKeysIPSet": {
@@ -956,7 +989,7 @@
"RateLimit": {
"base": null,
"refs": {
- "RateBasedStatement$Limit": "The limit on requests per 5-minute period for a single originating IP address. If the statement includes a ScopDownStatement
, this limit is applied only to the requests that match the statement.
"
+ "RateBasedStatement$Limit": "The limit on requests per 5-minute period for a single originating IP address. If the statement includes a ScopeDownStatement
, this limit is applied only to the requests that match the statement.
"
}
},
"RedactedFields": {
@@ -1229,13 +1262,13 @@
}
},
"Tag": {
- "base": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A collection of key:value pairs associated with an AWS resource. The key:value pair can be anything you define. Typically, the tag key represents a category (such as \"environment\") and the tag value represents a specific value within that category (such as \"test,\" \"development,\" or \"production\"). You can add up to 50 tags to each AWS resource.
",
+ "base": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A tag associated with an AWS resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing or other management. Typically, the tag key represents a category, such as \"environment\", and the tag value represents a specific value within that category, such as \"test,\" \"development,\" or \"production\". Or you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for a resource.
You can tag the AWS resources that you manage through AWS WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the AWS WAF console.
",
"refs": {
"TagList$member": null
}
},
"TagInfoForResource": {
- "base": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
The collection of tagging definitions for an AWS resource.
",
+ "base": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
The collection of tagging definitions for an AWS resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing or other management. Typically, the tag key represents a category, such as \"environment\", and the tag value represents a specific value within that category, such as \"test,\" \"development,\" or \"production\". Or you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for a resource.
You can tag the AWS resources that you manage through AWS WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the AWS WAF console.
",
"refs": {
"ListTagsForResourceResponse$TagInfoForResource": "The collection of tagging definitions for the resource.
"
}
@@ -1309,18 +1342,18 @@
}
},
"TimeWindow": {
- "base": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
In a GetSampledRequests request, the StartTime
and EndTime
objects specify the time range for which you want AWS WAF to return a sample of web requests.
In a GetSampledRequests response, the StartTime
and EndTime
objects specify the time range for which AWS WAF actually returned a sample of web requests. AWS WAF gets the specified number of requests from among the first 5,000 requests that your AWS resource receives during the specified time period. If your resource receives more than 5,000 requests during that period, AWS WAF stops sampling after the 5,000th request. In that case, EndTime
is the time that AWS WAF received the 5,000th request.
",
+ "base": " This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
In a GetSampledRequests request, the StartTime
and EndTime
objects specify the time range for which you want AWS WAF to return a sample of web requests.
You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z
. For example, \"2016-09-27T14:50Z\"
. You can specify any time range in the previous three hours.
In a GetSampledRequests response, the StartTime
and EndTime
objects specify the time range for which AWS WAF actually returned a sample of web requests. AWS WAF gets the specified number of requests from among the first 5,000 requests that your AWS resource receives during the specified time period. If your resource receives more than 5,000 requests during that period, AWS WAF stops sampling after the 5,000th request. In that case, EndTime
is the time that AWS WAF received the 5,000th request.
",
"refs": {
- "GetSampledRequestsRequest$TimeWindow": "The start date and time and the end date and time of the range for which you want GetSampledRequests
to return a sample of requests. Specify the date and time in the following format: \"2016-09-27T14:50Z\"
. You can specify any time range in the previous three hours.
",
- "GetSampledRequestsResponse$TimeWindow": "Usually, TimeWindow
is the time range that you specified in the GetSampledRequests
request. However, if your AWS resource received more than 5,000 requests during the time range that you specified in the request, GetSampledRequests
returns the time range for the first 5,000 requests.
"
+ "GetSampledRequestsRequest$TimeWindow": "The start date and time and the end date and time of the range for which you want GetSampledRequests
to return a sample of requests. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z
. For example, \"2016-09-27T14:50Z\"
. You can specify any time range in the previous three hours.
",
+ "GetSampledRequestsResponse$TimeWindow": "Usually, TimeWindow
is the time range that you specified in the GetSampledRequests
request. However, if your AWS resource received more than 5,000 requests during the time range that you specified in the request, GetSampledRequests
returns the time range for the first 5,000 requests. Times are in Coordinated Universal Time (UTC) format.
"
}
},
"Timestamp": {
"base": null,
"refs": {
"SampledHTTPRequest$Timestamp": "The time at which AWS WAF received the request from your AWS resource, in Unix time format (in seconds).
",
- "TimeWindow$StartTime": "The beginning of the time range from which you want GetSampledRequests
to return a sample of the requests that your AWS resource received. Specify the date and time in the following format: \"2016-09-27T14:50Z\"
. You can specify any time range in the previous three hours.
",
- "TimeWindow$EndTime": "The end of the time range from which you want GetSampledRequests
to return a sample of the requests that your AWS resource received. Specify the date and time in the following format: \"2016-09-27T14:50Z\"
. You can specify any time range in the previous three hours.
"
+ "TimeWindow$StartTime": "The beginning of the time range from which you want GetSampledRequests
to return a sample of the requests that your AWS resource received. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z
. For example, \"2016-09-27T14:50Z\"
. You can specify any time range in the previous three hours.
",
+ "TimeWindow$EndTime": "The end of the time range from which you want GetSampledRequests
to return a sample of the requests that your AWS resource received. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z
. For example, \"2016-09-27T14:50Z\"
. You can specify any time range in the previous three hours.
"
}
},
"URIString": {
diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json
index c88e0ca7471..d522b378c4f 100644
--- a/models/endpoints/endpoints.json
+++ b/models/endpoints/endpoints.json
@@ -3377,6 +3377,51 @@
"us-west-2" : { }
}
},
+ "macie2" : {
+ "endpoints" : {
+ "ap-east-1" : { },
+ "ap-northeast-1" : { },
+ "ap-northeast-2" : { },
+ "ap-south-1" : { },
+ "ap-southeast-1" : { },
+ "ap-southeast-2" : { },
+ "ca-central-1" : { },
+ "eu-central-1" : { },
+ "eu-north-1" : { },
+ "eu-west-1" : { },
+ "eu-west-2" : { },
+ "eu-west-3" : { },
+ "fips-us-east-1" : {
+ "credentialScope" : {
+ "region" : "us-east-1"
+ },
+ "hostname" : "macie2-fips.us-east-1.amazonaws.com"
+ },
+ "fips-us-east-2" : {
+ "credentialScope" : {
+ "region" : "us-east-2"
+ },
+ "hostname" : "macie2-fips.us-east-2.amazonaws.com"
+ },
+ "fips-us-west-1" : {
+ "credentialScope" : {
+ "region" : "us-west-1"
+ },
+ "hostname" : "macie2-fips.us-west-1.amazonaws.com"
+ },
+ "fips-us-west-2" : {
+ "credentialScope" : {
+ "region" : "us-west-2"
+ },
+ "hostname" : "macie2-fips.us-west-2.amazonaws.com"
+ },
+ "sa-east-1" : { },
+ "us-east-1" : { },
+ "us-east-2" : { },
+ "us-west-1" : { },
+ "us-west-2" : { }
+ }
+ },
"managedblockchain" : {
"endpoints" : {
"ap-northeast-1" : { },
@@ -3567,7 +3612,19 @@
"eu-west-1" : { },
"eu-west-2" : { },
"us-east-1" : { },
- "us-west-2" : { }
+ "us-east-1-fips" : {
+ "credentialScope" : {
+ "region" : "us-east-1"
+ },
+ "hostname" : "models-fips.lex.us-east-1.amazonaws.com"
+ },
+ "us-west-2" : { },
+ "us-west-2-fips" : {
+ "credentialScope" : {
+ "region" : "us-west-2"
+ },
+ "hostname" : "models-fips.lex.us-west-2.amazonaws.com"
+ }
}
},
"monitoring" : {
@@ -4240,6 +4297,30 @@
"eu-central-1" : { },
"eu-west-1" : { },
"eu-west-2" : { },
+ "rekognition-fips.us-east-1" : {
+ "credentialScope" : {
+ "region" : "us-east-1"
+ },
+ "hostname" : "rekognition-fips.us-east-1.amazonaws.com"
+ },
+ "rekognition-fips.us-east-2" : {
+ "credentialScope" : {
+ "region" : "us-east-2"
+ },
+ "hostname" : "rekognition-fips.us-east-2.amazonaws.com"
+ },
+ "rekognition-fips.us-west-1" : {
+ "credentialScope" : {
+ "region" : "us-west-1"
+ },
+ "hostname" : "rekognition-fips.us-west-1.amazonaws.com"
+ },
+ "rekognition-fips.us-west-2" : {
+ "credentialScope" : {
+ "region" : "us-west-2"
+ },
+ "hostname" : "rekognition-fips.us-west-2.amazonaws.com"
+ },
"us-east-1" : { },
"us-east-2" : { },
"us-west-1" : { },
@@ -7655,6 +7736,12 @@
},
"rekognition" : {
"endpoints" : {
+ "rekognition-fips.us-gov-west-1" : {
+ "credentialScope" : {
+ "region" : "us-gov-west-1"
+ },
+ "hostname" : "rekognition-fips.us-gov-west-1.amazonaws.com"
+ },
"us-gov-west-1" : { }
}
},
diff --git a/service/alexaforbusiness/api.go b/service/alexaforbusiness/api.go
index eb39bd7d7cc..f6f513e367b 100644
--- a/service/alexaforbusiness/api.go
+++ b/service/alexaforbusiness/api.go
@@ -5865,6 +5865,9 @@ func (c *AlexaForBusiness) RegisterAVSDeviceRequest(input *RegisterAVSDeviceInpu
// * ConcurrentModificationException
// There is a concurrent modification of resources.
//
+// * NotFoundException
+// The resource is not found.
+//
// * InvalidDeviceException
// The device is in an invalid state.
//
@@ -16581,15 +16584,16 @@ type RegisterAVSDeviceInput struct {
// The key generated by the OEM that uniquely identifies a specified instance
// of your AVS device.
- //
- // DeviceSerialNumber is a required field
- DeviceSerialNumber *string `type:"string" required:"true"`
+ DeviceSerialNumber *string `type:"string"`
// The product ID used to identify your AVS device during authorization.
//
// ProductId is a required field
ProductId *string `type:"string" required:"true"`
+ // The ARN of the room with which to associate your AVS device.
+ RoomArn *string `type:"string"`
+
// The code that is obtained after your AVS device has made a POST request to
// LWA as a part of the Device Authorization Request component of the OAuth
// code-based linking specification.
@@ -16617,9 +16621,6 @@ func (s *RegisterAVSDeviceInput) Validate() error {
if s.ClientId == nil {
invalidParams.Add(request.NewErrParamRequired("ClientId"))
}
- if s.DeviceSerialNumber == nil {
- invalidParams.Add(request.NewErrParamRequired("DeviceSerialNumber"))
- }
if s.ProductId == nil {
invalidParams.Add(request.NewErrParamRequired("ProductId"))
}
@@ -16660,6 +16661,12 @@ func (s *RegisterAVSDeviceInput) SetProductId(v string) *RegisterAVSDeviceInput
return s
}
+// SetRoomArn sets the RoomArn field's value.
+func (s *RegisterAVSDeviceInput) SetRoomArn(v string) *RegisterAVSDeviceInput {
+ s.RoomArn = &v
+ return s
+}
+
// SetUserCode sets the UserCode field's value.
func (s *RegisterAVSDeviceInput) SetUserCode(v string) *RegisterAVSDeviceInput {
s.UserCode = &v
diff --git a/service/amplify/api.go b/service/amplify/api.go
index 082238f4253..c12ac6bd1d3 100644
--- a/service/amplify/api.go
+++ b/service/amplify/api.go
@@ -3382,7 +3382,7 @@ type App struct {
// EnableBranchAutoBuild is a required field
EnableBranchAutoBuild *bool `locationName:"enableBranchAutoBuild" type:"boolean" required:"true"`
- // Automatically disconnects a branch in the Amplify Console when you delete
+ // Automatically disconnect a branch in the Amplify Console when you delete
// a branch from your Git repository.
EnableBranchAutoDeletion *bool `locationName:"enableBranchAutoDeletion" type:"boolean"`
diff --git a/service/amplify/doc.go b/service/amplify/doc.go
index 4f166f1e874..e1395d3fd2f 100644
--- a/service/amplify/doc.go
+++ b/service/amplify/doc.go
@@ -3,16 +3,13 @@
// Package amplify provides the client and types for making API
// requests to AWS Amplify.
//
-// Welcome to the AWS Amplify API documentation. This reference provides descriptions
-// of the actions and data types for the Amplify API.
-//
// Amplify enables developers to develop and deploy cloud-powered mobile and
// web apps. The Amplify Console provides a continuous delivery and hosting
// service for web applications. For more information, see the Amplify Console
// User Guide (https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html).
// The Amplify Framework is a comprehensive set of SDKs, libraries, tools, and
// documentation for client app development. For more information, see the Amplify
-// Framework. (https://aws-amplify.github.io/docs/)
+// Framework. (https://docs.amplify.aws/)
//
// See https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25 for more information on this service.
//
diff --git a/service/appmesh/api.go b/service/appmesh/api.go
index 593060b6621..b9f33c52388 100644
--- a/service/appmesh/api.go
+++ b/service/appmesh/api.go
@@ -13,6 +13,119 @@ import (
"github.com/aws/aws-sdk-go/private/protocol/restjson"
)
+const opCreateGatewayRoute = "CreateGatewayRoute"
+
+// CreateGatewayRouteRequest generates a "aws/request.Request" representing the
+// client's request for the CreateGatewayRoute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateGatewayRoute for more information on using the CreateGatewayRoute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateGatewayRouteRequest method.
+// req, resp := client.CreateGatewayRouteRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRoute
+func (c *AppMesh) CreateGatewayRouteRequest(input *CreateGatewayRouteInput) (req *request.Request, output *CreateGatewayRouteOutput) {
+ op := &request.Operation{
+ Name: opCreateGatewayRoute,
+ HTTPMethod: "PUT",
+ HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes",
+ }
+
+ if input == nil {
+ input = &CreateGatewayRouteInput{}
+ }
+
+ output = &CreateGatewayRouteOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateGatewayRoute API operation for AWS App Mesh.
+//
+// Creates a gateway route.
+//
+// A gateway route is attached to a virtual gateway and routes traffic to an
+// existing virtual service. If a route matches a request, it can distribute
+// traffic to a target virtual service.
+//
+// For more information about gateway routes, see Gateway routes (https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS App Mesh's
+// API operation CreateGatewayRoute for usage and error information.
+//
+// Returned Error Types:
+// * BadRequestException
+// The request syntax was malformed. Check your request syntax and try again.
+//
+// * ConflictException
+// The request contains a client token that was used for a previous update resource
+// call with different specifications. Try the request again with a new client
+// token.
+//
+// * ForbiddenException
+// You don't have permissions to perform this action.
+//
+// * InternalServerErrorException
+// The request processing has failed because of an unknown error, exception,
+// or failure.
+//
+// * LimitExceededException
+// You have exceeded a service limit for your account. For more information,
+// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html)
+// in the AWS App Mesh User Guide.
+//
+// * NotFoundException
+// The specified resource doesn't exist. Check your request syntax and try again.
+//
+// * ServiceUnavailableException
+// The request has failed due to a temporary failure of the service.
+//
+// * TooManyRequestsException
+// The maximum request rate permitted by the App Mesh APIs has been exceeded
+// for your account. For best results, use an increasing or variable sleep interval
+// between requests.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRoute
+func (c *AppMesh) CreateGatewayRoute(input *CreateGatewayRouteInput) (*CreateGatewayRouteOutput, error) {
+ req, out := c.CreateGatewayRouteRequest(input)
+ return out, req.Send()
+}
+
+// CreateGatewayRouteWithContext is the same as CreateGatewayRoute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateGatewayRoute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *AppMesh) CreateGatewayRouteWithContext(ctx aws.Context, input *CreateGatewayRouteInput, opts ...request.Option) (*CreateGatewayRouteOutput, error) {
+ req, out := c.CreateGatewayRouteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opCreateMesh = "CreateMesh"
// CreateMeshRequest generates a "aws/request.Request" representing the
@@ -239,6 +352,121 @@ func (c *AppMesh) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInpu
return out, req.Send()
}
+const opCreateVirtualGateway = "CreateVirtualGateway"
+
+// CreateVirtualGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the CreateVirtualGateway operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateVirtualGateway for more information on using the CreateVirtualGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateVirtualGatewayRequest method.
+// req, resp := client.CreateVirtualGatewayRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway
+func (c *AppMesh) CreateVirtualGatewayRequest(input *CreateVirtualGatewayInput) (req *request.Request, output *CreateVirtualGatewayOutput) {
+ op := &request.Operation{
+ Name: opCreateVirtualGateway,
+ HTTPMethod: "PUT",
+ HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways",
+ }
+
+ if input == nil {
+ input = &CreateVirtualGatewayInput{}
+ }
+
+ output = &CreateVirtualGatewayOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateVirtualGateway API operation for AWS App Mesh.
+//
+// Creates a virtual gateway.
+//
+// A virtual gateway allows resources outside your mesh to communicate to resources
+// that are inside your mesh. The virtual gateway represents an Envoy proxy
+// running in an Amazon ECS task, in a Kubernetes service, or on an Amazon EC2
+// instance. Unlike a virtual node, which represents an Envoy running with an
+// application, a virtual gateway represents Envoy deployed by itself.
+//
+// For more information about virtual gateways, see Virtual gateways (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS App Mesh's
+// API operation CreateVirtualGateway for usage and error information.
+//
+// Returned Error Types:
+// * BadRequestException
+// The request syntax was malformed. Check your request syntax and try again.
+//
+// * ConflictException
+// The request contains a client token that was used for a previous update resource
+// call with different specifications. Try the request again with a new client
+// token.
+//
+// * ForbiddenException
+// You don't have permissions to perform this action.
+//
+// * InternalServerErrorException
+// The request processing has failed because of an unknown error, exception,
+// or failure.
+//
+// * LimitExceededException
+// You have exceeded a service limit for your account. For more information,
+// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html)
+// in the AWS App Mesh User Guide.
+//
+// * NotFoundException
+// The specified resource doesn't exist. Check your request syntax and try again.
+//
+// * ServiceUnavailableException
+// The request has failed due to a temporary failure of the service.
+//
+// * TooManyRequestsException
+// The maximum request rate permitted by the App Mesh APIs has been exceeded
+// for your account. For best results, use an increasing or variable sleep interval
+// between requests.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway
+func (c *AppMesh) CreateVirtualGateway(input *CreateVirtualGatewayInput) (*CreateVirtualGatewayOutput, error) {
+ req, out := c.CreateVirtualGatewayRequest(input)
+ return out, req.Send()
+}
+
+// CreateVirtualGatewayWithContext is the same as CreateVirtualGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVirtualGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *AppMesh) CreateVirtualGatewayWithContext(ctx aws.Context, input *CreateVirtualGatewayInput, opts ...request.Option) (*CreateVirtualGatewayOutput, error) {
+ req, out := c.CreateVirtualGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opCreateVirtualNode = "CreateVirtualNode"
// CreateVirtualNodeRequest generates a "aws/request.Request" representing the
@@ -599,6 +827,107 @@ func (c *AppMesh) CreateVirtualServiceWithContext(ctx aws.Context, input *Create
return out, req.Send()
}
+const opDeleteGatewayRoute = "DeleteGatewayRoute"
+
+// DeleteGatewayRouteRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteGatewayRoute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteGatewayRoute for more information on using the DeleteGatewayRoute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteGatewayRouteRequest method.
+// req, resp := client.DeleteGatewayRouteRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute
+func (c *AppMesh) DeleteGatewayRouteRequest(input *DeleteGatewayRouteInput) (req *request.Request, output *DeleteGatewayRouteOutput) {
+ op := &request.Operation{
+ Name: opDeleteGatewayRoute,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}",
+ }
+
+ if input == nil {
+ input = &DeleteGatewayRouteInput{}
+ }
+
+ output = &DeleteGatewayRouteOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteGatewayRoute API operation for AWS App Mesh.
+//
+// Deletes an existing gateway route.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS App Mesh's
+// API operation DeleteGatewayRoute for usage and error information.
+//
+// Returned Error Types:
+// * BadRequestException
+// The request syntax was malformed. Check your request syntax and try again.
+//
+// * ForbiddenException
+// You don't have permissions to perform this action.
+//
+// * InternalServerErrorException
+// The request processing has failed because of an unknown error, exception,
+// or failure.
+//
+// * NotFoundException
+// The specified resource doesn't exist. Check your request syntax and try again.
+//
+// * ResourceInUseException
+// You can't delete the specified resource because it's in use or required by
+// another resource.
+//
+// * ServiceUnavailableException
+// The request has failed due to a temporary failure of the service.
+//
+// * TooManyRequestsException
+// The maximum request rate permitted by the App Mesh APIs has been exceeded
+// for your account. For best results, use an increasing or variable sleep interval
+// between requests.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute
+func (c *AppMesh) DeleteGatewayRoute(input *DeleteGatewayRouteInput) (*DeleteGatewayRouteOutput, error) {
+ req, out := c.DeleteGatewayRouteRequest(input)
+ return out, req.Send()
+}
+
+// DeleteGatewayRouteWithContext is the same as DeleteGatewayRoute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteGatewayRoute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *AppMesh) DeleteGatewayRouteWithContext(ctx aws.Context, input *DeleteGatewayRouteInput, opts ...request.Option) (*DeleteGatewayRouteOutput, error) {
+ req, out := c.DeleteGatewayRouteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opDeleteMesh = "DeleteMesh"
// DeleteMeshRequest generates a "aws/request.Request" representing the
@@ -804,10 +1133,112 @@ func (c *AppMesh) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInpu
return out, req.Send()
}
-const opDeleteVirtualNode = "DeleteVirtualNode"
+const opDeleteVirtualGateway = "DeleteVirtualGateway"
-// DeleteVirtualNodeRequest generates a "aws/request.Request" representing the
-// client's request for the DeleteVirtualNode operation. The "output" return
+// DeleteVirtualGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteVirtualGateway operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteVirtualGateway for more information on using the DeleteVirtualGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteVirtualGatewayRequest method.
+// req, resp := client.DeleteVirtualGatewayRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway
+func (c *AppMesh) DeleteVirtualGatewayRequest(input *DeleteVirtualGatewayInput) (req *request.Request, output *DeleteVirtualGatewayOutput) {
+ op := &request.Operation{
+ Name: opDeleteVirtualGateway,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}",
+ }
+
+ if input == nil {
+ input = &DeleteVirtualGatewayInput{}
+ }
+
+ output = &DeleteVirtualGatewayOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteVirtualGateway API operation for AWS App Mesh.
+//
+// Deletes an existing virtual gateway. You cannot delete a virtual gateway
+// if any gateway routes are associated to it.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS App Mesh's
+// API operation DeleteVirtualGateway for usage and error information.
+//
+// Returned Error Types:
+// * BadRequestException
+// The request syntax was malformed. Check your request syntax and try again.
+//
+// * ForbiddenException
+// You don't have permissions to perform this action.
+//
+// * InternalServerErrorException
+// The request processing has failed because of an unknown error, exception,
+// or failure.
+//
+// * NotFoundException
+// The specified resource doesn't exist. Check your request syntax and try again.
+//
+// * ResourceInUseException
+// You can't delete the specified resource because it's in use or required by
+// another resource.
+//
+// * ServiceUnavailableException
+// The request has failed due to a temporary failure of the service.
+//
+// * TooManyRequestsException
+// The maximum request rate permitted by the App Mesh APIs has been exceeded
+// for your account. For best results, use an increasing or variable sleep interval
+// between requests.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway
+func (c *AppMesh) DeleteVirtualGateway(input *DeleteVirtualGatewayInput) (*DeleteVirtualGatewayOutput, error) {
+ req, out := c.DeleteVirtualGatewayRequest(input)
+ return out, req.Send()
+}
+
+// DeleteVirtualGatewayWithContext is the same as DeleteVirtualGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVirtualGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *AppMesh) DeleteVirtualGatewayWithContext(ctx aws.Context, input *DeleteVirtualGatewayInput, opts ...request.Option) (*DeleteVirtualGatewayOutput, error) {
+ req, out := c.DeleteVirtualGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteVirtualNode = "DeleteVirtualNode"
+
+// DeleteVirtualNodeRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteVirtualNode operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
@@ -1113,6 +1544,103 @@ func (c *AppMesh) DeleteVirtualServiceWithContext(ctx aws.Context, input *Delete
return out, req.Send()
}
+const opDescribeGatewayRoute = "DescribeGatewayRoute"
+
+// DescribeGatewayRouteRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeGatewayRoute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeGatewayRoute for more information on using the DescribeGatewayRoute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeGatewayRouteRequest method.
+// req, resp := client.DescribeGatewayRouteRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRoute
+func (c *AppMesh) DescribeGatewayRouteRequest(input *DescribeGatewayRouteInput) (req *request.Request, output *DescribeGatewayRouteOutput) {
+ op := &request.Operation{
+ Name: opDescribeGatewayRoute,
+ HTTPMethod: "GET",
+ HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}",
+ }
+
+ if input == nil {
+ input = &DescribeGatewayRouteInput{}
+ }
+
+ output = &DescribeGatewayRouteOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeGatewayRoute API operation for AWS App Mesh.
+//
+// Describes an existing gateway route.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS App Mesh's
+// API operation DescribeGatewayRoute for usage and error information.
+//
+// Returned Error Types:
+// * BadRequestException
+// The request syntax was malformed. Check your request syntax and try again.
+//
+// * ForbiddenException
+// You don't have permissions to perform this action.
+//
+// * InternalServerErrorException
+// The request processing has failed because of an unknown error, exception,
+// or failure.
+//
+// * NotFoundException
+// The specified resource doesn't exist. Check your request syntax and try again.
+//
+// * ServiceUnavailableException
+// The request has failed due to a temporary failure of the service.
+//
+// * TooManyRequestsException
+// The maximum request rate permitted by the App Mesh APIs has been exceeded
+// for your account. For best results, use an increasing or variable sleep interval
+// between requests.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRoute
+func (c *AppMesh) DescribeGatewayRoute(input *DescribeGatewayRouteInput) (*DescribeGatewayRouteOutput, error) {
+ req, out := c.DescribeGatewayRouteRequest(input)
+ return out, req.Send()
+}
+
+// DescribeGatewayRouteWithContext is the same as DescribeGatewayRoute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeGatewayRoute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *AppMesh) DescribeGatewayRouteWithContext(ctx aws.Context, input *DescribeGatewayRouteInput, opts ...request.Option) (*DescribeGatewayRouteOutput, error) {
+ req, out := c.DescribeGatewayRouteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opDescribeMesh = "DescribeMesh"
// DescribeMeshRequest generates a "aws/request.Request" representing the
@@ -1307,6 +1835,103 @@ func (c *AppMesh) DescribeRouteWithContext(ctx aws.Context, input *DescribeRoute
return out, req.Send()
}
+const opDescribeVirtualGateway = "DescribeVirtualGateway"
+
+// DescribeVirtualGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeVirtualGateway operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeVirtualGateway for more information on using the DescribeVirtualGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeVirtualGatewayRequest method.
+// req, resp := client.DescribeVirtualGatewayRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGateway
+func (c *AppMesh) DescribeVirtualGatewayRequest(input *DescribeVirtualGatewayInput) (req *request.Request, output *DescribeVirtualGatewayOutput) {
+ op := &request.Operation{
+ Name: opDescribeVirtualGateway,
+ HTTPMethod: "GET",
+ HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}",
+ }
+
+ if input == nil {
+ input = &DescribeVirtualGatewayInput{}
+ }
+
+ output = &DescribeVirtualGatewayOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeVirtualGateway API operation for AWS App Mesh.
+//
+// Describes an existing virtual gateway.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS App Mesh's
+// API operation DescribeVirtualGateway for usage and error information.
+//
+// Returned Error Types:
+// * BadRequestException
+// The request syntax was malformed. Check your request syntax and try again.
+//
+// * ForbiddenException
+// You don't have permissions to perform this action.
+//
+// * InternalServerErrorException
+// The request processing has failed because of an unknown error, exception,
+// or failure.
+//
+// * NotFoundException
+// The specified resource doesn't exist. Check your request syntax and try again.
+//
+// * ServiceUnavailableException
+// The request has failed due to a temporary failure of the service.
+//
+// * TooManyRequestsException
+// The maximum request rate permitted by the App Mesh APIs has been exceeded
+// for your account. For best results, use an increasing or variable sleep interval
+// between requests.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGateway
+func (c *AppMesh) DescribeVirtualGateway(input *DescribeVirtualGatewayInput) (*DescribeVirtualGatewayOutput, error) {
+ req, out := c.DescribeVirtualGatewayRequest(input)
+ return out, req.Send()
+}
+
+// DescribeVirtualGatewayWithContext is the same as DescribeVirtualGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVirtualGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *AppMesh) DescribeVirtualGatewayWithContext(ctx aws.Context, input *DescribeVirtualGatewayInput, opts ...request.Option) (*DescribeVirtualGatewayOutput, error) {
+ req, out := c.DescribeVirtualGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opDescribeVirtualNode = "DescribeVirtualNode"
// DescribeVirtualNodeRequest generates a "aws/request.Request" representing the
@@ -1598,37 +2223,37 @@ func (c *AppMesh) DescribeVirtualServiceWithContext(ctx aws.Context, input *Desc
return out, req.Send()
}
-const opListMeshes = "ListMeshes"
+const opListGatewayRoutes = "ListGatewayRoutes"
-// ListMeshesRequest generates a "aws/request.Request" representing the
-// client's request for the ListMeshes operation. The "output" return
+// ListGatewayRoutesRequest generates a "aws/request.Request" representing the
+// client's request for the ListGatewayRoutes operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
-// See ListMeshes for more information on using the ListMeshes
+// See ListGatewayRoutes for more information on using the ListGatewayRoutes
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
-// // Example sending a request using the ListMeshesRequest method.
-// req, resp := client.ListMeshesRequest(params)
+// // Example sending a request using the ListGatewayRoutesRequest method.
+// req, resp := client.ListGatewayRoutesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes
-func (c *AppMesh) ListMeshesRequest(input *ListMeshesInput) (req *request.Request, output *ListMeshesOutput) {
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutes
+func (c *AppMesh) ListGatewayRoutesRequest(input *ListGatewayRoutesInput) (req *request.Request, output *ListGatewayRoutesOutput) {
op := &request.Operation{
- Name: opListMeshes,
+ Name: opListGatewayRoutes,
HTTPMethod: "GET",
- HTTPPath: "/v20190125/meshes",
+ HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes",
Paginator: &request.Paginator{
InputTokens: []string{"nextToken"},
OutputTokens: []string{"nextToken"},
@@ -1638,24 +2263,25 @@ func (c *AppMesh) ListMeshesRequest(input *ListMeshesInput) (req *request.Reques
}
if input == nil {
- input = &ListMeshesInput{}
+ input = &ListGatewayRoutesInput{}
}
- output = &ListMeshesOutput{}
+ output = &ListGatewayRoutesOutput{}
req = c.newRequest(op, input, output)
return
}
-// ListMeshes API operation for AWS App Mesh.
+// ListGatewayRoutes API operation for AWS App Mesh.
//
-// Returns a list of existing service meshes.
+// Returns a list of existing gateway routes that are associated to a virtual
+// gateway.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS App Mesh's
-// API operation ListMeshes for usage and error information.
+// API operation ListGatewayRoutes for usage and error information.
//
// Returned Error Types:
// * BadRequestException
@@ -1679,33 +2305,188 @@ func (c *AppMesh) ListMeshesRequest(input *ListMeshesInput) (req *request.Reques
// for your account. For best results, use an increasing or variable sleep interval
// between requests.
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes
-func (c *AppMesh) ListMeshes(input *ListMeshesInput) (*ListMeshesOutput, error) {
- req, out := c.ListMeshesRequest(input)
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutes
+func (c *AppMesh) ListGatewayRoutes(input *ListGatewayRoutesInput) (*ListGatewayRoutesOutput, error) {
+ req, out := c.ListGatewayRoutesRequest(input)
return out, req.Send()
}
-// ListMeshesWithContext is the same as ListMeshes with the addition of
+// ListGatewayRoutesWithContext is the same as ListGatewayRoutes with the addition of
// the ability to pass a context and additional request options.
//
-// See ListMeshes for details on how to use this API operation.
+// See ListGatewayRoutes for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
-func (c *AppMesh) ListMeshesWithContext(ctx aws.Context, input *ListMeshesInput, opts ...request.Option) (*ListMeshesOutput, error) {
- req, out := c.ListMeshesRequest(input)
+func (c *AppMesh) ListGatewayRoutesWithContext(ctx aws.Context, input *ListGatewayRoutesInput, opts ...request.Option) (*ListGatewayRoutesOutput, error) {
+ req, out := c.ListGatewayRoutesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
-// ListMeshesPages iterates over the pages of a ListMeshes operation,
+// ListGatewayRoutesPages iterates over the pages of a ListGatewayRoutes operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
-// See ListMeshes method for more information on how to use this operation.
+// See ListGatewayRoutes method for more information on how to use this operation.
+//
+// Note: This operation can generate multiple requests to a service.
+//
+// // Example iterating over at most 3 pages of a ListGatewayRoutes operation.
+// pageNum := 0
+// err := client.ListGatewayRoutesPages(params,
+// func(page *appmesh.ListGatewayRoutesOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *AppMesh) ListGatewayRoutesPages(input *ListGatewayRoutesInput, fn func(*ListGatewayRoutesOutput, bool) bool) error {
+ return c.ListGatewayRoutesPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListGatewayRoutesPagesWithContext same as ListGatewayRoutesPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *AppMesh) ListGatewayRoutesPagesWithContext(ctx aws.Context, input *ListGatewayRoutesInput, fn func(*ListGatewayRoutesOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListGatewayRoutesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListGatewayRoutesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ for p.Next() {
+ if !fn(p.Page().(*ListGatewayRoutesOutput), !p.HasNextPage()) {
+ break
+ }
+ }
+
+ return p.Err()
+}
+
+const opListMeshes = "ListMeshes"
+
+// ListMeshesRequest generates a "aws/request.Request" representing the
+// client's request for the ListMeshes operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListMeshes for more information on using the ListMeshes
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ListMeshesRequest method.
+// req, resp := client.ListMeshesRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes
+func (c *AppMesh) ListMeshesRequest(input *ListMeshesInput) (req *request.Request, output *ListMeshesOutput) {
+ op := &request.Operation{
+ Name: opListMeshes,
+ HTTPMethod: "GET",
+ HTTPPath: "/v20190125/meshes",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"nextToken"},
+ OutputTokens: []string{"nextToken"},
+ LimitToken: "limit",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &ListMeshesInput{}
+ }
+
+ output = &ListMeshesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ListMeshes API operation for AWS App Mesh.
+//
+// Returns a list of existing service meshes.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS App Mesh's
+// API operation ListMeshes for usage and error information.
+//
+// Returned Error Types:
+// * BadRequestException
+// The request syntax was malformed. Check your request syntax and try again.
+//
+// * ForbiddenException
+// You don't have permissions to perform this action.
+//
+// * InternalServerErrorException
+// The request processing has failed because of an unknown error, exception,
+// or failure.
+//
+// * NotFoundException
+// The specified resource doesn't exist. Check your request syntax and try again.
+//
+// * ServiceUnavailableException
+// The request has failed due to a temporary failure of the service.
+//
+// * TooManyRequestsException
+// The maximum request rate permitted by the App Mesh APIs has been exceeded
+// for your account. For best results, use an increasing or variable sleep interval
+// between requests.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes
+func (c *AppMesh) ListMeshes(input *ListMeshesInput) (*ListMeshesOutput, error) {
+ req, out := c.ListMeshesRequest(input)
+ return out, req.Send()
+}
+
+// ListMeshesWithContext is the same as ListMeshes with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListMeshes for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *AppMesh) ListMeshesWithContext(ctx aws.Context, input *ListMeshesInput, opts ...request.Option) (*ListMeshesOutput, error) {
+ req, out := c.ListMeshesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// ListMeshesPages iterates over the pages of a ListMeshes operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See ListMeshes method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
@@ -2063,37 +2844,37 @@ func (c *AppMesh) ListTagsForResourcePagesWithContext(ctx aws.Context, input *Li
return p.Err()
}
-const opListVirtualNodes = "ListVirtualNodes"
+const opListVirtualGateways = "ListVirtualGateways"
-// ListVirtualNodesRequest generates a "aws/request.Request" representing the
-// client's request for the ListVirtualNodes operation. The "output" return
+// ListVirtualGatewaysRequest generates a "aws/request.Request" representing the
+// client's request for the ListVirtualGateways operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
-// See ListVirtualNodes for more information on using the ListVirtualNodes
+// See ListVirtualGateways for more information on using the ListVirtualGateways
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
-// // Example sending a request using the ListVirtualNodesRequest method.
-// req, resp := client.ListVirtualNodesRequest(params)
+// // Example sending a request using the ListVirtualGatewaysRequest method.
+// req, resp := client.ListVirtualGatewaysRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes
-func (c *AppMesh) ListVirtualNodesRequest(input *ListVirtualNodesInput) (req *request.Request, output *ListVirtualNodesOutput) {
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGateways
+func (c *AppMesh) ListVirtualGatewaysRequest(input *ListVirtualGatewaysInput) (req *request.Request, output *ListVirtualGatewaysOutput) {
op := &request.Operation{
- Name: opListVirtualNodes,
+ Name: opListVirtualGateways,
HTTPMethod: "GET",
- HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes",
+ HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways",
Paginator: &request.Paginator{
InputTokens: []string{"nextToken"},
OutputTokens: []string{"nextToken"},
@@ -2103,24 +2884,24 @@ func (c *AppMesh) ListVirtualNodesRequest(input *ListVirtualNodesInput) (req *re
}
if input == nil {
- input = &ListVirtualNodesInput{}
+ input = &ListVirtualGatewaysInput{}
}
- output = &ListVirtualNodesOutput{}
+ output = &ListVirtualGatewaysOutput{}
req = c.newRequest(op, input, output)
return
}
-// ListVirtualNodes API operation for AWS App Mesh.
+// ListVirtualGateways API operation for AWS App Mesh.
//
-// Returns a list of existing virtual nodes.
+// Returns a list of existing virtual gateways in a service mesh.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS App Mesh's
-// API operation ListVirtualNodes for usage and error information.
+// API operation ListVirtualGateways for usage and error information.
//
// Returned Error Types:
// * BadRequestException
@@ -2144,65 +2925,65 @@ func (c *AppMesh) ListVirtualNodesRequest(input *ListVirtualNodesInput) (req *re
// for your account. For best results, use an increasing or variable sleep interval
// between requests.
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes
-func (c *AppMesh) ListVirtualNodes(input *ListVirtualNodesInput) (*ListVirtualNodesOutput, error) {
- req, out := c.ListVirtualNodesRequest(input)
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGateways
+func (c *AppMesh) ListVirtualGateways(input *ListVirtualGatewaysInput) (*ListVirtualGatewaysOutput, error) {
+ req, out := c.ListVirtualGatewaysRequest(input)
return out, req.Send()
}
-// ListVirtualNodesWithContext is the same as ListVirtualNodes with the addition of
+// ListVirtualGatewaysWithContext is the same as ListVirtualGateways with the addition of
// the ability to pass a context and additional request options.
//
-// See ListVirtualNodes for details on how to use this API operation.
+// See ListVirtualGateways for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
-func (c *AppMesh) ListVirtualNodesWithContext(ctx aws.Context, input *ListVirtualNodesInput, opts ...request.Option) (*ListVirtualNodesOutput, error) {
- req, out := c.ListVirtualNodesRequest(input)
+func (c *AppMesh) ListVirtualGatewaysWithContext(ctx aws.Context, input *ListVirtualGatewaysInput, opts ...request.Option) (*ListVirtualGatewaysOutput, error) {
+ req, out := c.ListVirtualGatewaysRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
-// ListVirtualNodesPages iterates over the pages of a ListVirtualNodes operation,
+// ListVirtualGatewaysPages iterates over the pages of a ListVirtualGateways operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
-// See ListVirtualNodes method for more information on how to use this operation.
+// See ListVirtualGateways method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
-// // Example iterating over at most 3 pages of a ListVirtualNodes operation.
+// // Example iterating over at most 3 pages of a ListVirtualGateways operation.
// pageNum := 0
-// err := client.ListVirtualNodesPages(params,
-// func(page *appmesh.ListVirtualNodesOutput, lastPage bool) bool {
+// err := client.ListVirtualGatewaysPages(params,
+// func(page *appmesh.ListVirtualGatewaysOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
//
-func (c *AppMesh) ListVirtualNodesPages(input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool) error {
- return c.ListVirtualNodesPagesWithContext(aws.BackgroundContext(), input, fn)
+func (c *AppMesh) ListVirtualGatewaysPages(input *ListVirtualGatewaysInput, fn func(*ListVirtualGatewaysOutput, bool) bool) error {
+ return c.ListVirtualGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
}
-// ListVirtualNodesPagesWithContext same as ListVirtualNodesPages except
+// ListVirtualGatewaysPagesWithContext same as ListVirtualGatewaysPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
-func (c *AppMesh) ListVirtualNodesPagesWithContext(ctx aws.Context, input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool, opts ...request.Option) error {
+func (c *AppMesh) ListVirtualGatewaysPagesWithContext(ctx aws.Context, input *ListVirtualGatewaysInput, fn func(*ListVirtualGatewaysOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
- var inCpy *ListVirtualNodesInput
+ var inCpy *ListVirtualGatewaysInput
if input != nil {
tmp := *input
inCpy = &tmp
}
- req, _ := c.ListVirtualNodesRequest(inCpy)
+ req, _ := c.ListVirtualGatewaysRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
@@ -2210,7 +2991,7 @@ func (c *AppMesh) ListVirtualNodesPagesWithContext(ctx aws.Context, input *ListV
}
for p.Next() {
- if !fn(p.Page().(*ListVirtualNodesOutput), !p.HasNextPage()) {
+ if !fn(p.Page().(*ListVirtualGatewaysOutput), !p.HasNextPage()) {
break
}
}
@@ -2218,37 +2999,37 @@ func (c *AppMesh) ListVirtualNodesPagesWithContext(ctx aws.Context, input *ListV
return p.Err()
}
-const opListVirtualRouters = "ListVirtualRouters"
+const opListVirtualNodes = "ListVirtualNodes"
-// ListVirtualRoutersRequest generates a "aws/request.Request" representing the
-// client's request for the ListVirtualRouters operation. The "output" return
+// ListVirtualNodesRequest generates a "aws/request.Request" representing the
+// client's request for the ListVirtualNodes operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
-// See ListVirtualRouters for more information on using the ListVirtualRouters
+// See ListVirtualNodes for more information on using the ListVirtualNodes
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
-// // Example sending a request using the ListVirtualRoutersRequest method.
-// req, resp := client.ListVirtualRoutersRequest(params)
+// // Example sending a request using the ListVirtualNodesRequest method.
+// req, resp := client.ListVirtualNodesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters
-func (c *AppMesh) ListVirtualRoutersRequest(input *ListVirtualRoutersInput) (req *request.Request, output *ListVirtualRoutersOutput) {
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes
+func (c *AppMesh) ListVirtualNodesRequest(input *ListVirtualNodesInput) (req *request.Request, output *ListVirtualNodesOutput) {
op := &request.Operation{
- Name: opListVirtualRouters,
+ Name: opListVirtualNodes,
HTTPMethod: "GET",
- HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters",
+ HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes",
Paginator: &request.Paginator{
InputTokens: []string{"nextToken"},
OutputTokens: []string{"nextToken"},
@@ -2258,24 +3039,24 @@ func (c *AppMesh) ListVirtualRoutersRequest(input *ListVirtualRoutersInput) (req
}
if input == nil {
- input = &ListVirtualRoutersInput{}
+ input = &ListVirtualNodesInput{}
}
- output = &ListVirtualRoutersOutput{}
+ output = &ListVirtualNodesOutput{}
req = c.newRequest(op, input, output)
return
}
-// ListVirtualRouters API operation for AWS App Mesh.
+// ListVirtualNodes API operation for AWS App Mesh.
//
-// Returns a list of existing virtual routers in a service mesh.
+// Returns a list of existing virtual nodes.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS App Mesh's
-// API operation ListVirtualRouters for usage and error information.
+// API operation ListVirtualNodes for usage and error information.
//
// Returned Error Types:
// * BadRequestException
@@ -2299,65 +3080,65 @@ func (c *AppMesh) ListVirtualRoutersRequest(input *ListVirtualRoutersInput) (req
// for your account. For best results, use an increasing or variable sleep interval
// between requests.
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters
-func (c *AppMesh) ListVirtualRouters(input *ListVirtualRoutersInput) (*ListVirtualRoutersOutput, error) {
- req, out := c.ListVirtualRoutersRequest(input)
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes
+func (c *AppMesh) ListVirtualNodes(input *ListVirtualNodesInput) (*ListVirtualNodesOutput, error) {
+ req, out := c.ListVirtualNodesRequest(input)
return out, req.Send()
}
-// ListVirtualRoutersWithContext is the same as ListVirtualRouters with the addition of
+// ListVirtualNodesWithContext is the same as ListVirtualNodes with the addition of
// the ability to pass a context and additional request options.
//
-// See ListVirtualRouters for details on how to use this API operation.
+// See ListVirtualNodes for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
-func (c *AppMesh) ListVirtualRoutersWithContext(ctx aws.Context, input *ListVirtualRoutersInput, opts ...request.Option) (*ListVirtualRoutersOutput, error) {
- req, out := c.ListVirtualRoutersRequest(input)
+func (c *AppMesh) ListVirtualNodesWithContext(ctx aws.Context, input *ListVirtualNodesInput, opts ...request.Option) (*ListVirtualNodesOutput, error) {
+ req, out := c.ListVirtualNodesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
-// ListVirtualRoutersPages iterates over the pages of a ListVirtualRouters operation,
+// ListVirtualNodesPages iterates over the pages of a ListVirtualNodes operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
-// See ListVirtualRouters method for more information on how to use this operation.
+// See ListVirtualNodes method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
-// // Example iterating over at most 3 pages of a ListVirtualRouters operation.
+// // Example iterating over at most 3 pages of a ListVirtualNodes operation.
// pageNum := 0
-// err := client.ListVirtualRoutersPages(params,
-// func(page *appmesh.ListVirtualRoutersOutput, lastPage bool) bool {
+// err := client.ListVirtualNodesPages(params,
+// func(page *appmesh.ListVirtualNodesOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
//
-func (c *AppMesh) ListVirtualRoutersPages(input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool) error {
- return c.ListVirtualRoutersPagesWithContext(aws.BackgroundContext(), input, fn)
+func (c *AppMesh) ListVirtualNodesPages(input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool) error {
+ return c.ListVirtualNodesPagesWithContext(aws.BackgroundContext(), input, fn)
}
-// ListVirtualRoutersPagesWithContext same as ListVirtualRoutersPages except
+// ListVirtualNodesPagesWithContext same as ListVirtualNodesPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
-func (c *AppMesh) ListVirtualRoutersPagesWithContext(ctx aws.Context, input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool, opts ...request.Option) error {
+func (c *AppMesh) ListVirtualNodesPagesWithContext(ctx aws.Context, input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
- var inCpy *ListVirtualRoutersInput
+ var inCpy *ListVirtualNodesInput
if input != nil {
tmp := *input
inCpy = &tmp
}
- req, _ := c.ListVirtualRoutersRequest(inCpy)
+ req, _ := c.ListVirtualNodesRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
@@ -2365,7 +3146,7 @@ func (c *AppMesh) ListVirtualRoutersPagesWithContext(ctx aws.Context, input *Lis
}
for p.Next() {
- if !fn(p.Page().(*ListVirtualRoutersOutput), !p.HasNextPage()) {
+ if !fn(p.Page().(*ListVirtualNodesOutput), !p.HasNextPage()) {
break
}
}
@@ -2373,24 +3154,179 @@ func (c *AppMesh) ListVirtualRoutersPagesWithContext(ctx aws.Context, input *Lis
return p.Err()
}
-const opListVirtualServices = "ListVirtualServices"
+const opListVirtualRouters = "ListVirtualRouters"
-// ListVirtualServicesRequest generates a "aws/request.Request" representing the
-// client's request for the ListVirtualServices operation. The "output" return
+// ListVirtualRoutersRequest generates a "aws/request.Request" representing the
+// client's request for the ListVirtualRouters operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
-// See ListVirtualServices for more information on using the ListVirtualServices
+// See ListVirtualRouters for more information on using the ListVirtualRouters
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
-// // Example sending a request using the ListVirtualServicesRequest method.
+// // Example sending a request using the ListVirtualRoutersRequest method.
+// req, resp := client.ListVirtualRoutersRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters
+func (c *AppMesh) ListVirtualRoutersRequest(input *ListVirtualRoutersInput) (req *request.Request, output *ListVirtualRoutersOutput) {
+ op := &request.Operation{
+ Name: opListVirtualRouters,
+ HTTPMethod: "GET",
+ HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"nextToken"},
+ OutputTokens: []string{"nextToken"},
+ LimitToken: "limit",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &ListVirtualRoutersInput{}
+ }
+
+ output = &ListVirtualRoutersOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ListVirtualRouters API operation for AWS App Mesh.
+//
+// Returns a list of existing virtual routers in a service mesh.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS App Mesh's
+// API operation ListVirtualRouters for usage and error information.
+//
+// Returned Error Types:
+// * BadRequestException
+// The request syntax was malformed. Check your request syntax and try again.
+//
+// * ForbiddenException
+// You don't have permissions to perform this action.
+//
+// * InternalServerErrorException
+// The request processing has failed because of an unknown error, exception,
+// or failure.
+//
+// * NotFoundException
+// The specified resource doesn't exist. Check your request syntax and try again.
+//
+// * ServiceUnavailableException
+// The request has failed due to a temporary failure of the service.
+//
+// * TooManyRequestsException
+// The maximum request rate permitted by the App Mesh APIs has been exceeded
+// for your account. For best results, use an increasing or variable sleep interval
+// between requests.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters
+func (c *AppMesh) ListVirtualRouters(input *ListVirtualRoutersInput) (*ListVirtualRoutersOutput, error) {
+ req, out := c.ListVirtualRoutersRequest(input)
+ return out, req.Send()
+}
+
+// ListVirtualRoutersWithContext is the same as ListVirtualRouters with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListVirtualRouters for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *AppMesh) ListVirtualRoutersWithContext(ctx aws.Context, input *ListVirtualRoutersInput, opts ...request.Option) (*ListVirtualRoutersOutput, error) {
+ req, out := c.ListVirtualRoutersRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// ListVirtualRoutersPages iterates over the pages of a ListVirtualRouters operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See ListVirtualRouters method for more information on how to use this operation.
+//
+// Note: This operation can generate multiple requests to a service.
+//
+// // Example iterating over at most 3 pages of a ListVirtualRouters operation.
+// pageNum := 0
+// err := client.ListVirtualRoutersPages(params,
+// func(page *appmesh.ListVirtualRoutersOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+//
+func (c *AppMesh) ListVirtualRoutersPages(input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool) error {
+ return c.ListVirtualRoutersPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListVirtualRoutersPagesWithContext same as ListVirtualRoutersPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *AppMesh) ListVirtualRoutersPagesWithContext(ctx aws.Context, input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListVirtualRoutersInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListVirtualRoutersRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ for p.Next() {
+ if !fn(p.Page().(*ListVirtualRoutersOutput), !p.HasNextPage()) {
+ break
+ }
+ }
+
+ return p.Err()
+}
+
+const opListVirtualServices = "ListVirtualServices"
+
+// ListVirtualServicesRequest generates a "aws/request.Request" representing the
+// client's request for the ListVirtualServices operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ListVirtualServices for more information on using the ListVirtualServices
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ListVirtualServicesRequest method.
// req, resp := client.ListVirtualServicesRequest(params)
//
// err := req.Send()
@@ -2732,6 +3668,114 @@ func (c *AppMesh) UntagResourceWithContext(ctx aws.Context, input *UntagResource
return out, req.Send()
}
+const opUpdateGatewayRoute = "UpdateGatewayRoute"
+
+// UpdateGatewayRouteRequest generates a "aws/request.Request" representing the
+// client's request for the UpdateGatewayRoute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See UpdateGatewayRoute for more information on using the UpdateGatewayRoute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the UpdateGatewayRouteRequest method.
+// req, resp := client.UpdateGatewayRouteRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRoute
+func (c *AppMesh) UpdateGatewayRouteRequest(input *UpdateGatewayRouteInput) (req *request.Request, output *UpdateGatewayRouteOutput) {
+ op := &request.Operation{
+ Name: opUpdateGatewayRoute,
+ HTTPMethod: "PUT",
+ HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}",
+ }
+
+ if input == nil {
+ input = &UpdateGatewayRouteInput{}
+ }
+
+ output = &UpdateGatewayRouteOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// UpdateGatewayRoute API operation for AWS App Mesh.
+//
+// Updates an existing gateway route that is associated to a specified virtual
+// gateway in a service mesh.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS App Mesh's
+// API operation UpdateGatewayRoute for usage and error information.
+//
+// Returned Error Types:
+// * BadRequestException
+// The request syntax was malformed. Check your request syntax and try again.
+//
+// * ConflictException
+// The request contains a client token that was used for a previous update resource
+// call with different specifications. Try the request again with a new client
+// token.
+//
+// * ForbiddenException
+// You don't have permissions to perform this action.
+//
+// * InternalServerErrorException
+// The request processing has failed because of an unknown error, exception,
+// or failure.
+//
+// * LimitExceededException
+// You have exceeded a service limit for your account. For more information,
+// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html)
+// in the AWS App Mesh User Guide.
+//
+// * NotFoundException
+// The specified resource doesn't exist. Check your request syntax and try again.
+//
+// * ServiceUnavailableException
+// The request has failed due to a temporary failure of the service.
+//
+// * TooManyRequestsException
+// The maximum request rate permitted by the App Mesh APIs has been exceeded
+// for your account. For best results, use an increasing or variable sleep interval
+// between requests.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRoute
+func (c *AppMesh) UpdateGatewayRoute(input *UpdateGatewayRouteInput) (*UpdateGatewayRouteOutput, error) {
+ req, out := c.UpdateGatewayRouteRequest(input)
+ return out, req.Send()
+}
+
+// UpdateGatewayRouteWithContext is the same as UpdateGatewayRoute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UpdateGatewayRoute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *AppMesh) UpdateGatewayRouteWithContext(ctx aws.Context, input *UpdateGatewayRouteInput, opts ...request.Option) (*UpdateGatewayRouteOutput, error) {
+ req, out := c.UpdateGatewayRouteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opUpdateMesh = "UpdateMesh"
// UpdateMeshRequest generates a "aws/request.Request" representing the
@@ -2941,58 +3985,165 @@ func (c *AppMesh) UpdateRouteWithContext(ctx aws.Context, input *UpdateRouteInpu
return out, req.Send()
}
-const opUpdateVirtualNode = "UpdateVirtualNode"
+const opUpdateVirtualGateway = "UpdateVirtualGateway"
-// UpdateVirtualNodeRequest generates a "aws/request.Request" representing the
-// client's request for the UpdateVirtualNode operation. The "output" return
+// UpdateVirtualGatewayRequest generates a "aws/request.Request" representing the
+// client's request for the UpdateVirtualGateway operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
-// See UpdateVirtualNode for more information on using the UpdateVirtualNode
+// See UpdateVirtualGateway for more information on using the UpdateVirtualGateway
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
-// // Example sending a request using the UpdateVirtualNodeRequest method.
-// req, resp := client.UpdateVirtualNodeRequest(params)
+// // Example sending a request using the UpdateVirtualGatewayRequest method.
+// req, resp := client.UpdateVirtualGatewayRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode
-func (c *AppMesh) UpdateVirtualNodeRequest(input *UpdateVirtualNodeInput) (req *request.Request, output *UpdateVirtualNodeOutput) {
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGateway
+func (c *AppMesh) UpdateVirtualGatewayRequest(input *UpdateVirtualGatewayInput) (req *request.Request, output *UpdateVirtualGatewayOutput) {
op := &request.Operation{
- Name: opUpdateVirtualNode,
+ Name: opUpdateVirtualGateway,
HTTPMethod: "PUT",
- HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}",
+ HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}",
}
if input == nil {
- input = &UpdateVirtualNodeInput{}
+ input = &UpdateVirtualGatewayInput{}
}
- output = &UpdateVirtualNodeOutput{}
+ output = &UpdateVirtualGatewayOutput{}
req = c.newRequest(op, input, output)
return
}
-// UpdateVirtualNode API operation for AWS App Mesh.
+// UpdateVirtualGateway API operation for AWS App Mesh.
//
-// Updates an existing virtual node in a specified service mesh.
+// Updates an existing virtual gateway in a specified service mesh.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS App Mesh's
-// API operation UpdateVirtualNode for usage and error information.
+// API operation UpdateVirtualGateway for usage and error information.
+//
+// Returned Error Types:
+// * BadRequestException
+// The request syntax was malformed. Check your request syntax and try again.
+//
+// * ConflictException
+// The request contains a client token that was used for a previous update resource
+// call with different specifications. Try the request again with a new client
+// token.
+//
+// * ForbiddenException
+// You don't have permissions to perform this action.
+//
+// * InternalServerErrorException
+// The request processing has failed because of an unknown error, exception,
+// or failure.
+//
+// * LimitExceededException
+// You have exceeded a service limit for your account. For more information,
+// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html)
+// in the AWS App Mesh User Guide.
+//
+// * NotFoundException
+// The specified resource doesn't exist. Check your request syntax and try again.
+//
+// * ServiceUnavailableException
+// The request has failed due to a temporary failure of the service.
+//
+// * TooManyRequestsException
+// The maximum request rate permitted by the App Mesh APIs has been exceeded
+// for your account. For best results, use an increasing or variable sleep interval
+// between requests.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGateway
+func (c *AppMesh) UpdateVirtualGateway(input *UpdateVirtualGatewayInput) (*UpdateVirtualGatewayOutput, error) {
+ req, out := c.UpdateVirtualGatewayRequest(input)
+ return out, req.Send()
+}
+
+// UpdateVirtualGatewayWithContext is the same as UpdateVirtualGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UpdateVirtualGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *AppMesh) UpdateVirtualGatewayWithContext(ctx aws.Context, input *UpdateVirtualGatewayInput, opts ...request.Option) (*UpdateVirtualGatewayOutput, error) {
+ req, out := c.UpdateVirtualGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opUpdateVirtualNode = "UpdateVirtualNode"
+
+// UpdateVirtualNodeRequest generates a "aws/request.Request" representing the
+// client's request for the UpdateVirtualNode operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See UpdateVirtualNode for more information on using the UpdateVirtualNode
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the UpdateVirtualNodeRequest method.
+// req, resp := client.UpdateVirtualNodeRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode
+func (c *AppMesh) UpdateVirtualNodeRequest(input *UpdateVirtualNodeInput) (req *request.Request, output *UpdateVirtualNodeOutput) {
+ op := &request.Operation{
+ Name: opUpdateVirtualNode,
+ HTTPMethod: "PUT",
+ HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}",
+ }
+
+ if input == nil {
+ input = &UpdateVirtualNodeInput{}
+ }
+
+ output = &UpdateVirtualNodeOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// UpdateVirtualNode API operation for AWS App Mesh.
+//
+// Updates an existing virtual node in a specified service mesh.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS App Mesh's
+// API operation UpdateVirtualNode for usage and error information.
//
// Returned Error Types:
// * BadRequestException
@@ -3723,6 +4874,157 @@ func (s *ConflictException) RequestID() string {
return s.RespMetadata.RequestID
}
+type CreateGatewayRouteInput struct {
+ _ struct{} `type:"structure"`
+
+ ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
+
+ // GatewayRouteName is a required field
+ GatewayRouteName *string `locationName:"gatewayRouteName" min:"1" type:"string" required:"true"`
+
+ // MeshName is a required field
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
+
+ // An object that represents a gateway route specification. Specify one gateway
+ // route type.
+ //
+ // Spec is a required field
+ Spec *GatewayRouteSpec `locationName:"spec" type:"structure" required:"true"`
+
+ Tags []*TagRef `locationName:"tags" type:"list"`
+
+ // VirtualGatewayName is a required field
+ VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateGatewayRouteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateGatewayRouteInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateGatewayRouteInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateGatewayRouteInput"}
+ if s.GatewayRouteName == nil {
+ invalidParams.Add(request.NewErrParamRequired("GatewayRouteName"))
+ }
+ if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1))
+ }
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
+ }
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ }
+ if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
+ }
+ if s.Spec == nil {
+ invalidParams.Add(request.NewErrParamRequired("Spec"))
+ }
+ if s.VirtualGatewayName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName"))
+ }
+ if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1))
+ }
+ if s.Spec != nil {
+ if err := s.Spec.Validate(); err != nil {
+ invalidParams.AddNested("Spec", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Tags != nil {
+ for i, v := range s.Tags {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateGatewayRouteInput) SetClientToken(v string) *CreateGatewayRouteInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetGatewayRouteName sets the GatewayRouteName field's value.
+func (s *CreateGatewayRouteInput) SetGatewayRouteName(v string) *CreateGatewayRouteInput {
+ s.GatewayRouteName = &v
+ return s
+}
+
+// SetMeshName sets the MeshName field's value.
+func (s *CreateGatewayRouteInput) SetMeshName(v string) *CreateGatewayRouteInput {
+ s.MeshName = &v
+ return s
+}
+
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *CreateGatewayRouteInput) SetMeshOwner(v string) *CreateGatewayRouteInput {
+ s.MeshOwner = &v
+ return s
+}
+
+// SetSpec sets the Spec field's value.
+func (s *CreateGatewayRouteInput) SetSpec(v *GatewayRouteSpec) *CreateGatewayRouteInput {
+ s.Spec = v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *CreateGatewayRouteInput) SetTags(v []*TagRef) *CreateGatewayRouteInput {
+ s.Tags = v
+ return s
+}
+
+// SetVirtualGatewayName sets the VirtualGatewayName field's value.
+func (s *CreateGatewayRouteInput) SetVirtualGatewayName(v string) *CreateGatewayRouteInput {
+ s.VirtualGatewayName = &v
+ return s
+}
+
+type CreateGatewayRouteOutput struct {
+ _ struct{} `type:"structure" payload:"GatewayRoute"`
+
+ // An object that represents a gateway route returned by a describe operation.
+ //
+ // GatewayRoute is a required field
+ GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateGatewayRouteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateGatewayRouteOutput) GoString() string {
+ return s.String()
+}
+
+// SetGatewayRoute sets the GatewayRoute field's value.
+func (s *CreateGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *CreateGatewayRouteOutput {
+ s.GatewayRoute = v
+ return s
+}
+
type CreateMeshInput struct {
_ struct{} `type:"structure"`
@@ -3977,7 +5279,7 @@ func (s *CreateRouteOutput) SetRoute(v *RouteData) *CreateRouteOutput {
return s
}
-type CreateVirtualNodeInput struct {
+type CreateVirtualGatewayInput struct {
_ struct{} `type:"structure"`
ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
@@ -3987,30 +5289,30 @@ type CreateVirtualNodeInput struct {
MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
- // An object that represents the specification of a virtual node.
+ // An object that represents the specification of a service mesh resource.
//
// Spec is a required field
- Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"`
+ Spec *VirtualGatewaySpec `locationName:"spec" type:"structure" required:"true"`
Tags []*TagRef `locationName:"tags" type:"list"`
- // VirtualNodeName is a required field
- VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"`
+ // VirtualGatewayName is a required field
+ VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s CreateVirtualNodeInput) String() string {
+func (s CreateVirtualGatewayInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s CreateVirtualNodeInput) GoString() string {
+func (s CreateVirtualGatewayInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateVirtualNodeInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateVirtualNodeInput"}
+func (s *CreateVirtualGatewayInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateVirtualGatewayInput"}
if s.MeshName == nil {
invalidParams.Add(request.NewErrParamRequired("MeshName"))
}
@@ -4023,11 +5325,11 @@ func (s *CreateVirtualNodeInput) Validate() error {
if s.Spec == nil {
invalidParams.Add(request.NewErrParamRequired("Spec"))
}
- if s.VirtualNodeName == nil {
- invalidParams.Add(request.NewErrParamRequired("VirtualNodeName"))
+ if s.VirtualGatewayName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName"))
}
- if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1))
+ if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1))
}
if s.Spec != nil {
if err := s.Spec.Validate(); err != nil {
@@ -4052,67 +5354,67 @@ func (s *CreateVirtualNodeInput) Validate() error {
}
// SetClientToken sets the ClientToken field's value.
-func (s *CreateVirtualNodeInput) SetClientToken(v string) *CreateVirtualNodeInput {
+func (s *CreateVirtualGatewayInput) SetClientToken(v string) *CreateVirtualGatewayInput {
s.ClientToken = &v
return s
}
// SetMeshName sets the MeshName field's value.
-func (s *CreateVirtualNodeInput) SetMeshName(v string) *CreateVirtualNodeInput {
+func (s *CreateVirtualGatewayInput) SetMeshName(v string) *CreateVirtualGatewayInput {
s.MeshName = &v
return s
}
// SetMeshOwner sets the MeshOwner field's value.
-func (s *CreateVirtualNodeInput) SetMeshOwner(v string) *CreateVirtualNodeInput {
+func (s *CreateVirtualGatewayInput) SetMeshOwner(v string) *CreateVirtualGatewayInput {
s.MeshOwner = &v
return s
}
// SetSpec sets the Spec field's value.
-func (s *CreateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *CreateVirtualNodeInput {
+func (s *CreateVirtualGatewayInput) SetSpec(v *VirtualGatewaySpec) *CreateVirtualGatewayInput {
s.Spec = v
return s
}
// SetTags sets the Tags field's value.
-func (s *CreateVirtualNodeInput) SetTags(v []*TagRef) *CreateVirtualNodeInput {
+func (s *CreateVirtualGatewayInput) SetTags(v []*TagRef) *CreateVirtualGatewayInput {
s.Tags = v
return s
}
-// SetVirtualNodeName sets the VirtualNodeName field's value.
-func (s *CreateVirtualNodeInput) SetVirtualNodeName(v string) *CreateVirtualNodeInput {
- s.VirtualNodeName = &v
+// SetVirtualGatewayName sets the VirtualGatewayName field's value.
+func (s *CreateVirtualGatewayInput) SetVirtualGatewayName(v string) *CreateVirtualGatewayInput {
+ s.VirtualGatewayName = &v
return s
}
-type CreateVirtualNodeOutput struct {
- _ struct{} `type:"structure" payload:"VirtualNode"`
+type CreateVirtualGatewayOutput struct {
+ _ struct{} `type:"structure" payload:"VirtualGateway"`
- // An object that represents a virtual node returned by a describe operation.
+ // An object that represents a virtual gateway returned by a describe operation.
//
- // VirtualNode is a required field
- VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"`
+ // VirtualGateway is a required field
+ VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" required:"true"`
}
// String returns the string representation
-func (s CreateVirtualNodeOutput) String() string {
+func (s CreateVirtualGatewayOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s CreateVirtualNodeOutput) GoString() string {
+func (s CreateVirtualGatewayOutput) GoString() string {
return s.String()
}
-// SetVirtualNode sets the VirtualNode field's value.
-func (s *CreateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *CreateVirtualNodeOutput {
- s.VirtualNode = v
+// SetVirtualGateway sets the VirtualGateway field's value.
+func (s *CreateVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *CreateVirtualGatewayOutput {
+ s.VirtualGateway = v
return s
}
-type CreateVirtualRouterInput struct {
+type CreateVirtualNodeInput struct {
_ struct{} `type:"structure"`
ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
@@ -4122,29 +5424,164 @@ type CreateVirtualRouterInput struct {
MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
- // An object that represents the specification of a virtual router.
+ // An object that represents the specification of a virtual node.
//
// Spec is a required field
- Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"`
+ Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"`
Tags []*TagRef `locationName:"tags" type:"list"`
- // VirtualRouterName is a required field
- VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"`
+ // VirtualNodeName is a required field
+ VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s CreateVirtualRouterInput) String() string {
+func (s CreateVirtualNodeInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s CreateVirtualRouterInput) GoString() string {
+func (s CreateVirtualNodeInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateVirtualRouterInput) Validate() error {
+func (s *CreateVirtualNodeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateVirtualNodeInput"}
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
+ }
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ }
+ if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
+ }
+ if s.Spec == nil {
+ invalidParams.Add(request.NewErrParamRequired("Spec"))
+ }
+ if s.VirtualNodeName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualNodeName"))
+ }
+ if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1))
+ }
+ if s.Spec != nil {
+ if err := s.Spec.Validate(); err != nil {
+ invalidParams.AddNested("Spec", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Tags != nil {
+ for i, v := range s.Tags {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateVirtualNodeInput) SetClientToken(v string) *CreateVirtualNodeInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetMeshName sets the MeshName field's value.
+func (s *CreateVirtualNodeInput) SetMeshName(v string) *CreateVirtualNodeInput {
+ s.MeshName = &v
+ return s
+}
+
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *CreateVirtualNodeInput) SetMeshOwner(v string) *CreateVirtualNodeInput {
+ s.MeshOwner = &v
+ return s
+}
+
+// SetSpec sets the Spec field's value.
+func (s *CreateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *CreateVirtualNodeInput {
+ s.Spec = v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *CreateVirtualNodeInput) SetTags(v []*TagRef) *CreateVirtualNodeInput {
+ s.Tags = v
+ return s
+}
+
+// SetVirtualNodeName sets the VirtualNodeName field's value.
+func (s *CreateVirtualNodeInput) SetVirtualNodeName(v string) *CreateVirtualNodeInput {
+ s.VirtualNodeName = &v
+ return s
+}
+
+type CreateVirtualNodeOutput struct {
+ _ struct{} `type:"structure" payload:"VirtualNode"`
+
+ // An object that represents a virtual node returned by a describe operation.
+ //
+ // VirtualNode is a required field
+ VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateVirtualNodeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVirtualNodeOutput) GoString() string {
+ return s.String()
+}
+
+// SetVirtualNode sets the VirtualNode field's value.
+func (s *CreateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *CreateVirtualNodeOutput {
+ s.VirtualNode = v
+ return s
+}
+
+type CreateVirtualRouterInput struct {
+ _ struct{} `type:"structure"`
+
+ ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
+
+ // MeshName is a required field
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
+
+ // An object that represents the specification of a virtual router.
+ //
+ // Spec is a required field
+ Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"`
+
+ Tags []*TagRef `locationName:"tags" type:"list"`
+
+ // VirtualRouterName is a required field
+ VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateVirtualRouterInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVirtualRouterInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateVirtualRouterInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateVirtualRouterInput"}
if s.MeshName == nil {
invalidParams.Add(request.NewErrParamRequired("MeshName"))
@@ -4379,6 +5816,111 @@ func (s *CreateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *C
return s
}
+type DeleteGatewayRouteInput struct {
+ _ struct{} `type:"structure"`
+
+ // GatewayRouteName is a required field
+ GatewayRouteName *string `location:"uri" locationName:"gatewayRouteName" min:"1" type:"string" required:"true"`
+
+ // MeshName is a required field
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
+
+ // VirtualGatewayName is a required field
+ VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteGatewayRouteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteGatewayRouteInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteGatewayRouteInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteGatewayRouteInput"}
+ if s.GatewayRouteName == nil {
+ invalidParams.Add(request.NewErrParamRequired("GatewayRouteName"))
+ }
+ if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1))
+ }
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
+ }
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ }
+ if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
+ }
+ if s.VirtualGatewayName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName"))
+ }
+ if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetGatewayRouteName sets the GatewayRouteName field's value.
+func (s *DeleteGatewayRouteInput) SetGatewayRouteName(v string) *DeleteGatewayRouteInput {
+ s.GatewayRouteName = &v
+ return s
+}
+
+// SetMeshName sets the MeshName field's value.
+func (s *DeleteGatewayRouteInput) SetMeshName(v string) *DeleteGatewayRouteInput {
+ s.MeshName = &v
+ return s
+}
+
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *DeleteGatewayRouteInput) SetMeshOwner(v string) *DeleteGatewayRouteInput {
+ s.MeshOwner = &v
+ return s
+}
+
+// SetVirtualGatewayName sets the VirtualGatewayName field's value.
+func (s *DeleteGatewayRouteInput) SetVirtualGatewayName(v string) *DeleteGatewayRouteInput {
+ s.VirtualGatewayName = &v
+ return s
+}
+
+type DeleteGatewayRouteOutput struct {
+ _ struct{} `type:"structure" payload:"GatewayRoute"`
+
+ // An object that represents a gateway route returned by a describe operation.
+ //
+ // GatewayRoute is a required field
+ GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteGatewayRouteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteGatewayRouteOutput) GoString() string {
+ return s.String()
+}
+
+// SetGatewayRoute sets the GatewayRoute field's value.
+func (s *DeleteGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *DeleteGatewayRouteOutput {
+ s.GatewayRoute = v
+ return s
+}
+
type DeleteMeshInput struct {
_ struct{} `type:"structure"`
@@ -4548,7 +6090,7 @@ func (s *DeleteRouteOutput) SetRoute(v *RouteData) *DeleteRouteOutput {
return s
}
-type DeleteVirtualNodeInput struct {
+type DeleteVirtualGatewayInput struct {
_ struct{} `type:"structure"`
// MeshName is a required field
@@ -4556,23 +6098,23 @@ type DeleteVirtualNodeInput struct {
MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
- // VirtualNodeName is a required field
- VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"`
+ // VirtualGatewayName is a required field
+ VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s DeleteVirtualNodeInput) String() string {
+func (s DeleteVirtualGatewayInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s DeleteVirtualNodeInput) GoString() string {
+func (s DeleteVirtualGatewayInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteVirtualNodeInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualNodeInput"}
+func (s *DeleteVirtualGatewayInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualGatewayInput"}
if s.MeshName == nil {
invalidParams.Add(request.NewErrParamRequired("MeshName"))
}
@@ -4582,11 +6124,11 @@ func (s *DeleteVirtualNodeInput) Validate() error {
if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
}
- if s.VirtualNodeName == nil {
- invalidParams.Add(request.NewErrParamRequired("VirtualNodeName"))
+ if s.VirtualGatewayName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName"))
}
- if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1))
+ if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1))
}
if invalidParams.Len() > 0 {
@@ -4596,49 +6138,49 @@ func (s *DeleteVirtualNodeInput) Validate() error {
}
// SetMeshName sets the MeshName field's value.
-func (s *DeleteVirtualNodeInput) SetMeshName(v string) *DeleteVirtualNodeInput {
+func (s *DeleteVirtualGatewayInput) SetMeshName(v string) *DeleteVirtualGatewayInput {
s.MeshName = &v
return s
}
// SetMeshOwner sets the MeshOwner field's value.
-func (s *DeleteVirtualNodeInput) SetMeshOwner(v string) *DeleteVirtualNodeInput {
+func (s *DeleteVirtualGatewayInput) SetMeshOwner(v string) *DeleteVirtualGatewayInput {
s.MeshOwner = &v
return s
}
-// SetVirtualNodeName sets the VirtualNodeName field's value.
-func (s *DeleteVirtualNodeInput) SetVirtualNodeName(v string) *DeleteVirtualNodeInput {
- s.VirtualNodeName = &v
+// SetVirtualGatewayName sets the VirtualGatewayName field's value.
+func (s *DeleteVirtualGatewayInput) SetVirtualGatewayName(v string) *DeleteVirtualGatewayInput {
+ s.VirtualGatewayName = &v
return s
}
-type DeleteVirtualNodeOutput struct {
- _ struct{} `type:"structure" payload:"VirtualNode"`
+type DeleteVirtualGatewayOutput struct {
+ _ struct{} `type:"structure" payload:"VirtualGateway"`
- // An object that represents a virtual node returned by a describe operation.
+ // An object that represents a virtual gateway returned by a describe operation.
//
- // VirtualNode is a required field
- VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"`
+ // VirtualGateway is a required field
+ VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" required:"true"`
}
// String returns the string representation
-func (s DeleteVirtualNodeOutput) String() string {
+func (s DeleteVirtualGatewayOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s DeleteVirtualNodeOutput) GoString() string {
+func (s DeleteVirtualGatewayOutput) GoString() string {
return s.String()
}
-// SetVirtualNode sets the VirtualNode field's value.
-func (s *DeleteVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DeleteVirtualNodeOutput {
- s.VirtualNode = v
+// SetVirtualGateway sets the VirtualGateway field's value.
+func (s *DeleteVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *DeleteVirtualGatewayOutput {
+ s.VirtualGateway = v
return s
}
-type DeleteVirtualRouterInput struct {
+type DeleteVirtualNodeInput struct {
_ struct{} `type:"structure"`
// MeshName is a required field
@@ -4646,23 +6188,23 @@ type DeleteVirtualRouterInput struct {
MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
- // VirtualRouterName is a required field
- VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"`
+ // VirtualNodeName is a required field
+ VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s DeleteVirtualRouterInput) String() string {
+func (s DeleteVirtualNodeInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s DeleteVirtualRouterInput) GoString() string {
+func (s DeleteVirtualNodeInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *DeleteVirtualRouterInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualRouterInput"}
+func (s *DeleteVirtualNodeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualNodeInput"}
if s.MeshName == nil {
invalidParams.Add(request.NewErrParamRequired("MeshName"))
}
@@ -4672,11 +6214,11 @@ func (s *DeleteVirtualRouterInput) Validate() error {
if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
}
- if s.VirtualRouterName == nil {
- invalidParams.Add(request.NewErrParamRequired("VirtualRouterName"))
+ if s.VirtualNodeName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualNodeName"))
}
- if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1))
+ if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1))
}
if invalidParams.Len() > 0 {
@@ -4686,7 +6228,97 @@ func (s *DeleteVirtualRouterInput) Validate() error {
}
// SetMeshName sets the MeshName field's value.
-func (s *DeleteVirtualRouterInput) SetMeshName(v string) *DeleteVirtualRouterInput {
+func (s *DeleteVirtualNodeInput) SetMeshName(v string) *DeleteVirtualNodeInput {
+ s.MeshName = &v
+ return s
+}
+
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *DeleteVirtualNodeInput) SetMeshOwner(v string) *DeleteVirtualNodeInput {
+ s.MeshOwner = &v
+ return s
+}
+
+// SetVirtualNodeName sets the VirtualNodeName field's value.
+func (s *DeleteVirtualNodeInput) SetVirtualNodeName(v string) *DeleteVirtualNodeInput {
+ s.VirtualNodeName = &v
+ return s
+}
+
+type DeleteVirtualNodeOutput struct {
+ _ struct{} `type:"structure" payload:"VirtualNode"`
+
+ // An object that represents a virtual node returned by a describe operation.
+ //
+ // VirtualNode is a required field
+ VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteVirtualNodeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVirtualNodeOutput) GoString() string {
+ return s.String()
+}
+
+// SetVirtualNode sets the VirtualNode field's value.
+func (s *DeleteVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DeleteVirtualNodeOutput {
+ s.VirtualNode = v
+ return s
+}
+
+type DeleteVirtualRouterInput struct {
+ _ struct{} `type:"structure"`
+
+ // MeshName is a required field
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
+
+ // VirtualRouterName is a required field
+ VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteVirtualRouterInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVirtualRouterInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteVirtualRouterInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualRouterInput"}
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
+ }
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ }
+ if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
+ }
+ if s.VirtualRouterName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualRouterName"))
+ }
+ if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetMeshName sets the MeshName field's value.
+func (s *DeleteVirtualRouterInput) SetMeshName(v string) *DeleteVirtualRouterInput {
s.MeshName = &v
return s
}
@@ -4818,6 +6450,111 @@ func (s *DeleteVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *D
return s
}
+type DescribeGatewayRouteInput struct {
+ _ struct{} `type:"structure"`
+
+ // GatewayRouteName is a required field
+ GatewayRouteName *string `location:"uri" locationName:"gatewayRouteName" min:"1" type:"string" required:"true"`
+
+ // MeshName is a required field
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
+
+ // VirtualGatewayName is a required field
+ VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeGatewayRouteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeGatewayRouteInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeGatewayRouteInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeGatewayRouteInput"}
+ if s.GatewayRouteName == nil {
+ invalidParams.Add(request.NewErrParamRequired("GatewayRouteName"))
+ }
+ if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1))
+ }
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
+ }
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ }
+ if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
+ }
+ if s.VirtualGatewayName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName"))
+ }
+ if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetGatewayRouteName sets the GatewayRouteName field's value.
+func (s *DescribeGatewayRouteInput) SetGatewayRouteName(v string) *DescribeGatewayRouteInput {
+ s.GatewayRouteName = &v
+ return s
+}
+
+// SetMeshName sets the MeshName field's value.
+func (s *DescribeGatewayRouteInput) SetMeshName(v string) *DescribeGatewayRouteInput {
+ s.MeshName = &v
+ return s
+}
+
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *DescribeGatewayRouteInput) SetMeshOwner(v string) *DescribeGatewayRouteInput {
+ s.MeshOwner = &v
+ return s
+}
+
+// SetVirtualGatewayName sets the VirtualGatewayName field's value.
+func (s *DescribeGatewayRouteInput) SetVirtualGatewayName(v string) *DescribeGatewayRouteInput {
+ s.VirtualGatewayName = &v
+ return s
+}
+
+type DescribeGatewayRouteOutput struct {
+ _ struct{} `type:"structure" payload:"GatewayRoute"`
+
+ // An object that represents a gateway route returned by a describe operation.
+ //
+ // GatewayRoute is a required field
+ GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeGatewayRouteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeGatewayRouteOutput) GoString() string {
+ return s.String()
+}
+
+// SetGatewayRoute sets the GatewayRoute field's value.
+func (s *DescribeGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *DescribeGatewayRouteOutput {
+ s.GatewayRoute = v
+ return s
+}
+
type DescribeMeshInput struct {
_ struct{} `type:"structure"`
@@ -4998,6 +6735,96 @@ func (s *DescribeRouteOutput) SetRoute(v *RouteData) *DescribeRouteOutput {
return s
}
+type DescribeVirtualGatewayInput struct {
+ _ struct{} `type:"structure"`
+
+ // MeshName is a required field
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
+
+ // VirtualGatewayName is a required field
+ VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeVirtualGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVirtualGatewayInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeVirtualGatewayInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualGatewayInput"}
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
+ }
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ }
+ if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
+ }
+ if s.VirtualGatewayName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName"))
+ }
+ if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetMeshName sets the MeshName field's value.
+func (s *DescribeVirtualGatewayInput) SetMeshName(v string) *DescribeVirtualGatewayInput {
+ s.MeshName = &v
+ return s
+}
+
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *DescribeVirtualGatewayInput) SetMeshOwner(v string) *DescribeVirtualGatewayInput {
+ s.MeshOwner = &v
+ return s
+}
+
+// SetVirtualGatewayName sets the VirtualGatewayName field's value.
+func (s *DescribeVirtualGatewayInput) SetVirtualGatewayName(v string) *DescribeVirtualGatewayInput {
+ s.VirtualGatewayName = &v
+ return s
+}
+
+type DescribeVirtualGatewayOutput struct {
+ _ struct{} `type:"structure" payload:"VirtualGateway"`
+
+ // An object that represents a virtual gateway returned by a describe operation.
+ //
+ // VirtualGateway is a required field
+ VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s DescribeVirtualGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVirtualGatewayOutput) GoString() string {
+ return s.String()
+}
+
+// SetVirtualGateway sets the VirtualGateway field's value.
+func (s *DescribeVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *DescribeVirtualGatewayOutput {
+ s.VirtualGateway = v
+ return s
+}
+
type DescribeVirtualNodeInput struct {
_ struct{} `type:"structure"`
@@ -5470,146 +7297,219 @@ func (s *ForbiddenException) RequestID() string {
return s.RespMetadata.RequestID
}
-// An object that represents a retry policy. Specify at least one value for
-// at least one of the types of RetryEvents, a value for maxRetries, and a value
-// for perRetryTimeout.
-type GrpcRetryPolicy struct {
+// An object that represents a gateway route returned by a describe operation.
+type GatewayRouteData struct {
_ struct{} `type:"structure"`
- GrpcRetryEvents []*string `locationName:"grpcRetryEvents" min:"1" type:"list"`
+ // GatewayRouteName is a required field
+ GatewayRouteName *string `locationName:"gatewayRouteName" min:"1" type:"string" required:"true"`
- HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"`
+ // MeshName is a required field
+ MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"`
- // MaxRetries is a required field
- MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"`
+ // An object that represents metadata for a resource.
+ //
+ // Metadata is a required field
+ Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"`
- // An object that represents a duration of time.
+ // An object that represents a gateway route specification. Specify one gateway
+ // route type.
//
- // PerRetryTimeout is a required field
- PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"`
+ // Spec is a required field
+ Spec *GatewayRouteSpec `locationName:"spec" type:"structure" required:"true"`
- TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list"`
+ // An object that represents the current status of a gateway route.
+ //
+ // Status is a required field
+ Status *GatewayRouteStatus `locationName:"status" type:"structure" required:"true"`
+
+ // VirtualGatewayName is a required field
+ VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s GrpcRetryPolicy) String() string {
+func (s GatewayRouteData) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s GrpcRetryPolicy) GoString() string {
+func (s GatewayRouteData) GoString() string {
return s.String()
}
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GrpcRetryPolicy) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GrpcRetryPolicy"}
- if s.GrpcRetryEvents != nil && len(s.GrpcRetryEvents) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("GrpcRetryEvents", 1))
- }
- if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1))
- }
- if s.MaxRetries == nil {
- invalidParams.Add(request.NewErrParamRequired("MaxRetries"))
- }
- if s.PerRetryTimeout == nil {
- invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout"))
- }
- if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
+// SetGatewayRouteName sets the GatewayRouteName field's value.
+func (s *GatewayRouteData) SetGatewayRouteName(v string) *GatewayRouteData {
+ s.GatewayRouteName = &v
+ return s
}
-// SetGrpcRetryEvents sets the GrpcRetryEvents field's value.
-func (s *GrpcRetryPolicy) SetGrpcRetryEvents(v []*string) *GrpcRetryPolicy {
- s.GrpcRetryEvents = v
+// SetMeshName sets the MeshName field's value.
+func (s *GatewayRouteData) SetMeshName(v string) *GatewayRouteData {
+ s.MeshName = &v
return s
}
-// SetHttpRetryEvents sets the HttpRetryEvents field's value.
-func (s *GrpcRetryPolicy) SetHttpRetryEvents(v []*string) *GrpcRetryPolicy {
- s.HttpRetryEvents = v
+// SetMetadata sets the Metadata field's value.
+func (s *GatewayRouteData) SetMetadata(v *ResourceMetadata) *GatewayRouteData {
+ s.Metadata = v
return s
}
-// SetMaxRetries sets the MaxRetries field's value.
-func (s *GrpcRetryPolicy) SetMaxRetries(v int64) *GrpcRetryPolicy {
- s.MaxRetries = &v
+// SetSpec sets the Spec field's value.
+func (s *GatewayRouteData) SetSpec(v *GatewayRouteSpec) *GatewayRouteData {
+ s.Spec = v
return s
}
-// SetPerRetryTimeout sets the PerRetryTimeout field's value.
-func (s *GrpcRetryPolicy) SetPerRetryTimeout(v *Duration) *GrpcRetryPolicy {
- s.PerRetryTimeout = v
+// SetStatus sets the Status field's value.
+func (s *GatewayRouteData) SetStatus(v *GatewayRouteStatus) *GatewayRouteData {
+ s.Status = v
return s
}
-// SetTcpRetryEvents sets the TcpRetryEvents field's value.
-func (s *GrpcRetryPolicy) SetTcpRetryEvents(v []*string) *GrpcRetryPolicy {
- s.TcpRetryEvents = v
+// SetVirtualGatewayName sets the VirtualGatewayName field's value.
+func (s *GatewayRouteData) SetVirtualGatewayName(v string) *GatewayRouteData {
+ s.VirtualGatewayName = &v
return s
}
-// An object that represents a gRPC route type.
-type GrpcRoute struct {
+// An object that represents a gateway route returned by a list operation.
+type GatewayRouteRef struct {
_ struct{} `type:"structure"`
- // An object that represents the action to take if a match is determined.
- //
- // Action is a required field
- Action *GrpcRouteAction `locationName:"action" type:"structure" required:"true"`
+ // Arn is a required field
+ Arn *string `locationName:"arn" type:"string" required:"true"`
- // An object that represents the criteria for determining a request match.
- //
- // Match is a required field
- Match *GrpcRouteMatch `locationName:"match" type:"structure" required:"true"`
+ // CreatedAt is a required field
+ CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
- // An object that represents a retry policy. Specify at least one value for
- // at least one of the types of RetryEvents, a value for maxRetries, and a value
- // for perRetryTimeout.
- RetryPolicy *GrpcRetryPolicy `locationName:"retryPolicy" type:"structure"`
+ // GatewayRouteName is a required field
+ GatewayRouteName *string `locationName:"gatewayRouteName" min:"1" type:"string" required:"true"`
- Timeout *GrpcTimeout `locationName:"timeout" type:"structure"`
+ // LastUpdatedAt is a required field
+ LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"`
+
+ // MeshName is a required field
+ MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ // MeshOwner is a required field
+ MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"`
+
+ // ResourceOwner is a required field
+ ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"`
+
+ // Version is a required field
+ Version *int64 `locationName:"version" type:"long" required:"true"`
+
+ // VirtualGatewayName is a required field
+ VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s GrpcRoute) String() string {
+func (s GatewayRouteRef) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s GrpcRoute) GoString() string {
+func (s GatewayRouteRef) GoString() string {
+ return s.String()
+}
+
+// SetArn sets the Arn field's value.
+func (s *GatewayRouteRef) SetArn(v string) *GatewayRouteRef {
+ s.Arn = &v
+ return s
+}
+
+// SetCreatedAt sets the CreatedAt field's value.
+func (s *GatewayRouteRef) SetCreatedAt(v time.Time) *GatewayRouteRef {
+ s.CreatedAt = &v
+ return s
+}
+
+// SetGatewayRouteName sets the GatewayRouteName field's value.
+func (s *GatewayRouteRef) SetGatewayRouteName(v string) *GatewayRouteRef {
+ s.GatewayRouteName = &v
+ return s
+}
+
+// SetLastUpdatedAt sets the LastUpdatedAt field's value.
+func (s *GatewayRouteRef) SetLastUpdatedAt(v time.Time) *GatewayRouteRef {
+ s.LastUpdatedAt = &v
+ return s
+}
+
+// SetMeshName sets the MeshName field's value.
+func (s *GatewayRouteRef) SetMeshName(v string) *GatewayRouteRef {
+ s.MeshName = &v
+ return s
+}
+
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *GatewayRouteRef) SetMeshOwner(v string) *GatewayRouteRef {
+ s.MeshOwner = &v
+ return s
+}
+
+// SetResourceOwner sets the ResourceOwner field's value.
+func (s *GatewayRouteRef) SetResourceOwner(v string) *GatewayRouteRef {
+ s.ResourceOwner = &v
+ return s
+}
+
+// SetVersion sets the Version field's value.
+func (s *GatewayRouteRef) SetVersion(v int64) *GatewayRouteRef {
+ s.Version = &v
+ return s
+}
+
+// SetVirtualGatewayName sets the VirtualGatewayName field's value.
+func (s *GatewayRouteRef) SetVirtualGatewayName(v string) *GatewayRouteRef {
+ s.VirtualGatewayName = &v
+ return s
+}
+
+// An object that represents a gateway route specification. Specify one gateway
+// route type.
+type GatewayRouteSpec struct {
+ _ struct{} `type:"structure"`
+
+ // An object that represents a gRPC gateway route.
+ GrpcRoute *GrpcGatewayRoute `locationName:"grpcRoute" type:"structure"`
+
+ // An object that represents an HTTP gateway route.
+ Http2Route *HttpGatewayRoute `locationName:"http2Route" type:"structure"`
+
+ // An object that represents an HTTP gateway route.
+ HttpRoute *HttpGatewayRoute `locationName:"httpRoute" type:"structure"`
+}
+
+// String returns the string representation
+func (s GatewayRouteSpec) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GatewayRouteSpec) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *GrpcRoute) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GrpcRoute"}
- if s.Action == nil {
- invalidParams.Add(request.NewErrParamRequired("Action"))
- }
- if s.Match == nil {
- invalidParams.Add(request.NewErrParamRequired("Match"))
- }
- if s.Action != nil {
- if err := s.Action.Validate(); err != nil {
- invalidParams.AddNested("Action", err.(request.ErrInvalidParams))
+func (s *GatewayRouteSpec) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GatewayRouteSpec"}
+ if s.GrpcRoute != nil {
+ if err := s.GrpcRoute.Validate(); err != nil {
+ invalidParams.AddNested("GrpcRoute", err.(request.ErrInvalidParams))
}
}
- if s.Match != nil {
- if err := s.Match.Validate(); err != nil {
- invalidParams.AddNested("Match", err.(request.ErrInvalidParams))
+ if s.Http2Route != nil {
+ if err := s.Http2Route.Validate(); err != nil {
+ invalidParams.AddNested("Http2Route", err.(request.ErrInvalidParams))
}
}
- if s.RetryPolicy != nil {
- if err := s.RetryPolicy.Validate(); err != nil {
- invalidParams.AddNested("RetryPolicy", err.(request.ErrInvalidParams))
+ if s.HttpRoute != nil {
+ if err := s.HttpRoute.Validate(); err != nil {
+ invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams))
}
}
@@ -5619,65 +7519,77 @@ func (s *GrpcRoute) Validate() error {
return nil
}
-// SetAction sets the Action field's value.
-func (s *GrpcRoute) SetAction(v *GrpcRouteAction) *GrpcRoute {
- s.Action = v
+// SetGrpcRoute sets the GrpcRoute field's value.
+func (s *GatewayRouteSpec) SetGrpcRoute(v *GrpcGatewayRoute) *GatewayRouteSpec {
+ s.GrpcRoute = v
return s
}
-// SetMatch sets the Match field's value.
-func (s *GrpcRoute) SetMatch(v *GrpcRouteMatch) *GrpcRoute {
- s.Match = v
+// SetHttp2Route sets the Http2Route field's value.
+func (s *GatewayRouteSpec) SetHttp2Route(v *HttpGatewayRoute) *GatewayRouteSpec {
+ s.Http2Route = v
return s
}
-// SetRetryPolicy sets the RetryPolicy field's value.
-func (s *GrpcRoute) SetRetryPolicy(v *GrpcRetryPolicy) *GrpcRoute {
- s.RetryPolicy = v
+// SetHttpRoute sets the HttpRoute field's value.
+func (s *GatewayRouteSpec) SetHttpRoute(v *HttpGatewayRoute) *GatewayRouteSpec {
+ s.HttpRoute = v
return s
}
-// SetTimeout sets the Timeout field's value.
-func (s *GrpcRoute) SetTimeout(v *GrpcTimeout) *GrpcRoute {
- s.Timeout = v
+// An object that represents the current status of a gateway route.
+type GatewayRouteStatus struct {
+ _ struct{} `type:"structure"`
+
+ // Status is a required field
+ Status *string `locationName:"status" type:"string" required:"true" enum:"GatewayRouteStatusCode"`
+}
+
+// String returns the string representation
+func (s GatewayRouteStatus) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GatewayRouteStatus) GoString() string {
+ return s.String()
+}
+
+// SetStatus sets the Status field's value.
+func (s *GatewayRouteStatus) SetStatus(v string) *GatewayRouteStatus {
+ s.Status = &v
return s
}
-// An object that represents the action to take if a match is determined.
-type GrpcRouteAction struct {
+// An object that represents a gateway route target.
+type GatewayRouteTarget struct {
_ struct{} `type:"structure"`
- // WeightedTargets is a required field
- WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"`
+ // An object that represents the virtual service that traffic is routed to.
+ //
+ // VirtualService is a required field
+ VirtualService *GatewayRouteVirtualService `locationName:"virtualService" type:"structure" required:"true"`
}
// String returns the string representation
-func (s GrpcRouteAction) String() string {
+func (s GatewayRouteTarget) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s GrpcRouteAction) GoString() string {
+func (s GatewayRouteTarget) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *GrpcRouteAction) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GrpcRouteAction"}
- if s.WeightedTargets == nil {
- invalidParams.Add(request.NewErrParamRequired("WeightedTargets"))
- }
- if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1))
+func (s *GatewayRouteTarget) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GatewayRouteTarget"}
+ if s.VirtualService == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualService"))
}
- if s.WeightedTargets != nil {
- for i, v := range s.WeightedTargets {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams))
- }
+ if s.VirtualService != nil {
+ if err := s.VirtualService.Validate(); err != nil {
+ invalidParams.AddNested("VirtualService", err.(request.ErrInvalidParams))
}
}
@@ -5687,51 +7599,38 @@ func (s *GrpcRouteAction) Validate() error {
return nil
}
-// SetWeightedTargets sets the WeightedTargets field's value.
-func (s *GrpcRouteAction) SetWeightedTargets(v []*WeightedTarget) *GrpcRouteAction {
- s.WeightedTargets = v
+// SetVirtualService sets the VirtualService field's value.
+func (s *GatewayRouteTarget) SetVirtualService(v *GatewayRouteVirtualService) *GatewayRouteTarget {
+ s.VirtualService = v
return s
}
-// An object that represents the criteria for determining a request match.
-type GrpcRouteMatch struct {
+// An object that represents the virtual service that traffic is routed to.
+type GatewayRouteVirtualService struct {
_ struct{} `type:"structure"`
- Metadata []*GrpcRouteMetadata `locationName:"metadata" min:"1" type:"list"`
-
- MethodName *string `locationName:"methodName" min:"1" type:"string"`
-
- ServiceName *string `locationName:"serviceName" type:"string"`
+ // VirtualServiceName is a required field
+ VirtualServiceName *string `locationName:"virtualServiceName" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s GrpcRouteMatch) String() string {
+func (s GatewayRouteVirtualService) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s GrpcRouteMatch) GoString() string {
+func (s GatewayRouteVirtualService) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *GrpcRouteMatch) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMatch"}
- if s.Metadata != nil && len(s.Metadata) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Metadata", 1))
- }
- if s.MethodName != nil && len(*s.MethodName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MethodName", 1))
+func (s *GatewayRouteVirtualService) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GatewayRouteVirtualService"}
+ if s.VirtualServiceName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualServiceName"))
}
- if s.Metadata != nil {
- for i, v := range s.Metadata {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metadata", i), err.(request.ErrInvalidParams))
- }
- }
+ if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1))
}
if invalidParams.Len() > 0 {
@@ -5740,59 +7639,49 @@ func (s *GrpcRouteMatch) Validate() error {
return nil
}
-// SetMetadata sets the Metadata field's value.
-func (s *GrpcRouteMatch) SetMetadata(v []*GrpcRouteMetadata) *GrpcRouteMatch {
- s.Metadata = v
+// SetVirtualServiceName sets the VirtualServiceName field's value.
+func (s *GatewayRouteVirtualService) SetVirtualServiceName(v string) *GatewayRouteVirtualService {
+ s.VirtualServiceName = &v
return s
}
-// SetMethodName sets the MethodName field's value.
-func (s *GrpcRouteMatch) SetMethodName(v string) *GrpcRouteMatch {
- s.MethodName = &v
- return s
-}
-
-// SetServiceName sets the ServiceName field's value.
-func (s *GrpcRouteMatch) SetServiceName(v string) *GrpcRouteMatch {
- s.ServiceName = &v
- return s
-}
-
-// An object that represents the match metadata for the route.
-type GrpcRouteMetadata struct {
+// An object that represents a gRPC gateway route.
+type GrpcGatewayRoute struct {
_ struct{} `type:"structure"`
- Invert *bool `locationName:"invert" type:"boolean"`
-
- // An object that represents the match method. Specify one of the match values.
- Match *GrpcRouteMetadataMatchMethod `locationName:"match" type:"structure"`
+ // An object that represents the action to take if a match is determined.
+ //
+ // Action is a required field
+ Action *GrpcGatewayRouteAction `locationName:"action" type:"structure" required:"true"`
- // Name is a required field
- Name *string `locationName:"name" min:"1" type:"string" required:"true"`
+ // An object that represents the criteria for determining a request match.
+ //
+ // Match is a required field
+ Match *GrpcGatewayRouteMatch `locationName:"match" type:"structure" required:"true"`
}
// String returns the string representation
-func (s GrpcRouteMetadata) String() string {
+func (s GrpcGatewayRoute) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s GrpcRouteMetadata) GoString() string {
+func (s GrpcGatewayRoute) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *GrpcRouteMetadata) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadata"}
- if s.Name == nil {
- invalidParams.Add(request.NewErrParamRequired("Name"))
+func (s *GrpcGatewayRoute) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GrpcGatewayRoute"}
+ if s.Action == nil {
+ invalidParams.Add(request.NewErrParamRequired("Action"))
}
- if s.Name != nil && len(*s.Name) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Name", 1))
+ if s.Match == nil {
+ invalidParams.Add(request.NewErrParamRequired("Match"))
}
- if s.Match != nil {
- if err := s.Match.Validate(); err != nil {
- invalidParams.AddNested("Match", err.(request.ErrInvalidParams))
+ if s.Action != nil {
+ if err := s.Action.Validate(); err != nil {
+ invalidParams.AddNested("Action", err.(request.ErrInvalidParams))
}
}
@@ -5802,71 +7691,47 @@ func (s *GrpcRouteMetadata) Validate() error {
return nil
}
-// SetInvert sets the Invert field's value.
-func (s *GrpcRouteMetadata) SetInvert(v bool) *GrpcRouteMetadata {
- s.Invert = &v
+// SetAction sets the Action field's value.
+func (s *GrpcGatewayRoute) SetAction(v *GrpcGatewayRouteAction) *GrpcGatewayRoute {
+ s.Action = v
return s
}
// SetMatch sets the Match field's value.
-func (s *GrpcRouteMetadata) SetMatch(v *GrpcRouteMetadataMatchMethod) *GrpcRouteMetadata {
+func (s *GrpcGatewayRoute) SetMatch(v *GrpcGatewayRouteMatch) *GrpcGatewayRoute {
s.Match = v
return s
}
-// SetName sets the Name field's value.
-func (s *GrpcRouteMetadata) SetName(v string) *GrpcRouteMetadata {
- s.Name = &v
- return s
-}
-
-// An object that represents the match method. Specify one of the match values.
-type GrpcRouteMetadataMatchMethod struct {
+// An object that represents the action to take if a match is determined.
+type GrpcGatewayRouteAction struct {
_ struct{} `type:"structure"`
- Exact *string `locationName:"exact" min:"1" type:"string"`
-
- Prefix *string `locationName:"prefix" min:"1" type:"string"`
-
- // An object that represents the range of values to match on. The first character
- // of the range is included in the range, though the last character is not.
- // For example, if the range specified were 1-100, only values 1-99 would be
- // matched.
- Range *MatchRange `locationName:"range" type:"structure"`
-
- Regex *string `locationName:"regex" min:"1" type:"string"`
-
- Suffix *string `locationName:"suffix" min:"1" type:"string"`
+ // An object that represents a gateway route target.
+ //
+ // Target is a required field
+ Target *GatewayRouteTarget `locationName:"target" type:"structure" required:"true"`
}
// String returns the string representation
-func (s GrpcRouteMetadataMatchMethod) String() string {
+func (s GrpcGatewayRouteAction) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s GrpcRouteMetadataMatchMethod) GoString() string {
+func (s GrpcGatewayRouteAction) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *GrpcRouteMetadataMatchMethod) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadataMatchMethod"}
- if s.Exact != nil && len(*s.Exact) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Exact", 1))
- }
- if s.Prefix != nil && len(*s.Prefix) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Prefix", 1))
- }
- if s.Regex != nil && len(*s.Regex) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Regex", 1))
- }
- if s.Suffix != nil && len(*s.Suffix) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Suffix", 1))
- }
- if s.Range != nil {
- if err := s.Range.Validate(); err != nil {
- invalidParams.AddNested("Range", err.(request.ErrInvalidParams))
+func (s *GrpcGatewayRouteAction) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GrpcGatewayRouteAction"}
+ if s.Target == nil {
+ invalidParams.Add(request.NewErrParamRequired("Target"))
+ }
+ if s.Target != nil {
+ if err := s.Target.Validate(); err != nil {
+ invalidParams.AddNested("Target", err.(request.ErrInvalidParams))
}
}
@@ -5876,117 +7741,83 @@ func (s *GrpcRouteMetadataMatchMethod) Validate() error {
return nil
}
-// SetExact sets the Exact field's value.
-func (s *GrpcRouteMetadataMatchMethod) SetExact(v string) *GrpcRouteMetadataMatchMethod {
- s.Exact = &v
- return s
-}
-
-// SetPrefix sets the Prefix field's value.
-func (s *GrpcRouteMetadataMatchMethod) SetPrefix(v string) *GrpcRouteMetadataMatchMethod {
- s.Prefix = &v
- return s
-}
-
-// SetRange sets the Range field's value.
-func (s *GrpcRouteMetadataMatchMethod) SetRange(v *MatchRange) *GrpcRouteMetadataMatchMethod {
- s.Range = v
- return s
-}
-
-// SetRegex sets the Regex field's value.
-func (s *GrpcRouteMetadataMatchMethod) SetRegex(v string) *GrpcRouteMetadataMatchMethod {
- s.Regex = &v
- return s
-}
-
-// SetSuffix sets the Suffix field's value.
-func (s *GrpcRouteMetadataMatchMethod) SetSuffix(v string) *GrpcRouteMetadataMatchMethod {
- s.Suffix = &v
+// SetTarget sets the Target field's value.
+func (s *GrpcGatewayRouteAction) SetTarget(v *GatewayRouteTarget) *GrpcGatewayRouteAction {
+ s.Target = v
return s
}
-type GrpcTimeout struct {
+// An object that represents the criteria for determining a request match.
+type GrpcGatewayRouteMatch struct {
_ struct{} `type:"structure"`
- // An object that represents a duration of time.
- Idle *Duration `locationName:"idle" type:"structure"`
-
- // An object that represents a duration of time.
- PerRequest *Duration `locationName:"perRequest" type:"structure"`
+ ServiceName *string `locationName:"serviceName" type:"string"`
}
// String returns the string representation
-func (s GrpcTimeout) String() string {
+func (s GrpcGatewayRouteMatch) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s GrpcTimeout) GoString() string {
+func (s GrpcGatewayRouteMatch) GoString() string {
return s.String()
}
-// SetIdle sets the Idle field's value.
-func (s *GrpcTimeout) SetIdle(v *Duration) *GrpcTimeout {
- s.Idle = v
- return s
-}
-
-// SetPerRequest sets the PerRequest field's value.
-func (s *GrpcTimeout) SetPerRequest(v *Duration) *GrpcTimeout {
- s.PerRequest = v
+// SetServiceName sets the ServiceName field's value.
+func (s *GrpcGatewayRouteMatch) SetServiceName(v string) *GrpcGatewayRouteMatch {
+ s.ServiceName = &v
return s
}
-// An object that represents the method and value to match with the header value
-// sent in a request. Specify one match method.
-type HeaderMatchMethod struct {
+// An object that represents a retry policy. Specify at least one value for
+// at least one of the types of RetryEvents, a value for maxRetries, and a value
+// for perRetryTimeout.
+type GrpcRetryPolicy struct {
_ struct{} `type:"structure"`
- Exact *string `locationName:"exact" min:"1" type:"string"`
+ GrpcRetryEvents []*string `locationName:"grpcRetryEvents" min:"1" type:"list"`
- Prefix *string `locationName:"prefix" min:"1" type:"string"`
+ HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"`
- // An object that represents the range of values to match on. The first character
- // of the range is included in the range, though the last character is not.
- // For example, if the range specified were 1-100, only values 1-99 would be
- // matched.
- Range *MatchRange `locationName:"range" type:"structure"`
+ // MaxRetries is a required field
+ MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"`
- Regex *string `locationName:"regex" min:"1" type:"string"`
+ // An object that represents a duration of time.
+ //
+ // PerRetryTimeout is a required field
+ PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"`
- Suffix *string `locationName:"suffix" min:"1" type:"string"`
+ TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list"`
}
// String returns the string representation
-func (s HeaderMatchMethod) String() string {
+func (s GrpcRetryPolicy) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s HeaderMatchMethod) GoString() string {
+func (s GrpcRetryPolicy) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *HeaderMatchMethod) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "HeaderMatchMethod"}
- if s.Exact != nil && len(*s.Exact) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Exact", 1))
+func (s *GrpcRetryPolicy) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GrpcRetryPolicy"}
+ if s.GrpcRetryEvents != nil && len(s.GrpcRetryEvents) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("GrpcRetryEvents", 1))
}
- if s.Prefix != nil && len(*s.Prefix) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Prefix", 1))
+ if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1))
}
- if s.Regex != nil && len(*s.Regex) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Regex", 1))
+ if s.MaxRetries == nil {
+ invalidParams.Add(request.NewErrParamRequired("MaxRetries"))
}
- if s.Suffix != nil && len(*s.Suffix) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Suffix", 1))
+ if s.PerRetryTimeout == nil {
+ invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout"))
}
- if s.Range != nil {
- if err := s.Range.Validate(); err != nil {
- invalidParams.AddNested("Range", err.(request.ErrInvalidParams))
- }
+ if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1))
}
if invalidParams.Len() > 0 {
@@ -5995,263 +7826,72 @@ func (s *HeaderMatchMethod) Validate() error {
return nil
}
-// SetExact sets the Exact field's value.
-func (s *HeaderMatchMethod) SetExact(v string) *HeaderMatchMethod {
- s.Exact = &v
+// SetGrpcRetryEvents sets the GrpcRetryEvents field's value.
+func (s *GrpcRetryPolicy) SetGrpcRetryEvents(v []*string) *GrpcRetryPolicy {
+ s.GrpcRetryEvents = v
return s
}
-// SetPrefix sets the Prefix field's value.
-func (s *HeaderMatchMethod) SetPrefix(v string) *HeaderMatchMethod {
- s.Prefix = &v
+// SetHttpRetryEvents sets the HttpRetryEvents field's value.
+func (s *GrpcRetryPolicy) SetHttpRetryEvents(v []*string) *GrpcRetryPolicy {
+ s.HttpRetryEvents = v
return s
}
-// SetRange sets the Range field's value.
-func (s *HeaderMatchMethod) SetRange(v *MatchRange) *HeaderMatchMethod {
- s.Range = v
+// SetMaxRetries sets the MaxRetries field's value.
+func (s *GrpcRetryPolicy) SetMaxRetries(v int64) *GrpcRetryPolicy {
+ s.MaxRetries = &v
return s
}
-// SetRegex sets the Regex field's value.
-func (s *HeaderMatchMethod) SetRegex(v string) *HeaderMatchMethod {
- s.Regex = &v
+// SetPerRetryTimeout sets the PerRetryTimeout field's value.
+func (s *GrpcRetryPolicy) SetPerRetryTimeout(v *Duration) *GrpcRetryPolicy {
+ s.PerRetryTimeout = v
return s
}
-// SetSuffix sets the Suffix field's value.
-func (s *HeaderMatchMethod) SetSuffix(v string) *HeaderMatchMethod {
- s.Suffix = &v
+// SetTcpRetryEvents sets the TcpRetryEvents field's value.
+func (s *GrpcRetryPolicy) SetTcpRetryEvents(v []*string) *GrpcRetryPolicy {
+ s.TcpRetryEvents = v
return s
}
-// An object that represents the health check policy for a virtual node's listener.
-type HealthCheckPolicy struct {
+// An object that represents a gRPC route type.
+type GrpcRoute struct {
_ struct{} `type:"structure"`
- // HealthyThreshold is a required field
- HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"`
-
- // IntervalMillis is a required field
- IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"`
-
- Path *string `locationName:"path" type:"string"`
-
- Port *int64 `locationName:"port" min:"1" type:"integer"`
+ // An object that represents the action to take if a match is determined.
+ //
+ // Action is a required field
+ Action *GrpcRouteAction `locationName:"action" type:"structure" required:"true"`
- // Protocol is a required field
- Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"`
+ // An object that represents the criteria for determining a request match.
+ //
+ // Match is a required field
+ Match *GrpcRouteMatch `locationName:"match" type:"structure" required:"true"`
- // TimeoutMillis is a required field
- TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"`
+ // An object that represents a retry policy. Specify at least one value for
+ // at least one of the types of RetryEvents, a value for maxRetries, and a value
+ // for perRetryTimeout.
+ RetryPolicy *GrpcRetryPolicy `locationName:"retryPolicy" type:"structure"`
- // UnhealthyThreshold is a required field
- UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" type:"integer" required:"true"`
+ // An object that represents types of timeouts.
+ Timeout *GrpcTimeout `locationName:"timeout" type:"structure"`
}
// String returns the string representation
-func (s HealthCheckPolicy) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s HealthCheckPolicy) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *HealthCheckPolicy) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "HealthCheckPolicy"}
- if s.HealthyThreshold == nil {
- invalidParams.Add(request.NewErrParamRequired("HealthyThreshold"))
- }
- if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 {
- invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2))
- }
- if s.IntervalMillis == nil {
- invalidParams.Add(request.NewErrParamRequired("IntervalMillis"))
- }
- if s.IntervalMillis != nil && *s.IntervalMillis < 5000 {
- invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000))
- }
- if s.Port != nil && *s.Port < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Port", 1))
- }
- if s.Protocol == nil {
- invalidParams.Add(request.NewErrParamRequired("Protocol"))
- }
- if s.TimeoutMillis == nil {
- invalidParams.Add(request.NewErrParamRequired("TimeoutMillis"))
- }
- if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 {
- invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000))
- }
- if s.UnhealthyThreshold == nil {
- invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold"))
- }
- if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 {
- invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetHealthyThreshold sets the HealthyThreshold field's value.
-func (s *HealthCheckPolicy) SetHealthyThreshold(v int64) *HealthCheckPolicy {
- s.HealthyThreshold = &v
- return s
-}
-
-// SetIntervalMillis sets the IntervalMillis field's value.
-func (s *HealthCheckPolicy) SetIntervalMillis(v int64) *HealthCheckPolicy {
- s.IntervalMillis = &v
- return s
-}
-
-// SetPath sets the Path field's value.
-func (s *HealthCheckPolicy) SetPath(v string) *HealthCheckPolicy {
- s.Path = &v
- return s
-}
-
-// SetPort sets the Port field's value.
-func (s *HealthCheckPolicy) SetPort(v int64) *HealthCheckPolicy {
- s.Port = &v
- return s
-}
-
-// SetProtocol sets the Protocol field's value.
-func (s *HealthCheckPolicy) SetProtocol(v string) *HealthCheckPolicy {
- s.Protocol = &v
- return s
-}
-
-// SetTimeoutMillis sets the TimeoutMillis field's value.
-func (s *HealthCheckPolicy) SetTimeoutMillis(v int64) *HealthCheckPolicy {
- s.TimeoutMillis = &v
- return s
-}
-
-// SetUnhealthyThreshold sets the UnhealthyThreshold field's value.
-func (s *HealthCheckPolicy) SetUnhealthyThreshold(v int64) *HealthCheckPolicy {
- s.UnhealthyThreshold = &v
- return s
-}
-
-// An object that represents a retry policy. Specify at least one value for
-// at least one of the types of RetryEvents, a value for maxRetries, and a value
-// for perRetryTimeout.
-type HttpRetryPolicy struct {
- _ struct{} `type:"structure"`
-
- HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"`
-
- // MaxRetries is a required field
- MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"`
-
- // An object that represents a duration of time.
- //
- // PerRetryTimeout is a required field
- PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"`
-
- TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list"`
-}
-
-// String returns the string representation
-func (s HttpRetryPolicy) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s HttpRetryPolicy) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *HttpRetryPolicy) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "HttpRetryPolicy"}
- if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1))
- }
- if s.MaxRetries == nil {
- invalidParams.Add(request.NewErrParamRequired("MaxRetries"))
- }
- if s.PerRetryTimeout == nil {
- invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout"))
- }
- if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetHttpRetryEvents sets the HttpRetryEvents field's value.
-func (s *HttpRetryPolicy) SetHttpRetryEvents(v []*string) *HttpRetryPolicy {
- s.HttpRetryEvents = v
- return s
-}
-
-// SetMaxRetries sets the MaxRetries field's value.
-func (s *HttpRetryPolicy) SetMaxRetries(v int64) *HttpRetryPolicy {
- s.MaxRetries = &v
- return s
-}
-
-// SetPerRetryTimeout sets the PerRetryTimeout field's value.
-func (s *HttpRetryPolicy) SetPerRetryTimeout(v *Duration) *HttpRetryPolicy {
- s.PerRetryTimeout = v
- return s
-}
-
-// SetTcpRetryEvents sets the TcpRetryEvents field's value.
-func (s *HttpRetryPolicy) SetTcpRetryEvents(v []*string) *HttpRetryPolicy {
- s.TcpRetryEvents = v
- return s
-}
-
-// An object that represents an HTTP or HTTP/2 route type.
-type HttpRoute struct {
- _ struct{} `type:"structure"`
-
- // An object that represents the action to take if a match is determined.
- //
- // Action is a required field
- Action *HttpRouteAction `locationName:"action" type:"structure" required:"true"`
-
- // An object that represents the requirements for a route to match HTTP requests
- // for a virtual router.
- //
- // Match is a required field
- Match *HttpRouteMatch `locationName:"match" type:"structure" required:"true"`
-
- // An object that represents a retry policy. Specify at least one value for
- // at least one of the types of RetryEvents, a value for maxRetries, and a value
- // for perRetryTimeout.
- RetryPolicy *HttpRetryPolicy `locationName:"retryPolicy" type:"structure"`
-
- Timeout *HttpTimeout `locationName:"timeout" type:"structure"`
-}
-
-// String returns the string representation
-func (s HttpRoute) String() string {
+func (s GrpcRoute) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s HttpRoute) GoString() string {
+func (s GrpcRoute) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *HttpRoute) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "HttpRoute"}
+func (s *GrpcRoute) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GrpcRoute"}
if s.Action == nil {
invalidParams.Add(request.NewErrParamRequired("Action"))
}
@@ -6281,31 +7921,31 @@ func (s *HttpRoute) Validate() error {
}
// SetAction sets the Action field's value.
-func (s *HttpRoute) SetAction(v *HttpRouteAction) *HttpRoute {
+func (s *GrpcRoute) SetAction(v *GrpcRouteAction) *GrpcRoute {
s.Action = v
return s
}
// SetMatch sets the Match field's value.
-func (s *HttpRoute) SetMatch(v *HttpRouteMatch) *HttpRoute {
+func (s *GrpcRoute) SetMatch(v *GrpcRouteMatch) *GrpcRoute {
s.Match = v
return s
}
// SetRetryPolicy sets the RetryPolicy field's value.
-func (s *HttpRoute) SetRetryPolicy(v *HttpRetryPolicy) *HttpRoute {
+func (s *GrpcRoute) SetRetryPolicy(v *GrpcRetryPolicy) *GrpcRoute {
s.RetryPolicy = v
return s
}
// SetTimeout sets the Timeout field's value.
-func (s *HttpRoute) SetTimeout(v *HttpTimeout) *HttpRoute {
+func (s *GrpcRoute) SetTimeout(v *GrpcTimeout) *GrpcRoute {
s.Timeout = v
return s
}
// An object that represents the action to take if a match is determined.
-type HttpRouteAction struct {
+type GrpcRouteAction struct {
_ struct{} `type:"structure"`
// WeightedTargets is a required field
@@ -6313,18 +7953,18 @@ type HttpRouteAction struct {
}
// String returns the string representation
-func (s HttpRouteAction) String() string {
+func (s GrpcRouteAction) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s HttpRouteAction) GoString() string {
+func (s GrpcRouteAction) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *HttpRouteAction) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "HttpRouteAction"}
+func (s *GrpcRouteAction) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GrpcRouteAction"}
if s.WeightedTargets == nil {
invalidParams.Add(request.NewErrParamRequired("WeightedTargets"))
}
@@ -6349,116 +7989,185 @@ func (s *HttpRouteAction) Validate() error {
}
// SetWeightedTargets sets the WeightedTargets field's value.
-func (s *HttpRouteAction) SetWeightedTargets(v []*WeightedTarget) *HttpRouteAction {
+func (s *GrpcRouteAction) SetWeightedTargets(v []*WeightedTarget) *GrpcRouteAction {
s.WeightedTargets = v
return s
}
-// An object that represents the HTTP header in the request.
-type HttpRouteHeader struct {
+// An object that represents the criteria for determining a request match.
+type GrpcRouteMatch struct {
_ struct{} `type:"structure"`
- Invert *bool `locationName:"invert" type:"boolean"`
+ Metadata []*GrpcRouteMetadata `locationName:"metadata" min:"1" type:"list"`
- // An object that represents the method and value to match with the header value
- // sent in a request. Specify one match method.
- Match *HeaderMatchMethod `locationName:"match" type:"structure"`
+ MethodName *string `locationName:"methodName" min:"1" type:"string"`
- // Name is a required field
- Name *string `locationName:"name" min:"1" type:"string" required:"true"`
+ ServiceName *string `locationName:"serviceName" type:"string"`
}
// String returns the string representation
-func (s HttpRouteHeader) String() string {
+func (s GrpcRouteMatch) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s HttpRouteHeader) GoString() string {
+func (s GrpcRouteMatch) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *HttpRouteHeader) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "HttpRouteHeader"}
- if s.Name == nil {
- invalidParams.Add(request.NewErrParamRequired("Name"))
- }
- if s.Name != nil && len(*s.Name) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Name", 1))
- }
- if s.Match != nil {
- if err := s.Match.Validate(); err != nil {
- invalidParams.AddNested("Match", err.(request.ErrInvalidParams))
- }
+func (s *GrpcRouteMatch) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMatch"}
+ if s.Metadata != nil && len(s.Metadata) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Metadata", 1))
}
-
- if invalidParams.Len() > 0 {
- return invalidParams
+ if s.MethodName != nil && len(*s.MethodName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MethodName", 1))
+ }
+ if s.Metadata != nil {
+ for i, v := range s.Metadata {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metadata", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetMetadata sets the Metadata field's value.
+func (s *GrpcRouteMatch) SetMetadata(v []*GrpcRouteMetadata) *GrpcRouteMatch {
+ s.Metadata = v
+ return s
+}
+
+// SetMethodName sets the MethodName field's value.
+func (s *GrpcRouteMatch) SetMethodName(v string) *GrpcRouteMatch {
+ s.MethodName = &v
+ return s
+}
+
+// SetServiceName sets the ServiceName field's value.
+func (s *GrpcRouteMatch) SetServiceName(v string) *GrpcRouteMatch {
+ s.ServiceName = &v
+ return s
+}
+
+// An object that represents the match metadata for the route.
+type GrpcRouteMetadata struct {
+ _ struct{} `type:"structure"`
+
+ Invert *bool `locationName:"invert" type:"boolean"`
+
+ // An object that represents the match method. Specify one of the match values.
+ Match *GrpcRouteMetadataMatchMethod `locationName:"match" type:"structure"`
+
+ // Name is a required field
+ Name *string `locationName:"name" min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GrpcRouteMetadata) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GrpcRouteMetadata) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GrpcRouteMetadata) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadata"}
+ if s.Name == nil {
+ invalidParams.Add(request.NewErrParamRequired("Name"))
+ }
+ if s.Name != nil && len(*s.Name) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Name", 1))
+ }
+ if s.Match != nil {
+ if err := s.Match.Validate(); err != nil {
+ invalidParams.AddNested("Match", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
}
return nil
}
// SetInvert sets the Invert field's value.
-func (s *HttpRouteHeader) SetInvert(v bool) *HttpRouteHeader {
+func (s *GrpcRouteMetadata) SetInvert(v bool) *GrpcRouteMetadata {
s.Invert = &v
return s
}
// SetMatch sets the Match field's value.
-func (s *HttpRouteHeader) SetMatch(v *HeaderMatchMethod) *HttpRouteHeader {
+func (s *GrpcRouteMetadata) SetMatch(v *GrpcRouteMetadataMatchMethod) *GrpcRouteMetadata {
s.Match = v
return s
}
// SetName sets the Name field's value.
-func (s *HttpRouteHeader) SetName(v string) *HttpRouteHeader {
+func (s *GrpcRouteMetadata) SetName(v string) *GrpcRouteMetadata {
s.Name = &v
return s
}
-// An object that represents the requirements for a route to match HTTP requests
-// for a virtual router.
-type HttpRouteMatch struct {
+// An object that represents the match method. Specify one of the match values.
+type GrpcRouteMetadataMatchMethod struct {
_ struct{} `type:"structure"`
- Headers []*HttpRouteHeader `locationName:"headers" min:"1" type:"list"`
+ Exact *string `locationName:"exact" min:"1" type:"string"`
- Method *string `locationName:"method" type:"string" enum:"HttpMethod"`
+ Prefix *string `locationName:"prefix" min:"1" type:"string"`
- // Prefix is a required field
- Prefix *string `locationName:"prefix" type:"string" required:"true"`
+ // An object that represents the range of values to match on. The first character
+ // of the range is included in the range, though the last character is not.
+ // For example, if the range specified were 1-100, only values 1-99 would be
+ // matched.
+ Range *MatchRange `locationName:"range" type:"structure"`
- Scheme *string `locationName:"scheme" type:"string" enum:"HttpScheme"`
+ Regex *string `locationName:"regex" min:"1" type:"string"`
+
+ Suffix *string `locationName:"suffix" min:"1" type:"string"`
}
// String returns the string representation
-func (s HttpRouteMatch) String() string {
+func (s GrpcRouteMetadataMatchMethod) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s HttpRouteMatch) GoString() string {
+func (s GrpcRouteMetadataMatchMethod) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *HttpRouteMatch) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "HttpRouteMatch"}
- if s.Headers != nil && len(s.Headers) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Headers", 1))
+func (s *GrpcRouteMetadataMatchMethod) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadataMatchMethod"}
+ if s.Exact != nil && len(*s.Exact) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Exact", 1))
}
- if s.Prefix == nil {
- invalidParams.Add(request.NewErrParamRequired("Prefix"))
+ if s.Prefix != nil && len(*s.Prefix) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Prefix", 1))
}
- if s.Headers != nil {
- for i, v := range s.Headers {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Headers", i), err.(request.ErrInvalidParams))
- }
+ if s.Regex != nil && len(*s.Regex) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Regex", 1))
+ }
+ if s.Suffix != nil && len(*s.Suffix) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Suffix", 1))
+ }
+ if s.Range != nil {
+ if err := s.Range.Validate(); err != nil {
+ invalidParams.AddNested("Range", err.(request.ErrInvalidParams))
}
}
@@ -6468,31 +8177,38 @@ func (s *HttpRouteMatch) Validate() error {
return nil
}
-// SetHeaders sets the Headers field's value.
-func (s *HttpRouteMatch) SetHeaders(v []*HttpRouteHeader) *HttpRouteMatch {
- s.Headers = v
+// SetExact sets the Exact field's value.
+func (s *GrpcRouteMetadataMatchMethod) SetExact(v string) *GrpcRouteMetadataMatchMethod {
+ s.Exact = &v
return s
}
-// SetMethod sets the Method field's value.
-func (s *HttpRouteMatch) SetMethod(v string) *HttpRouteMatch {
- s.Method = &v
+// SetPrefix sets the Prefix field's value.
+func (s *GrpcRouteMetadataMatchMethod) SetPrefix(v string) *GrpcRouteMetadataMatchMethod {
+ s.Prefix = &v
return s
}
-// SetPrefix sets the Prefix field's value.
-func (s *HttpRouteMatch) SetPrefix(v string) *HttpRouteMatch {
- s.Prefix = &v
+// SetRange sets the Range field's value.
+func (s *GrpcRouteMetadataMatchMethod) SetRange(v *MatchRange) *GrpcRouteMetadataMatchMethod {
+ s.Range = v
return s
}
-// SetScheme sets the Scheme field's value.
-func (s *HttpRouteMatch) SetScheme(v string) *HttpRouteMatch {
- s.Scheme = &v
+// SetRegex sets the Regex field's value.
+func (s *GrpcRouteMetadataMatchMethod) SetRegex(v string) *GrpcRouteMetadataMatchMethod {
+ s.Regex = &v
return s
}
-type HttpTimeout struct {
+// SetSuffix sets the Suffix field's value.
+func (s *GrpcRouteMetadataMatchMethod) SetSuffix(v string) *GrpcRouteMetadataMatchMethod {
+ s.Suffix = &v
+ return s
+}
+
+// An object that represents types of timeouts.
+type GrpcTimeout struct {
_ struct{} `type:"structure"`
// An object that represents a duration of time.
@@ -6503,165 +8219,273 @@ type HttpTimeout struct {
}
// String returns the string representation
-func (s HttpTimeout) String() string {
+func (s GrpcTimeout) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s HttpTimeout) GoString() string {
+func (s GrpcTimeout) GoString() string {
return s.String()
}
// SetIdle sets the Idle field's value.
-func (s *HttpTimeout) SetIdle(v *Duration) *HttpTimeout {
+func (s *GrpcTimeout) SetIdle(v *Duration) *GrpcTimeout {
s.Idle = v
return s
}
// SetPerRequest sets the PerRequest field's value.
-func (s *HttpTimeout) SetPerRequest(v *Duration) *HttpTimeout {
+func (s *GrpcTimeout) SetPerRequest(v *Duration) *GrpcTimeout {
s.PerRequest = v
return s
}
-// The request processing has failed because of an unknown error, exception,
-// or failure.
-type InternalServerErrorException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+// An object that represents the method and value to match with the header value
+// sent in a request. Specify one match method.
+type HeaderMatchMethod struct {
+ _ struct{} `type:"structure"`
- Message_ *string `locationName:"message" type:"string"`
+ Exact *string `locationName:"exact" min:"1" type:"string"`
+
+ Prefix *string `locationName:"prefix" min:"1" type:"string"`
+
+ // An object that represents the range of values to match on. The first character
+ // of the range is included in the range, though the last character is not.
+ // For example, if the range specified were 1-100, only values 1-99 would be
+ // matched.
+ Range *MatchRange `locationName:"range" type:"structure"`
+
+ Regex *string `locationName:"regex" min:"1" type:"string"`
+
+ Suffix *string `locationName:"suffix" min:"1" type:"string"`
}
// String returns the string representation
-func (s InternalServerErrorException) String() string {
+func (s HeaderMatchMethod) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s InternalServerErrorException) GoString() string {
+func (s HeaderMatchMethod) GoString() string {
return s.String()
}
-func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
- return &InternalServerErrorException{
- RespMetadata: v,
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *HeaderMatchMethod) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "HeaderMatchMethod"}
+ if s.Exact != nil && len(*s.Exact) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Exact", 1))
}
-}
-
-// Code returns the exception type name.
-func (s *InternalServerErrorException) Code() string {
- return "InternalServerErrorException"
-}
-
-// Message returns the exception's message.
-func (s *InternalServerErrorException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
+ if s.Prefix != nil && len(*s.Prefix) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Prefix", 1))
+ }
+ if s.Regex != nil && len(*s.Regex) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Regex", 1))
+ }
+ if s.Suffix != nil && len(*s.Suffix) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Suffix", 1))
+ }
+ if s.Range != nil {
+ if err := s.Range.Validate(); err != nil {
+ invalidParams.AddNested("Range", err.(request.ErrInvalidParams))
+ }
}
- return ""
-}
-// OrigErr always returns nil, satisfies awserr.Error interface.
-func (s *InternalServerErrorException) OrigErr() error {
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
return nil
}
-func (s *InternalServerErrorException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
+// SetExact sets the Exact field's value.
+func (s *HeaderMatchMethod) SetExact(v string) *HeaderMatchMethod {
+ s.Exact = &v
+ return s
}
-// Status code returns the HTTP status code for the request's response error.
-func (s *InternalServerErrorException) StatusCode() int {
- return s.RespMetadata.StatusCode
+// SetPrefix sets the Prefix field's value.
+func (s *HeaderMatchMethod) SetPrefix(v string) *HeaderMatchMethod {
+ s.Prefix = &v
+ return s
}
-// RequestID returns the service's response RequestID for request.
-func (s *InternalServerErrorException) RequestID() string {
- return s.RespMetadata.RequestID
+// SetRange sets the Range field's value.
+func (s *HeaderMatchMethod) SetRange(v *MatchRange) *HeaderMatchMethod {
+ s.Range = v
+ return s
}
-// You have exceeded a service limit for your account. For more information,
-// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html)
-// in the AWS App Mesh User Guide.
-type LimitExceededException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+// SetRegex sets the Regex field's value.
+func (s *HeaderMatchMethod) SetRegex(v string) *HeaderMatchMethod {
+ s.Regex = &v
+ return s
+}
- Message_ *string `locationName:"message" type:"string"`
+// SetSuffix sets the Suffix field's value.
+func (s *HeaderMatchMethod) SetSuffix(v string) *HeaderMatchMethod {
+ s.Suffix = &v
+ return s
+}
+
+// An object that represents the health check policy for a virtual node's listener.
+type HealthCheckPolicy struct {
+ _ struct{} `type:"structure"`
+
+ // HealthyThreshold is a required field
+ HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"`
+
+ // IntervalMillis is a required field
+ IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"`
+
+ Path *string `locationName:"path" type:"string"`
+
+ Port *int64 `locationName:"port" min:"1" type:"integer"`
+
+ // Protocol is a required field
+ Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"`
+
+ // TimeoutMillis is a required field
+ TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"`
+
+ // UnhealthyThreshold is a required field
+ UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" type:"integer" required:"true"`
}
// String returns the string representation
-func (s LimitExceededException) String() string {
+func (s HealthCheckPolicy) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s LimitExceededException) GoString() string {
+func (s HealthCheckPolicy) GoString() string {
return s.String()
}
-func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
- return &LimitExceededException{
- RespMetadata: v,
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *HealthCheckPolicy) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "HealthCheckPolicy"}
+ if s.HealthyThreshold == nil {
+ invalidParams.Add(request.NewErrParamRequired("HealthyThreshold"))
+ }
+ if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 {
+ invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2))
+ }
+ if s.IntervalMillis == nil {
+ invalidParams.Add(request.NewErrParamRequired("IntervalMillis"))
+ }
+ if s.IntervalMillis != nil && *s.IntervalMillis < 5000 {
+ invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000))
+ }
+ if s.Port != nil && *s.Port < 1 {
+ invalidParams.Add(request.NewErrParamMinValue("Port", 1))
+ }
+ if s.Protocol == nil {
+ invalidParams.Add(request.NewErrParamRequired("Protocol"))
+ }
+ if s.TimeoutMillis == nil {
+ invalidParams.Add(request.NewErrParamRequired("TimeoutMillis"))
+ }
+ if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 {
+ invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000))
+ }
+ if s.UnhealthyThreshold == nil {
+ invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold"))
+ }
+ if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 {
+ invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
}
+ return nil
}
-// Code returns the exception type name.
-func (s *LimitExceededException) Code() string {
- return "LimitExceededException"
+// SetHealthyThreshold sets the HealthyThreshold field's value.
+func (s *HealthCheckPolicy) SetHealthyThreshold(v int64) *HealthCheckPolicy {
+ s.HealthyThreshold = &v
+ return s
}
-// Message returns the exception's message.
-func (s *LimitExceededException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
+// SetIntervalMillis sets the IntervalMillis field's value.
+func (s *HealthCheckPolicy) SetIntervalMillis(v int64) *HealthCheckPolicy {
+ s.IntervalMillis = &v
+ return s
}
-// OrigErr always returns nil, satisfies awserr.Error interface.
-func (s *LimitExceededException) OrigErr() error {
- return nil
+// SetPath sets the Path field's value.
+func (s *HealthCheckPolicy) SetPath(v string) *HealthCheckPolicy {
+ s.Path = &v
+ return s
}
-func (s *LimitExceededException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
+// SetPort sets the Port field's value.
+func (s *HealthCheckPolicy) SetPort(v int64) *HealthCheckPolicy {
+ s.Port = &v
+ return s
}
-// Status code returns the HTTP status code for the request's response error.
-func (s *LimitExceededException) StatusCode() int {
- return s.RespMetadata.StatusCode
+// SetProtocol sets the Protocol field's value.
+func (s *HealthCheckPolicy) SetProtocol(v string) *HealthCheckPolicy {
+ s.Protocol = &v
+ return s
}
-// RequestID returns the service's response RequestID for request.
-func (s *LimitExceededException) RequestID() string {
- return s.RespMetadata.RequestID
+// SetTimeoutMillis sets the TimeoutMillis field's value.
+func (s *HealthCheckPolicy) SetTimeoutMillis(v int64) *HealthCheckPolicy {
+ s.TimeoutMillis = &v
+ return s
}
-type ListMeshesInput struct {
+// SetUnhealthyThreshold sets the UnhealthyThreshold field's value.
+func (s *HealthCheckPolicy) SetUnhealthyThreshold(v int64) *HealthCheckPolicy {
+ s.UnhealthyThreshold = &v
+ return s
+}
+
+// An object that represents an HTTP gateway route.
+type HttpGatewayRoute struct {
_ struct{} `type:"structure"`
- Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
+ // An object that represents the action to take if a match is determined.
+ //
+ // Action is a required field
+ Action *HttpGatewayRouteAction `locationName:"action" type:"structure" required:"true"`
- NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
+ // An object that represents the criteria for determining a request match.
+ //
+ // Match is a required field
+ Match *HttpGatewayRouteMatch `locationName:"match" type:"structure" required:"true"`
}
// String returns the string representation
-func (s ListMeshesInput) String() string {
+func (s HttpGatewayRoute) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ListMeshesInput) GoString() string {
+func (s HttpGatewayRoute) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListMeshesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListMeshesInput"}
- if s.Limit != nil && *s.Limit < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
+func (s *HttpGatewayRoute) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRoute"}
+ if s.Action == nil {
+ invalidParams.Add(request.NewErrParamRequired("Action"))
+ }
+ if s.Match == nil {
+ invalidParams.Add(request.NewErrParamRequired("Match"))
+ }
+ if s.Action != nil {
+ if err := s.Action.Validate(); err != nil {
+ invalidParams.AddNested("Action", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Match != nil {
+ if err := s.Match.Validate(); err != nil {
+ invalidParams.AddNested("Match", err.(request.ErrInvalidParams))
+ }
}
if invalidParams.Len() > 0 {
@@ -6670,95 +8494,85 @@ func (s *ListMeshesInput) Validate() error {
return nil
}
-// SetLimit sets the Limit field's value.
-func (s *ListMeshesInput) SetLimit(v int64) *ListMeshesInput {
- s.Limit = &v
+// SetAction sets the Action field's value.
+func (s *HttpGatewayRoute) SetAction(v *HttpGatewayRouteAction) *HttpGatewayRoute {
+ s.Action = v
return s
}
-// SetNextToken sets the NextToken field's value.
-func (s *ListMeshesInput) SetNextToken(v string) *ListMeshesInput {
- s.NextToken = &v
+// SetMatch sets the Match field's value.
+func (s *HttpGatewayRoute) SetMatch(v *HttpGatewayRouteMatch) *HttpGatewayRoute {
+ s.Match = v
return s
}
-type ListMeshesOutput struct {
+// An object that represents the action to take if a match is determined.
+type HttpGatewayRouteAction struct {
_ struct{} `type:"structure"`
- // Meshes is a required field
- Meshes []*MeshRef `locationName:"meshes" type:"list" required:"true"`
-
- NextToken *string `locationName:"nextToken" type:"string"`
+ // An object that represents a gateway route target.
+ //
+ // Target is a required field
+ Target *GatewayRouteTarget `locationName:"target" type:"structure" required:"true"`
}
// String returns the string representation
-func (s ListMeshesOutput) String() string {
+func (s HttpGatewayRouteAction) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ListMeshesOutput) GoString() string {
+func (s HttpGatewayRouteAction) GoString() string {
return s.String()
}
-// SetMeshes sets the Meshes field's value.
-func (s *ListMeshesOutput) SetMeshes(v []*MeshRef) *ListMeshesOutput {
- s.Meshes = v
- return s
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *HttpGatewayRouteAction) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRouteAction"}
+ if s.Target == nil {
+ invalidParams.Add(request.NewErrParamRequired("Target"))
+ }
+ if s.Target != nil {
+ if err := s.Target.Validate(); err != nil {
+ invalidParams.AddNested("Target", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
}
-// SetNextToken sets the NextToken field's value.
-func (s *ListMeshesOutput) SetNextToken(v string) *ListMeshesOutput {
- s.NextToken = &v
+// SetTarget sets the Target field's value.
+func (s *HttpGatewayRouteAction) SetTarget(v *GatewayRouteTarget) *HttpGatewayRouteAction {
+ s.Target = v
return s
}
-type ListRoutesInput struct {
+// An object that represents the criteria for determining a request match.
+type HttpGatewayRouteMatch struct {
_ struct{} `type:"structure"`
- Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
-
- // MeshName is a required field
- MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
-
- MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
-
- NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
-
- // VirtualRouterName is a required field
- VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"`
+ // Prefix is a required field
+ Prefix *string `locationName:"prefix" type:"string" required:"true"`
}
// String returns the string representation
-func (s ListRoutesInput) String() string {
+func (s HttpGatewayRouteMatch) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ListRoutesInput) GoString() string {
+func (s HttpGatewayRouteMatch) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListRoutesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListRoutesInput"}
- if s.Limit != nil && *s.Limit < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
- }
- if s.MeshName == nil {
- invalidParams.Add(request.NewErrParamRequired("MeshName"))
- }
- if s.MeshName != nil && len(*s.MeshName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
- }
- if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
- invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
- }
- if s.VirtualRouterName == nil {
- invalidParams.Add(request.NewErrParamRequired("VirtualRouterName"))
- }
- if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1))
+func (s *HttpGatewayRouteMatch) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRouteMatch"}
+ if s.Prefix == nil {
+ invalidParams.Add(request.NewErrParamRequired("Prefix"))
}
if invalidParams.Len() > 0 {
@@ -6767,96 +8581,144 @@ func (s *ListRoutesInput) Validate() error {
return nil
}
-// SetLimit sets the Limit field's value.
-func (s *ListRoutesInput) SetLimit(v int64) *ListRoutesInput {
- s.Limit = &v
+// SetPrefix sets the Prefix field's value.
+func (s *HttpGatewayRouteMatch) SetPrefix(v string) *HttpGatewayRouteMatch {
+ s.Prefix = &v
return s
}
-// SetMeshName sets the MeshName field's value.
-func (s *ListRoutesInput) SetMeshName(v string) *ListRoutesInput {
- s.MeshName = &v
- return s
-}
+// An object that represents a retry policy. Specify at least one value for
+// at least one of the types of RetryEvents, a value for maxRetries, and a value
+// for perRetryTimeout.
+type HttpRetryPolicy struct {
+ _ struct{} `type:"structure"`
-// SetMeshOwner sets the MeshOwner field's value.
-func (s *ListRoutesInput) SetMeshOwner(v string) *ListRoutesInput {
- s.MeshOwner = &v
- return s
-}
-
-// SetNextToken sets the NextToken field's value.
-func (s *ListRoutesInput) SetNextToken(v string) *ListRoutesInput {
- s.NextToken = &v
- return s
-}
-
-// SetVirtualRouterName sets the VirtualRouterName field's value.
-func (s *ListRoutesInput) SetVirtualRouterName(v string) *ListRoutesInput {
- s.VirtualRouterName = &v
- return s
-}
+ HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"`
-type ListRoutesOutput struct {
- _ struct{} `type:"structure"`
+ // MaxRetries is a required field
+ MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"`
- NextToken *string `locationName:"nextToken" type:"string"`
+ // An object that represents a duration of time.
+ //
+ // PerRetryTimeout is a required field
+ PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"`
- // Routes is a required field
- Routes []*RouteRef `locationName:"routes" type:"list" required:"true"`
+ TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list"`
}
// String returns the string representation
-func (s ListRoutesOutput) String() string {
+func (s HttpRetryPolicy) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ListRoutesOutput) GoString() string {
+func (s HttpRetryPolicy) GoString() string {
return s.String()
}
-// SetNextToken sets the NextToken field's value.
-func (s *ListRoutesOutput) SetNextToken(v string) *ListRoutesOutput {
- s.NextToken = &v
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *HttpRetryPolicy) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "HttpRetryPolicy"}
+ if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1))
+ }
+ if s.MaxRetries == nil {
+ invalidParams.Add(request.NewErrParamRequired("MaxRetries"))
+ }
+ if s.PerRetryTimeout == nil {
+ invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout"))
+ }
+ if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetHttpRetryEvents sets the HttpRetryEvents field's value.
+func (s *HttpRetryPolicy) SetHttpRetryEvents(v []*string) *HttpRetryPolicy {
+ s.HttpRetryEvents = v
return s
}
-// SetRoutes sets the Routes field's value.
-func (s *ListRoutesOutput) SetRoutes(v []*RouteRef) *ListRoutesOutput {
- s.Routes = v
+// SetMaxRetries sets the MaxRetries field's value.
+func (s *HttpRetryPolicy) SetMaxRetries(v int64) *HttpRetryPolicy {
+ s.MaxRetries = &v
return s
}
-type ListTagsForResourceInput struct {
+// SetPerRetryTimeout sets the PerRetryTimeout field's value.
+func (s *HttpRetryPolicy) SetPerRetryTimeout(v *Duration) *HttpRetryPolicy {
+ s.PerRetryTimeout = v
+ return s
+}
+
+// SetTcpRetryEvents sets the TcpRetryEvents field's value.
+func (s *HttpRetryPolicy) SetTcpRetryEvents(v []*string) *HttpRetryPolicy {
+ s.TcpRetryEvents = v
+ return s
+}
+
+// An object that represents an HTTP or HTTP/2 route type.
+type HttpRoute struct {
_ struct{} `type:"structure"`
- Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
+ // An object that represents the action to take if a match is determined.
+ //
+ // Action is a required field
+ Action *HttpRouteAction `locationName:"action" type:"structure" required:"true"`
- NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
+ // An object that represents the requirements for a route to match HTTP requests
+ // for a virtual router.
+ //
+ // Match is a required field
+ Match *HttpRouteMatch `locationName:"match" type:"structure" required:"true"`
- // ResourceArn is a required field
- ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"`
+ // An object that represents a retry policy. Specify at least one value for
+ // at least one of the types of RetryEvents, a value for maxRetries, and a value
+ // for perRetryTimeout.
+ RetryPolicy *HttpRetryPolicy `locationName:"retryPolicy" type:"structure"`
+
+ // An object that represents types of timeouts.
+ Timeout *HttpTimeout `locationName:"timeout" type:"structure"`
}
// String returns the string representation
-func (s ListTagsForResourceInput) String() string {
+func (s HttpRoute) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ListTagsForResourceInput) GoString() string {
+func (s HttpRoute) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListTagsForResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
- if s.Limit != nil && *s.Limit < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
+func (s *HttpRoute) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "HttpRoute"}
+ if s.Action == nil {
+ invalidParams.Add(request.NewErrParamRequired("Action"))
}
- if s.ResourceArn == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
+ if s.Match == nil {
+ invalidParams.Add(request.NewErrParamRequired("Match"))
+ }
+ if s.Action != nil {
+ if err := s.Action.Validate(); err != nil {
+ invalidParams.AddNested("Action", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Match != nil {
+ if err := s.Match.Validate(); err != nil {
+ invalidParams.AddNested("Match", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.RetryPolicy != nil {
+ if err := s.RetryPolicy.Validate(); err != nil {
+ invalidParams.AddNested("RetryPolicy", err.(request.ErrInvalidParams))
+ }
}
if invalidParams.Len() > 0 {
@@ -6865,92 +8727,117 @@ func (s *ListTagsForResourceInput) Validate() error {
return nil
}
-// SetLimit sets the Limit field's value.
-func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput {
- s.Limit = &v
+// SetAction sets the Action field's value.
+func (s *HttpRoute) SetAction(v *HttpRouteAction) *HttpRoute {
+ s.Action = v
return s
}
-// SetNextToken sets the NextToken field's value.
-func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
- s.NextToken = &v
+// SetMatch sets the Match field's value.
+func (s *HttpRoute) SetMatch(v *HttpRouteMatch) *HttpRoute {
+ s.Match = v
return s
}
-// SetResourceArn sets the ResourceArn field's value.
-func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
- s.ResourceArn = &v
+// SetRetryPolicy sets the RetryPolicy field's value.
+func (s *HttpRoute) SetRetryPolicy(v *HttpRetryPolicy) *HttpRoute {
+ s.RetryPolicy = v
return s
}
-type ListTagsForResourceOutput struct {
- _ struct{} `type:"structure"`
+// SetTimeout sets the Timeout field's value.
+func (s *HttpRoute) SetTimeout(v *HttpTimeout) *HttpRoute {
+ s.Timeout = v
+ return s
+}
- NextToken *string `locationName:"nextToken" type:"string"`
+// An object that represents the action to take if a match is determined.
+type HttpRouteAction struct {
+ _ struct{} `type:"structure"`
- // Tags is a required field
- Tags []*TagRef `locationName:"tags" type:"list" required:"true"`
+ // WeightedTargets is a required field
+ WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"`
}
// String returns the string representation
-func (s ListTagsForResourceOutput) String() string {
+func (s HttpRouteAction) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ListTagsForResourceOutput) GoString() string {
+func (s HttpRouteAction) GoString() string {
return s.String()
}
-// SetNextToken sets the NextToken field's value.
-func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
- s.NextToken = &v
- return s
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *HttpRouteAction) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "HttpRouteAction"}
+ if s.WeightedTargets == nil {
+ invalidParams.Add(request.NewErrParamRequired("WeightedTargets"))
+ }
+ if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1))
+ }
+ if s.WeightedTargets != nil {
+ for i, v := range s.WeightedTargets {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
}
-// SetTags sets the Tags field's value.
-func (s *ListTagsForResourceOutput) SetTags(v []*TagRef) *ListTagsForResourceOutput {
- s.Tags = v
+// SetWeightedTargets sets the WeightedTargets field's value.
+func (s *HttpRouteAction) SetWeightedTargets(v []*WeightedTarget) *HttpRouteAction {
+ s.WeightedTargets = v
return s
}
-type ListVirtualNodesInput struct {
+// An object that represents the HTTP header in the request.
+type HttpRouteHeader struct {
_ struct{} `type:"structure"`
- Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
-
- // MeshName is a required field
- MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
+ Invert *bool `locationName:"invert" type:"boolean"`
- MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
+ // An object that represents the method and value to match with the header value
+ // sent in a request. Specify one match method.
+ Match *HeaderMatchMethod `locationName:"match" type:"structure"`
- NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
+ // Name is a required field
+ Name *string `locationName:"name" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s ListVirtualNodesInput) String() string {
+func (s HttpRouteHeader) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ListVirtualNodesInput) GoString() string {
+func (s HttpRouteHeader) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListVirtualNodesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListVirtualNodesInput"}
- if s.Limit != nil && *s.Limit < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
- }
- if s.MeshName == nil {
- invalidParams.Add(request.NewErrParamRequired("MeshName"))
+func (s *HttpRouteHeader) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "HttpRouteHeader"}
+ if s.Name == nil {
+ invalidParams.Add(request.NewErrParamRequired("Name"))
}
- if s.MeshName != nil && len(*s.MeshName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ if s.Name != nil && len(*s.Name) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Name", 1))
}
- if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
- invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
+ if s.Match != nil {
+ if err := s.Match.Validate(); err != nil {
+ invalidParams.AddNested("Match", err.(request.ErrInvalidParams))
+ }
}
if invalidParams.Len() > 0 {
@@ -6959,162 +8846,248 @@ func (s *ListVirtualNodesInput) Validate() error {
return nil
}
-// SetLimit sets the Limit field's value.
-func (s *ListVirtualNodesInput) SetLimit(v int64) *ListVirtualNodesInput {
- s.Limit = &v
+// SetInvert sets the Invert field's value.
+func (s *HttpRouteHeader) SetInvert(v bool) *HttpRouteHeader {
+ s.Invert = &v
return s
}
-// SetMeshName sets the MeshName field's value.
-func (s *ListVirtualNodesInput) SetMeshName(v string) *ListVirtualNodesInput {
- s.MeshName = &v
+// SetMatch sets the Match field's value.
+func (s *HttpRouteHeader) SetMatch(v *HeaderMatchMethod) *HttpRouteHeader {
+ s.Match = v
return s
}
-// SetMeshOwner sets the MeshOwner field's value.
-func (s *ListVirtualNodesInput) SetMeshOwner(v string) *ListVirtualNodesInput {
- s.MeshOwner = &v
- return s
-}
-
-// SetNextToken sets the NextToken field's value.
-func (s *ListVirtualNodesInput) SetNextToken(v string) *ListVirtualNodesInput {
- s.NextToken = &v
+// SetName sets the Name field's value.
+func (s *HttpRouteHeader) SetName(v string) *HttpRouteHeader {
+ s.Name = &v
return s
}
-type ListVirtualNodesOutput struct {
+// An object that represents the requirements for a route to match HTTP requests
+// for a virtual router.
+type HttpRouteMatch struct {
_ struct{} `type:"structure"`
- NextToken *string `locationName:"nextToken" type:"string"`
+ Headers []*HttpRouteHeader `locationName:"headers" min:"1" type:"list"`
- // VirtualNodes is a required field
- VirtualNodes []*VirtualNodeRef `locationName:"virtualNodes" type:"list" required:"true"`
+ Method *string `locationName:"method" type:"string" enum:"HttpMethod"`
+
+ // Prefix is a required field
+ Prefix *string `locationName:"prefix" type:"string" required:"true"`
+
+ Scheme *string `locationName:"scheme" type:"string" enum:"HttpScheme"`
}
// String returns the string representation
-func (s ListVirtualNodesOutput) String() string {
+func (s HttpRouteMatch) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ListVirtualNodesOutput) GoString() string {
+func (s HttpRouteMatch) GoString() string {
return s.String()
}
-// SetNextToken sets the NextToken field's value.
-func (s *ListVirtualNodesOutput) SetNextToken(v string) *ListVirtualNodesOutput {
- s.NextToken = &v
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *HttpRouteMatch) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "HttpRouteMatch"}
+ if s.Headers != nil && len(s.Headers) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Headers", 1))
+ }
+ if s.Prefix == nil {
+ invalidParams.Add(request.NewErrParamRequired("Prefix"))
+ }
+ if s.Headers != nil {
+ for i, v := range s.Headers {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Headers", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetHeaders sets the Headers field's value.
+func (s *HttpRouteMatch) SetHeaders(v []*HttpRouteHeader) *HttpRouteMatch {
+ s.Headers = v
return s
}
-// SetVirtualNodes sets the VirtualNodes field's value.
-func (s *ListVirtualNodesOutput) SetVirtualNodes(v []*VirtualNodeRef) *ListVirtualNodesOutput {
- s.VirtualNodes = v
+// SetMethod sets the Method field's value.
+func (s *HttpRouteMatch) SetMethod(v string) *HttpRouteMatch {
+ s.Method = &v
return s
}
-type ListVirtualRoutersInput struct {
+// SetPrefix sets the Prefix field's value.
+func (s *HttpRouteMatch) SetPrefix(v string) *HttpRouteMatch {
+ s.Prefix = &v
+ return s
+}
+
+// SetScheme sets the Scheme field's value.
+func (s *HttpRouteMatch) SetScheme(v string) *HttpRouteMatch {
+ s.Scheme = &v
+ return s
+}
+
+// An object that represents types of timeouts.
+type HttpTimeout struct {
_ struct{} `type:"structure"`
- Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
+ // An object that represents a duration of time.
+ Idle *Duration `locationName:"idle" type:"structure"`
- // MeshName is a required field
- MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
+ // An object that represents a duration of time.
+ PerRequest *Duration `locationName:"perRequest" type:"structure"`
+}
- MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
+// String returns the string representation
+func (s HttpTimeout) String() string {
+ return awsutil.Prettify(s)
+}
- NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
+// GoString returns the string representation
+func (s HttpTimeout) GoString() string {
+ return s.String()
+}
+
+// SetIdle sets the Idle field's value.
+func (s *HttpTimeout) SetIdle(v *Duration) *HttpTimeout {
+ s.Idle = v
+ return s
+}
+
+// SetPerRequest sets the PerRequest field's value.
+func (s *HttpTimeout) SetPerRequest(v *Duration) *HttpTimeout {
+ s.PerRequest = v
+ return s
+}
+
+// The request processing has failed because of an unknown error, exception,
+// or failure.
+type InternalServerErrorException struct {
+ _ struct{} `type:"structure"`
+ RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+
+ Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation
-func (s ListVirtualRoutersInput) String() string {
+func (s InternalServerErrorException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ListVirtualRoutersInput) GoString() string {
+func (s InternalServerErrorException) GoString() string {
return s.String()
}
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListVirtualRoutersInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListVirtualRoutersInput"}
- if s.Limit != nil && *s.Limit < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
- }
- if s.MeshName == nil {
- invalidParams.Add(request.NewErrParamRequired("MeshName"))
- }
- if s.MeshName != nil && len(*s.MeshName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
- }
- if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
- invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
+func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
+ return &InternalServerErrorException{
+ RespMetadata: v,
}
+}
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
+// Code returns the exception type name.
+func (s *InternalServerErrorException) Code() string {
+ return "InternalServerErrorException"
}
-// SetLimit sets the Limit field's value.
-func (s *ListVirtualRoutersInput) SetLimit(v int64) *ListVirtualRoutersInput {
- s.Limit = &v
- return s
+// Message returns the exception's message.
+func (s *InternalServerErrorException) Message() string {
+ if s.Message_ != nil {
+ return *s.Message_
+ }
+ return ""
}
-// SetMeshName sets the MeshName field's value.
-func (s *ListVirtualRoutersInput) SetMeshName(v string) *ListVirtualRoutersInput {
- s.MeshName = &v
- return s
+// OrigErr always returns nil, satisfies awserr.Error interface.
+func (s *InternalServerErrorException) OrigErr() error {
+ return nil
}
-// SetMeshOwner sets the MeshOwner field's value.
-func (s *ListVirtualRoutersInput) SetMeshOwner(v string) *ListVirtualRoutersInput {
- s.MeshOwner = &v
- return s
+func (s *InternalServerErrorException) Error() string {
+ return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
-// SetNextToken sets the NextToken field's value.
-func (s *ListVirtualRoutersInput) SetNextToken(v string) *ListVirtualRoutersInput {
- s.NextToken = &v
- return s
+// Status code returns the HTTP status code for the request's response error.
+func (s *InternalServerErrorException) StatusCode() int {
+ return s.RespMetadata.StatusCode
}
-type ListVirtualRoutersOutput struct {
- _ struct{} `type:"structure"`
+// RequestID returns the service's response RequestID for request.
+func (s *InternalServerErrorException) RequestID() string {
+ return s.RespMetadata.RequestID
+}
- NextToken *string `locationName:"nextToken" type:"string"`
+// You have exceeded a service limit for your account. For more information,
+// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html)
+// in the AWS App Mesh User Guide.
+type LimitExceededException struct {
+ _ struct{} `type:"structure"`
+ RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- // VirtualRouters is a required field
- VirtualRouters []*VirtualRouterRef `locationName:"virtualRouters" type:"list" required:"true"`
+ Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation
-func (s ListVirtualRoutersOutput) String() string {
+func (s LimitExceededException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ListVirtualRoutersOutput) GoString() string {
+func (s LimitExceededException) GoString() string {
return s.String()
}
-// SetNextToken sets the NextToken field's value.
-func (s *ListVirtualRoutersOutput) SetNextToken(v string) *ListVirtualRoutersOutput {
- s.NextToken = &v
- return s
+func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
+ return &LimitExceededException{
+ RespMetadata: v,
+ }
}
-// SetVirtualRouters sets the VirtualRouters field's value.
-func (s *ListVirtualRoutersOutput) SetVirtualRouters(v []*VirtualRouterRef) *ListVirtualRoutersOutput {
- s.VirtualRouters = v
- return s
+// Code returns the exception type name.
+func (s *LimitExceededException) Code() string {
+ return "LimitExceededException"
}
-type ListVirtualServicesInput struct {
+// Message returns the exception's message.
+func (s *LimitExceededException) Message() string {
+ if s.Message_ != nil {
+ return *s.Message_
+ }
+ return ""
+}
+
+// OrigErr always returns nil, satisfies awserr.Error interface.
+func (s *LimitExceededException) OrigErr() error {
+ return nil
+}
+
+func (s *LimitExceededException) Error() string {
+ return fmt.Sprintf("%s: %s", s.Code(), s.Message())
+}
+
+// Status code returns the HTTP status code for the request's response error.
+func (s *LimitExceededException) StatusCode() int {
+ return s.RespMetadata.StatusCode
+}
+
+// RequestID returns the service's response RequestID for request.
+func (s *LimitExceededException) RequestID() string {
+ return s.RespMetadata.RequestID
+}
+
+type ListGatewayRoutesInput struct {
_ struct{} `type:"structure"`
Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
@@ -7125,21 +9098,24 @@ type ListVirtualServicesInput struct {
MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
+
+ // VirtualGatewayName is a required field
+ VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s ListVirtualServicesInput) String() string {
+func (s ListGatewayRoutesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ListVirtualServicesInput) GoString() string {
+func (s ListGatewayRoutesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListVirtualServicesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListVirtualServicesInput"}
+func (s *ListGatewayRoutesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListGatewayRoutesInput"}
if s.Limit != nil && *s.Limit < 1 {
invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
}
@@ -7152,6 +9128,12 @@ func (s *ListVirtualServicesInput) Validate() error {
if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
}
+ if s.VirtualGatewayName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName"))
+ }
+ if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1))
+ }
if invalidParams.Len() > 0 {
return invalidParams
@@ -7160,109 +9142,89 @@ func (s *ListVirtualServicesInput) Validate() error {
}
// SetLimit sets the Limit field's value.
-func (s *ListVirtualServicesInput) SetLimit(v int64) *ListVirtualServicesInput {
+func (s *ListGatewayRoutesInput) SetLimit(v int64) *ListGatewayRoutesInput {
s.Limit = &v
return s
}
// SetMeshName sets the MeshName field's value.
-func (s *ListVirtualServicesInput) SetMeshName(v string) *ListVirtualServicesInput {
+func (s *ListGatewayRoutesInput) SetMeshName(v string) *ListGatewayRoutesInput {
s.MeshName = &v
return s
}
// SetMeshOwner sets the MeshOwner field's value.
-func (s *ListVirtualServicesInput) SetMeshOwner(v string) *ListVirtualServicesInput {
+func (s *ListGatewayRoutesInput) SetMeshOwner(v string) *ListGatewayRoutesInput {
s.MeshOwner = &v
return s
}
// SetNextToken sets the NextToken field's value.
-func (s *ListVirtualServicesInput) SetNextToken(v string) *ListVirtualServicesInput {
+func (s *ListGatewayRoutesInput) SetNextToken(v string) *ListGatewayRoutesInput {
s.NextToken = &v
return s
}
-type ListVirtualServicesOutput struct {
- _ struct{} `type:"structure"`
-
- NextToken *string `locationName:"nextToken" type:"string"`
+// SetVirtualGatewayName sets the VirtualGatewayName field's value.
+func (s *ListGatewayRoutesInput) SetVirtualGatewayName(v string) *ListGatewayRoutesInput {
+ s.VirtualGatewayName = &v
+ return s
+}
- // VirtualServices is a required field
- VirtualServices []*VirtualServiceRef `locationName:"virtualServices" type:"list" required:"true"`
+type ListGatewayRoutesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // GatewayRoutes is a required field
+ GatewayRoutes []*GatewayRouteRef `locationName:"gatewayRoutes" type:"list" required:"true"`
+
+ NextToken *string `locationName:"nextToken" type:"string"`
}
// String returns the string representation
-func (s ListVirtualServicesOutput) String() string {
+func (s ListGatewayRoutesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ListVirtualServicesOutput) GoString() string {
+func (s ListGatewayRoutesOutput) GoString() string {
return s.String()
}
-// SetNextToken sets the NextToken field's value.
-func (s *ListVirtualServicesOutput) SetNextToken(v string) *ListVirtualServicesOutput {
- s.NextToken = &v
+// SetGatewayRoutes sets the GatewayRoutes field's value.
+func (s *ListGatewayRoutesOutput) SetGatewayRoutes(v []*GatewayRouteRef) *ListGatewayRoutesOutput {
+ s.GatewayRoutes = v
return s
}
-// SetVirtualServices sets the VirtualServices field's value.
-func (s *ListVirtualServicesOutput) SetVirtualServices(v []*VirtualServiceRef) *ListVirtualServicesOutput {
- s.VirtualServices = v
+// SetNextToken sets the NextToken field's value.
+func (s *ListGatewayRoutesOutput) SetNextToken(v string) *ListGatewayRoutesOutput {
+ s.NextToken = &v
return s
}
-// An object that represents a listener for a virtual node.
-type Listener struct {
+type ListMeshesInput struct {
_ struct{} `type:"structure"`
- // An object that represents the health check policy for a virtual node's listener.
- HealthCheck *HealthCheckPolicy `locationName:"healthCheck" type:"structure"`
-
- // An object that represents a port mapping.
- //
- // PortMapping is a required field
- PortMapping *PortMapping `locationName:"portMapping" type:"structure" required:"true"`
-
- Timeout *ListenerTimeout `locationName:"timeout" type:"structure"`
+ Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
- // An object that represents the Transport Layer Security (TLS) properties for
- // a listener.
- Tls *ListenerTls `locationName:"tls" type:"structure"`
+ NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
}
// String returns the string representation
-func (s Listener) String() string {
+func (s ListMeshesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s Listener) GoString() string {
+func (s ListMeshesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *Listener) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Listener"}
- if s.PortMapping == nil {
- invalidParams.Add(request.NewErrParamRequired("PortMapping"))
- }
- if s.HealthCheck != nil {
- if err := s.HealthCheck.Validate(); err != nil {
- invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams))
- }
- }
- if s.PortMapping != nil {
- if err := s.PortMapping.Validate(); err != nil {
- invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams))
- }
- }
- if s.Tls != nil {
- if err := s.Tls.Validate(); err != nil {
- invalidParams.AddNested("Tls", err.(request.ErrInvalidParams))
- }
+func (s *ListMeshesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListMeshesInput"}
+ if s.Limit != nil && *s.Limit < 1 {
+ invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
}
if invalidParams.Len() > 0 {
@@ -7271,113 +9233,95 @@ func (s *Listener) Validate() error {
return nil
}
-// SetHealthCheck sets the HealthCheck field's value.
-func (s *Listener) SetHealthCheck(v *HealthCheckPolicy) *Listener {
- s.HealthCheck = v
- return s
-}
-
-// SetPortMapping sets the PortMapping field's value.
-func (s *Listener) SetPortMapping(v *PortMapping) *Listener {
- s.PortMapping = v
- return s
-}
-
-// SetTimeout sets the Timeout field's value.
-func (s *Listener) SetTimeout(v *ListenerTimeout) *Listener {
- s.Timeout = v
+// SetLimit sets the Limit field's value.
+func (s *ListMeshesInput) SetLimit(v int64) *ListMeshesInput {
+ s.Limit = &v
return s
}
-// SetTls sets the Tls field's value.
-func (s *Listener) SetTls(v *ListenerTls) *Listener {
- s.Tls = v
+// SetNextToken sets the NextToken field's value.
+func (s *ListMeshesInput) SetNextToken(v string) *ListMeshesInput {
+ s.NextToken = &v
return s
}
-type ListenerTimeout struct {
+type ListMeshesOutput struct {
_ struct{} `type:"structure"`
- Grpc *GrpcTimeout `locationName:"grpc" type:"structure"`
-
- Http *HttpTimeout `locationName:"http" type:"structure"`
-
- Http2 *HttpTimeout `locationName:"http2" type:"structure"`
+ // Meshes is a required field
+ Meshes []*MeshRef `locationName:"meshes" type:"list" required:"true"`
- Tcp *TcpTimeout `locationName:"tcp" type:"structure"`
+ NextToken *string `locationName:"nextToken" type:"string"`
}
// String returns the string representation
-func (s ListenerTimeout) String() string {
+func (s ListMeshesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ListenerTimeout) GoString() string {
+func (s ListMeshesOutput) GoString() string {
return s.String()
}
-// SetGrpc sets the Grpc field's value.
-func (s *ListenerTimeout) SetGrpc(v *GrpcTimeout) *ListenerTimeout {
- s.Grpc = v
+// SetMeshes sets the Meshes field's value.
+func (s *ListMeshesOutput) SetMeshes(v []*MeshRef) *ListMeshesOutput {
+ s.Meshes = v
return s
}
-// SetHttp sets the Http field's value.
-func (s *ListenerTimeout) SetHttp(v *HttpTimeout) *ListenerTimeout {
- s.Http = v
+// SetNextToken sets the NextToken field's value.
+func (s *ListMeshesOutput) SetNextToken(v string) *ListMeshesOutput {
+ s.NextToken = &v
return s
}
-// SetHttp2 sets the Http2 field's value.
-func (s *ListenerTimeout) SetHttp2(v *HttpTimeout) *ListenerTimeout {
- s.Http2 = v
- return s
-}
+type ListRoutesInput struct {
+ _ struct{} `type:"structure"`
-// SetTcp sets the Tcp field's value.
-func (s *ListenerTimeout) SetTcp(v *TcpTimeout) *ListenerTimeout {
- s.Tcp = v
- return s
-}
+ Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
-// An object that represents the Transport Layer Security (TLS) properties for
-// a listener.
-type ListenerTls struct {
- _ struct{} `type:"structure"`
+ // MeshName is a required field
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
- // An object that represents a listener's Transport Layer Security (TLS) certificate.
- //
- // Certificate is a required field
- Certificate *ListenerTlsCertificate `locationName:"certificate" type:"structure" required:"true"`
+ MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
- // Mode is a required field
- Mode *string `locationName:"mode" type:"string" required:"true" enum:"ListenerTlsMode"`
+ NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
+
+ // VirtualRouterName is a required field
+ VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s ListenerTls) String() string {
+func (s ListRoutesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ListenerTls) GoString() string {
+func (s ListRoutesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListenerTls) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListenerTls"}
- if s.Certificate == nil {
- invalidParams.Add(request.NewErrParamRequired("Certificate"))
+func (s *ListRoutesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListRoutesInput"}
+ if s.Limit != nil && *s.Limit < 1 {
+ invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
}
- if s.Mode == nil {
- invalidParams.Add(request.NewErrParamRequired("Mode"))
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
}
- if s.Certificate != nil {
- if err := s.Certificate.Validate(); err != nil {
- invalidParams.AddNested("Certificate", err.(request.ErrInvalidParams))
- }
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ }
+ if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
+ }
+ if s.VirtualRouterName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualRouterName"))
+ }
+ if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1))
}
if invalidParams.Len() > 0 {
@@ -7386,90 +9330,96 @@ func (s *ListenerTls) Validate() error {
return nil
}
-// SetCertificate sets the Certificate field's value.
-func (s *ListenerTls) SetCertificate(v *ListenerTlsCertificate) *ListenerTls {
- s.Certificate = v
+// SetLimit sets the Limit field's value.
+func (s *ListRoutesInput) SetLimit(v int64) *ListRoutesInput {
+ s.Limit = &v
return s
}
-// SetMode sets the Mode field's value.
-func (s *ListenerTls) SetMode(v string) *ListenerTls {
- s.Mode = &v
+// SetMeshName sets the MeshName field's value.
+func (s *ListRoutesInput) SetMeshName(v string) *ListRoutesInput {
+ s.MeshName = &v
return s
}
-// An object that represents an AWS Certicate Manager (ACM) certificate.
-type ListenerTlsAcmCertificate struct {
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *ListRoutesInput) SetMeshOwner(v string) *ListRoutesInput {
+ s.MeshOwner = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *ListRoutesInput) SetNextToken(v string) *ListRoutesInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetVirtualRouterName sets the VirtualRouterName field's value.
+func (s *ListRoutesInput) SetVirtualRouterName(v string) *ListRoutesInput {
+ s.VirtualRouterName = &v
+ return s
+}
+
+type ListRoutesOutput struct {
_ struct{} `type:"structure"`
- // CertificateArn is a required field
- CertificateArn *string `locationName:"certificateArn" type:"string" required:"true"`
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // Routes is a required field
+ Routes []*RouteRef `locationName:"routes" type:"list" required:"true"`
}
// String returns the string representation
-func (s ListenerTlsAcmCertificate) String() string {
+func (s ListRoutesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ListenerTlsAcmCertificate) GoString() string {
+func (s ListRoutesOutput) GoString() string {
return s.String()
}
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListenerTlsAcmCertificate) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListenerTlsAcmCertificate"}
- if s.CertificateArn == nil {
- invalidParams.Add(request.NewErrParamRequired("CertificateArn"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
+// SetNextToken sets the NextToken field's value.
+func (s *ListRoutesOutput) SetNextToken(v string) *ListRoutesOutput {
+ s.NextToken = &v
+ return s
}
-// SetCertificateArn sets the CertificateArn field's value.
-func (s *ListenerTlsAcmCertificate) SetCertificateArn(v string) *ListenerTlsAcmCertificate {
- s.CertificateArn = &v
+// SetRoutes sets the Routes field's value.
+func (s *ListRoutesOutput) SetRoutes(v []*RouteRef) *ListRoutesOutput {
+ s.Routes = v
return s
}
-// An object that represents a listener's Transport Layer Security (TLS) certificate.
-type ListenerTlsCertificate struct {
+type ListTagsForResourceInput struct {
_ struct{} `type:"structure"`
- // An object that represents an AWS Certicate Manager (ACM) certificate.
- Acm *ListenerTlsAcmCertificate `locationName:"acm" type:"structure"`
+ Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
- // An object that represents a local file certificate. The certificate must
- // meet specific requirements and you must have proxy authorization enabled.
- // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites).
- File *ListenerTlsFileCertificate `locationName:"file" type:"structure"`
+ NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
+
+ // ResourceArn is a required field
+ ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"`
}
// String returns the string representation
-func (s ListenerTlsCertificate) String() string {
+func (s ListTagsForResourceInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ListenerTlsCertificate) GoString() string {
+func (s ListTagsForResourceInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListenerTlsCertificate) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListenerTlsCertificate"}
- if s.Acm != nil {
- if err := s.Acm.Validate(); err != nil {
- invalidParams.AddNested("Acm", err.(request.ErrInvalidParams))
- }
+func (s *ListTagsForResourceInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
+ if s.Limit != nil && *s.Limit < 1 {
+ invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
}
- if s.File != nil {
- if err := s.File.Validate(); err != nil {
- invalidParams.AddNested("File", err.(request.ErrInvalidParams))
- }
+ if s.ResourceArn == nil {
+ invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
}
if invalidParams.Len() > 0 {
@@ -7478,55 +9428,92 @@ func (s *ListenerTlsCertificate) Validate() error {
return nil
}
-// SetAcm sets the Acm field's value.
-func (s *ListenerTlsCertificate) SetAcm(v *ListenerTlsAcmCertificate) *ListenerTlsCertificate {
- s.Acm = v
+// SetLimit sets the Limit field's value.
+func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput {
+ s.Limit = &v
return s
}
-// SetFile sets the File field's value.
-func (s *ListenerTlsCertificate) SetFile(v *ListenerTlsFileCertificate) *ListenerTlsCertificate {
- s.File = v
+// SetNextToken sets the NextToken field's value.
+func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
+ s.NextToken = &v
return s
}
-// An object that represents a local file certificate. The certificate must
-// meet specific requirements and you must have proxy authorization enabled.
-// For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites).
-type ListenerTlsFileCertificate struct {
+// SetResourceArn sets the ResourceArn field's value.
+func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
+ s.ResourceArn = &v
+ return s
+}
+
+type ListTagsForResourceOutput struct {
_ struct{} `type:"structure"`
- // CertificateChain is a required field
- CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"`
+ NextToken *string `locationName:"nextToken" type:"string"`
- // PrivateKey is a required field
- PrivateKey *string `locationName:"privateKey" min:"1" type:"string" required:"true"`
+ // Tags is a required field
+ Tags []*TagRef `locationName:"tags" type:"list" required:"true"`
}
// String returns the string representation
-func (s ListenerTlsFileCertificate) String() string {
+func (s ListTagsForResourceOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ListenerTlsFileCertificate) GoString() string {
+func (s ListTagsForResourceOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *ListTagsForResourceOutput) SetTags(v []*TagRef) *ListTagsForResourceOutput {
+ s.Tags = v
+ return s
+}
+
+type ListVirtualGatewaysInput struct {
+ _ struct{} `type:"structure"`
+
+ Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
+
+ // MeshName is a required field
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
+
+ NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
+}
+
+// String returns the string representation
+func (s ListVirtualGatewaysInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListVirtualGatewaysInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *ListenerTlsFileCertificate) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListenerTlsFileCertificate"}
- if s.CertificateChain == nil {
- invalidParams.Add(request.NewErrParamRequired("CertificateChain"))
+func (s *ListVirtualGatewaysInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListVirtualGatewaysInput"}
+ if s.Limit != nil && *s.Limit < 1 {
+ invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
}
- if s.CertificateChain != nil && len(*s.CertificateChain) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1))
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
}
- if s.PrivateKey == nil {
- invalidParams.Add(request.NewErrParamRequired("PrivateKey"))
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
}
- if s.PrivateKey != nil && len(*s.PrivateKey) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1))
+ if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
}
if invalidParams.Len() > 0 {
@@ -7535,89 +9522,98 @@ func (s *ListenerTlsFileCertificate) Validate() error {
return nil
}
-// SetCertificateChain sets the CertificateChain field's value.
-func (s *ListenerTlsFileCertificate) SetCertificateChain(v string) *ListenerTlsFileCertificate {
- s.CertificateChain = &v
+// SetLimit sets the Limit field's value.
+func (s *ListVirtualGatewaysInput) SetLimit(v int64) *ListVirtualGatewaysInput {
+ s.Limit = &v
return s
}
-// SetPrivateKey sets the PrivateKey field's value.
-func (s *ListenerTlsFileCertificate) SetPrivateKey(v string) *ListenerTlsFileCertificate {
- s.PrivateKey = &v
+// SetMeshName sets the MeshName field's value.
+func (s *ListVirtualGatewaysInput) SetMeshName(v string) *ListVirtualGatewaysInput {
+ s.MeshName = &v
return s
}
-// An object that represents the logging information for a virtual node.
-type Logging struct {
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *ListVirtualGatewaysInput) SetMeshOwner(v string) *ListVirtualGatewaysInput {
+ s.MeshOwner = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *ListVirtualGatewaysInput) SetNextToken(v string) *ListVirtualGatewaysInput {
+ s.NextToken = &v
+ return s
+}
+
+type ListVirtualGatewaysOutput struct {
_ struct{} `type:"structure"`
- // An object that represents the access logging information for a virtual node.
- AccessLog *AccessLog `locationName:"accessLog" type:"structure"`
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // VirtualGateways is a required field
+ VirtualGateways []*VirtualGatewayRef `locationName:"virtualGateways" type:"list" required:"true"`
}
// String returns the string representation
-func (s Logging) String() string {
+func (s ListVirtualGatewaysOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s Logging) GoString() string {
+func (s ListVirtualGatewaysOutput) GoString() string {
return s.String()
}
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *Logging) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Logging"}
- if s.AccessLog != nil {
- if err := s.AccessLog.Validate(); err != nil {
- invalidParams.AddNested("AccessLog", err.(request.ErrInvalidParams))
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
+// SetNextToken sets the NextToken field's value.
+func (s *ListVirtualGatewaysOutput) SetNextToken(v string) *ListVirtualGatewaysOutput {
+ s.NextToken = &v
+ return s
}
-// SetAccessLog sets the AccessLog field's value.
-func (s *Logging) SetAccessLog(v *AccessLog) *Logging {
- s.AccessLog = v
+// SetVirtualGateways sets the VirtualGateways field's value.
+func (s *ListVirtualGatewaysOutput) SetVirtualGateways(v []*VirtualGatewayRef) *ListVirtualGatewaysOutput {
+ s.VirtualGateways = v
return s
}
-// An object that represents the range of values to match on. The first character
-// of the range is included in the range, though the last character is not.
-// For example, if the range specified were 1-100, only values 1-99 would be
-// matched.
-type MatchRange struct {
+type ListVirtualNodesInput struct {
_ struct{} `type:"structure"`
- // End is a required field
- End *int64 `locationName:"end" type:"long" required:"true"`
+ Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
- // Start is a required field
- Start *int64 `locationName:"start" type:"long" required:"true"`
+ // MeshName is a required field
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
+
+ NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
}
// String returns the string representation
-func (s MatchRange) String() string {
+func (s ListVirtualNodesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s MatchRange) GoString() string {
+func (s ListVirtualNodesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *MatchRange) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "MatchRange"}
- if s.End == nil {
- invalidParams.Add(request.NewErrParamRequired("End"))
+func (s *ListVirtualNodesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListVirtualNodesInput"}
+ if s.Limit != nil && *s.Limit < 1 {
+ invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
}
- if s.Start == nil {
- invalidParams.Add(request.NewErrParamRequired("Start"))
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
+ }
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ }
+ if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
}
if invalidParams.Len() > 0 {
@@ -7626,324 +9622,997 @@ func (s *MatchRange) Validate() error {
return nil
}
-// SetEnd sets the End field's value.
-func (s *MatchRange) SetEnd(v int64) *MatchRange {
- s.End = &v
+// SetLimit sets the Limit field's value.
+func (s *ListVirtualNodesInput) SetLimit(v int64) *ListVirtualNodesInput {
+ s.Limit = &v
return s
}
-// SetStart sets the Start field's value.
-func (s *MatchRange) SetStart(v int64) *MatchRange {
- s.Start = &v
+// SetMeshName sets the MeshName field's value.
+func (s *ListVirtualNodesInput) SetMeshName(v string) *ListVirtualNodesInput {
+ s.MeshName = &v
return s
}
-// An object that represents a service mesh returned by a describe operation.
-type MeshData struct {
- _ struct{} `type:"structure"`
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *ListVirtualNodesInput) SetMeshOwner(v string) *ListVirtualNodesInput {
+ s.MeshOwner = &v
+ return s
+}
- // MeshName is a required field
- MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"`
+// SetNextToken sets the NextToken field's value.
+func (s *ListVirtualNodesInput) SetNextToken(v string) *ListVirtualNodesInput {
+ s.NextToken = &v
+ return s
+}
- // An object that represents metadata for a resource.
- //
- // Metadata is a required field
- Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"`
+type ListVirtualNodesOutput struct {
+ _ struct{} `type:"structure"`
- // An object that represents the specification of a service mesh.
- //
- // Spec is a required field
- Spec *MeshSpec `locationName:"spec" type:"structure" required:"true"`
+ NextToken *string `locationName:"nextToken" type:"string"`
- // An object that represents the status of a service mesh.
- //
- // Status is a required field
- Status *MeshStatus `locationName:"status" type:"structure" required:"true"`
+ // VirtualNodes is a required field
+ VirtualNodes []*VirtualNodeRef `locationName:"virtualNodes" type:"list" required:"true"`
}
// String returns the string representation
-func (s MeshData) String() string {
+func (s ListVirtualNodesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s MeshData) GoString() string {
+func (s ListVirtualNodesOutput) GoString() string {
return s.String()
}
-// SetMeshName sets the MeshName field's value.
-func (s *MeshData) SetMeshName(v string) *MeshData {
- s.MeshName = &v
+// SetNextToken sets the NextToken field's value.
+func (s *ListVirtualNodesOutput) SetNextToken(v string) *ListVirtualNodesOutput {
+ s.NextToken = &v
return s
}
-// SetMetadata sets the Metadata field's value.
-func (s *MeshData) SetMetadata(v *ResourceMetadata) *MeshData {
- s.Metadata = v
+// SetVirtualNodes sets the VirtualNodes field's value.
+func (s *ListVirtualNodesOutput) SetVirtualNodes(v []*VirtualNodeRef) *ListVirtualNodesOutput {
+ s.VirtualNodes = v
return s
}
-// SetSpec sets the Spec field's value.
-func (s *MeshData) SetSpec(v *MeshSpec) *MeshData {
- s.Spec = v
- return s
-}
+type ListVirtualRoutersInput struct {
+ _ struct{} `type:"structure"`
-// SetStatus sets the Status field's value.
-func (s *MeshData) SetStatus(v *MeshStatus) *MeshData {
- s.Status = v
- return s
-}
-
-// An object that represents a service mesh returned by a list operation.
-type MeshRef struct {
- _ struct{} `type:"structure"`
-
- // Arn is a required field
- Arn *string `locationName:"arn" type:"string" required:"true"`
-
- // CreatedAt is a required field
- CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
-
- // LastUpdatedAt is a required field
- LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"`
+ Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
// MeshName is a required field
- MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"`
-
- // MeshOwner is a required field
- MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"`
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
- // ResourceOwner is a required field
- ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"`
+ MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
- // Version is a required field
- Version *int64 `locationName:"version" type:"long" required:"true"`
+ NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
}
// String returns the string representation
-func (s MeshRef) String() string {
+func (s ListVirtualRoutersInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s MeshRef) GoString() string {
+func (s ListVirtualRoutersInput) GoString() string {
return s.String()
}
-// SetArn sets the Arn field's value.
-func (s *MeshRef) SetArn(v string) *MeshRef {
- s.Arn = &v
- return s
-}
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ListVirtualRoutersInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListVirtualRoutersInput"}
+ if s.Limit != nil && *s.Limit < 1 {
+ invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
+ }
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
+ }
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ }
+ if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
+ }
-// SetCreatedAt sets the CreatedAt field's value.
-func (s *MeshRef) SetCreatedAt(v time.Time) *MeshRef {
- s.CreatedAt = &v
- return s
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
}
-// SetLastUpdatedAt sets the LastUpdatedAt field's value.
-func (s *MeshRef) SetLastUpdatedAt(v time.Time) *MeshRef {
- s.LastUpdatedAt = &v
+// SetLimit sets the Limit field's value.
+func (s *ListVirtualRoutersInput) SetLimit(v int64) *ListVirtualRoutersInput {
+ s.Limit = &v
return s
}
// SetMeshName sets the MeshName field's value.
-func (s *MeshRef) SetMeshName(v string) *MeshRef {
+func (s *ListVirtualRoutersInput) SetMeshName(v string) *ListVirtualRoutersInput {
s.MeshName = &v
return s
}
// SetMeshOwner sets the MeshOwner field's value.
-func (s *MeshRef) SetMeshOwner(v string) *MeshRef {
+func (s *ListVirtualRoutersInput) SetMeshOwner(v string) *ListVirtualRoutersInput {
s.MeshOwner = &v
return s
}
-// SetResourceOwner sets the ResourceOwner field's value.
-func (s *MeshRef) SetResourceOwner(v string) *MeshRef {
- s.ResourceOwner = &v
- return s
-}
-
-// SetVersion sets the Version field's value.
-func (s *MeshRef) SetVersion(v int64) *MeshRef {
- s.Version = &v
+// SetNextToken sets the NextToken field's value.
+func (s *ListVirtualRoutersInput) SetNextToken(v string) *ListVirtualRoutersInput {
+ s.NextToken = &v
return s
}
-// An object that represents the specification of a service mesh.
-type MeshSpec struct {
+type ListVirtualRoutersOutput struct {
_ struct{} `type:"structure"`
- // An object that represents the egress filter rules for a service mesh.
- EgressFilter *EgressFilter `locationName:"egressFilter" type:"structure"`
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // VirtualRouters is a required field
+ VirtualRouters []*VirtualRouterRef `locationName:"virtualRouters" type:"list" required:"true"`
}
// String returns the string representation
-func (s MeshSpec) String() string {
+func (s ListVirtualRoutersOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s MeshSpec) GoString() string {
+func (s ListVirtualRoutersOutput) GoString() string {
return s.String()
}
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *MeshSpec) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "MeshSpec"}
- if s.EgressFilter != nil {
- if err := s.EgressFilter.Validate(); err != nil {
- invalidParams.AddNested("EgressFilter", err.(request.ErrInvalidParams))
- }
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
+// SetNextToken sets the NextToken field's value.
+func (s *ListVirtualRoutersOutput) SetNextToken(v string) *ListVirtualRoutersOutput {
+ s.NextToken = &v
+ return s
}
-// SetEgressFilter sets the EgressFilter field's value.
-func (s *MeshSpec) SetEgressFilter(v *EgressFilter) *MeshSpec {
- s.EgressFilter = v
+// SetVirtualRouters sets the VirtualRouters field's value.
+func (s *ListVirtualRoutersOutput) SetVirtualRouters(v []*VirtualRouterRef) *ListVirtualRoutersOutput {
+ s.VirtualRouters = v
return s
}
-// An object that represents the status of a service mesh.
-type MeshStatus struct {
+type ListVirtualServicesInput struct {
_ struct{} `type:"structure"`
- Status *string `locationName:"status" type:"string" enum:"MeshStatusCode"`
-}
-
-// String returns the string representation
-func (s MeshStatus) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s MeshStatus) GoString() string {
- return s.String()
-}
+ Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
-// SetStatus sets the Status field's value.
-func (s *MeshStatus) SetStatus(v string) *MeshStatus {
- s.Status = &v
- return s
-}
+ // MeshName is a required field
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
-// The specified resource doesn't exist. Check your request syntax and try again.
-type NotFoundException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+ MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
- Message_ *string `locationName:"message" type:"string"`
+ NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
}
// String returns the string representation
-func (s NotFoundException) String() string {
+func (s ListVirtualServicesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s NotFoundException) GoString() string {
+func (s ListVirtualServicesInput) GoString() string {
return s.String()
}
-func newErrorNotFoundException(v protocol.ResponseMetadata) error {
- return &NotFoundException{
- RespMetadata: v,
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ListVirtualServicesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListVirtualServicesInput"}
+ if s.Limit != nil && *s.Limit < 1 {
+ invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
+ }
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
+ }
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ }
+ if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
}
-}
-
-// Code returns the exception type name.
-func (s *NotFoundException) Code() string {
- return "NotFoundException"
-}
-// Message returns the exception's message.
-func (s *NotFoundException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
+ if invalidParams.Len() > 0 {
+ return invalidParams
}
- return ""
+ return nil
}
-// OrigErr always returns nil, satisfies awserr.Error interface.
-func (s *NotFoundException) OrigErr() error {
- return nil
+// SetLimit sets the Limit field's value.
+func (s *ListVirtualServicesInput) SetLimit(v int64) *ListVirtualServicesInput {
+ s.Limit = &v
+ return s
}
-func (s *NotFoundException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
+// SetMeshName sets the MeshName field's value.
+func (s *ListVirtualServicesInput) SetMeshName(v string) *ListVirtualServicesInput {
+ s.MeshName = &v
+ return s
}
-// Status code returns the HTTP status code for the request's response error.
-func (s *NotFoundException) StatusCode() int {
- return s.RespMetadata.StatusCode
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *ListVirtualServicesInput) SetMeshOwner(v string) *ListVirtualServicesInput {
+ s.MeshOwner = &v
+ return s
}
-// RequestID returns the service's response RequestID for request.
-func (s *NotFoundException) RequestID() string {
- return s.RespMetadata.RequestID
+// SetNextToken sets the NextToken field's value.
+func (s *ListVirtualServicesInput) SetNextToken(v string) *ListVirtualServicesInput {
+ s.NextToken = &v
+ return s
}
-// An object that represents a port mapping.
-type PortMapping struct {
+type ListVirtualServicesOutput struct {
_ struct{} `type:"structure"`
- // Port is a required field
- Port *int64 `locationName:"port" min:"1" type:"integer" required:"true"`
+ NextToken *string `locationName:"nextToken" type:"string"`
- // Protocol is a required field
- Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"`
+ // VirtualServices is a required field
+ VirtualServices []*VirtualServiceRef `locationName:"virtualServices" type:"list" required:"true"`
}
// String returns the string representation
-func (s PortMapping) String() string {
+func (s ListVirtualServicesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s PortMapping) GoString() string {
+func (s ListVirtualServicesOutput) GoString() string {
return s.String()
}
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *PortMapping) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PortMapping"}
- if s.Port == nil {
- invalidParams.Add(request.NewErrParamRequired("Port"))
- }
- if s.Port != nil && *s.Port < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Port", 1))
- }
- if s.Protocol == nil {
- invalidParams.Add(request.NewErrParamRequired("Protocol"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetPort sets the Port field's value.
-func (s *PortMapping) SetPort(v int64) *PortMapping {
- s.Port = &v
+// SetNextToken sets the NextToken field's value.
+func (s *ListVirtualServicesOutput) SetNextToken(v string) *ListVirtualServicesOutput {
+ s.NextToken = &v
return s
}
-// SetProtocol sets the Protocol field's value.
-func (s *PortMapping) SetProtocol(v string) *PortMapping {
- s.Protocol = &v
+// SetVirtualServices sets the VirtualServices field's value.
+func (s *ListVirtualServicesOutput) SetVirtualServices(v []*VirtualServiceRef) *ListVirtualServicesOutput {
+ s.VirtualServices = v
return s
}
-// You can't delete the specified resource because it's in use or required by
+// An object that represents a listener for a virtual node.
+type Listener struct {
+ _ struct{} `type:"structure"`
+
+ // An object that represents the health check policy for a virtual node's listener.
+ HealthCheck *HealthCheckPolicy `locationName:"healthCheck" type:"structure"`
+
+ // An object that represents a port mapping.
+ //
+ // PortMapping is a required field
+ PortMapping *PortMapping `locationName:"portMapping" type:"structure" required:"true"`
+
+ // An object that represents timeouts for different protocols.
+ Timeout *ListenerTimeout `locationName:"timeout" type:"structure"`
+
+ // An object that represents the Transport Layer Security (TLS) properties for
+ // a listener.
+ Tls *ListenerTls `locationName:"tls" type:"structure"`
+}
+
+// String returns the string representation
+func (s Listener) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Listener) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *Listener) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "Listener"}
+ if s.PortMapping == nil {
+ invalidParams.Add(request.NewErrParamRequired("PortMapping"))
+ }
+ if s.HealthCheck != nil {
+ if err := s.HealthCheck.Validate(); err != nil {
+ invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.PortMapping != nil {
+ if err := s.PortMapping.Validate(); err != nil {
+ invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Tls != nil {
+ if err := s.Tls.Validate(); err != nil {
+ invalidParams.AddNested("Tls", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetHealthCheck sets the HealthCheck field's value.
+func (s *Listener) SetHealthCheck(v *HealthCheckPolicy) *Listener {
+ s.HealthCheck = v
+ return s
+}
+
+// SetPortMapping sets the PortMapping field's value.
+func (s *Listener) SetPortMapping(v *PortMapping) *Listener {
+ s.PortMapping = v
+ return s
+}
+
+// SetTimeout sets the Timeout field's value.
+func (s *Listener) SetTimeout(v *ListenerTimeout) *Listener {
+ s.Timeout = v
+ return s
+}
+
+// SetTls sets the Tls field's value.
+func (s *Listener) SetTls(v *ListenerTls) *Listener {
+ s.Tls = v
+ return s
+}
+
+// An object that represents timeouts for different protocols.
+type ListenerTimeout struct {
+ _ struct{} `type:"structure"`
+
+ // An object that represents types of timeouts.
+ Grpc *GrpcTimeout `locationName:"grpc" type:"structure"`
+
+ // An object that represents types of timeouts.
+ Http *HttpTimeout `locationName:"http" type:"structure"`
+
+ // An object that represents types of timeouts.
+ Http2 *HttpTimeout `locationName:"http2" type:"structure"`
+
+ // An object that represents types of timeouts.
+ Tcp *TcpTimeout `locationName:"tcp" type:"structure"`
+}
+
+// String returns the string representation
+func (s ListenerTimeout) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListenerTimeout) GoString() string {
+ return s.String()
+}
+
+// SetGrpc sets the Grpc field's value.
+func (s *ListenerTimeout) SetGrpc(v *GrpcTimeout) *ListenerTimeout {
+ s.Grpc = v
+ return s
+}
+
+// SetHttp sets the Http field's value.
+func (s *ListenerTimeout) SetHttp(v *HttpTimeout) *ListenerTimeout {
+ s.Http = v
+ return s
+}
+
+// SetHttp2 sets the Http2 field's value.
+func (s *ListenerTimeout) SetHttp2(v *HttpTimeout) *ListenerTimeout {
+ s.Http2 = v
+ return s
+}
+
+// SetTcp sets the Tcp field's value.
+func (s *ListenerTimeout) SetTcp(v *TcpTimeout) *ListenerTimeout {
+ s.Tcp = v
+ return s
+}
+
+// An object that represents the Transport Layer Security (TLS) properties for
+// a listener.
+type ListenerTls struct {
+ _ struct{} `type:"structure"`
+
+ // An object that represents a listener's Transport Layer Security (TLS) certificate.
+ //
+ // Certificate is a required field
+ Certificate *ListenerTlsCertificate `locationName:"certificate" type:"structure" required:"true"`
+
+ // Mode is a required field
+ Mode *string `locationName:"mode" type:"string" required:"true" enum:"ListenerTlsMode"`
+}
+
+// String returns the string representation
+func (s ListenerTls) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListenerTls) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ListenerTls) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListenerTls"}
+ if s.Certificate == nil {
+ invalidParams.Add(request.NewErrParamRequired("Certificate"))
+ }
+ if s.Mode == nil {
+ invalidParams.Add(request.NewErrParamRequired("Mode"))
+ }
+ if s.Certificate != nil {
+ if err := s.Certificate.Validate(); err != nil {
+ invalidParams.AddNested("Certificate", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCertificate sets the Certificate field's value.
+func (s *ListenerTls) SetCertificate(v *ListenerTlsCertificate) *ListenerTls {
+ s.Certificate = v
+ return s
+}
+
+// SetMode sets the Mode field's value.
+func (s *ListenerTls) SetMode(v string) *ListenerTls {
+ s.Mode = &v
+ return s
+}
+
+// An object that represents an AWS Certicate Manager (ACM) certificate.
+type ListenerTlsAcmCertificate struct {
+ _ struct{} `type:"structure"`
+
+ // CertificateArn is a required field
+ CertificateArn *string `locationName:"certificateArn" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ListenerTlsAcmCertificate) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListenerTlsAcmCertificate) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ListenerTlsAcmCertificate) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListenerTlsAcmCertificate"}
+ if s.CertificateArn == nil {
+ invalidParams.Add(request.NewErrParamRequired("CertificateArn"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCertificateArn sets the CertificateArn field's value.
+func (s *ListenerTlsAcmCertificate) SetCertificateArn(v string) *ListenerTlsAcmCertificate {
+ s.CertificateArn = &v
+ return s
+}
+
+// An object that represents a listener's Transport Layer Security (TLS) certificate.
+type ListenerTlsCertificate struct {
+ _ struct{} `type:"structure"`
+
+ // An object that represents an AWS Certicate Manager (ACM) certificate.
+ Acm *ListenerTlsAcmCertificate `locationName:"acm" type:"structure"`
+
+ // An object that represents a local file certificate. The certificate must
+ // meet specific requirements and you must have proxy authorization enabled.
+ // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites).
+ File *ListenerTlsFileCertificate `locationName:"file" type:"structure"`
+}
+
+// String returns the string representation
+func (s ListenerTlsCertificate) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListenerTlsCertificate) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ListenerTlsCertificate) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListenerTlsCertificate"}
+ if s.Acm != nil {
+ if err := s.Acm.Validate(); err != nil {
+ invalidParams.AddNested("Acm", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.File != nil {
+ if err := s.File.Validate(); err != nil {
+ invalidParams.AddNested("File", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAcm sets the Acm field's value.
+func (s *ListenerTlsCertificate) SetAcm(v *ListenerTlsAcmCertificate) *ListenerTlsCertificate {
+ s.Acm = v
+ return s
+}
+
+// SetFile sets the File field's value.
+func (s *ListenerTlsCertificate) SetFile(v *ListenerTlsFileCertificate) *ListenerTlsCertificate {
+ s.File = v
+ return s
+}
+
+// An object that represents a local file certificate. The certificate must
+// meet specific requirements and you must have proxy authorization enabled.
+// For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites).
+type ListenerTlsFileCertificate struct {
+ _ struct{} `type:"structure"`
+
+ // CertificateChain is a required field
+ CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"`
+
+ // PrivateKey is a required field
+ PrivateKey *string `locationName:"privateKey" min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ListenerTlsFileCertificate) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListenerTlsFileCertificate) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ListenerTlsFileCertificate) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListenerTlsFileCertificate"}
+ if s.CertificateChain == nil {
+ invalidParams.Add(request.NewErrParamRequired("CertificateChain"))
+ }
+ if s.CertificateChain != nil && len(*s.CertificateChain) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1))
+ }
+ if s.PrivateKey == nil {
+ invalidParams.Add(request.NewErrParamRequired("PrivateKey"))
+ }
+ if s.PrivateKey != nil && len(*s.PrivateKey) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCertificateChain sets the CertificateChain field's value.
+func (s *ListenerTlsFileCertificate) SetCertificateChain(v string) *ListenerTlsFileCertificate {
+ s.CertificateChain = &v
+ return s
+}
+
+// SetPrivateKey sets the PrivateKey field's value.
+func (s *ListenerTlsFileCertificate) SetPrivateKey(v string) *ListenerTlsFileCertificate {
+ s.PrivateKey = &v
+ return s
+}
+
+// An object that represents the logging information for a virtual node.
+type Logging struct {
+ _ struct{} `type:"structure"`
+
+ // An object that represents the access logging information for a virtual node.
+ AccessLog *AccessLog `locationName:"accessLog" type:"structure"`
+}
+
+// String returns the string representation
+func (s Logging) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Logging) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *Logging) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "Logging"}
+ if s.AccessLog != nil {
+ if err := s.AccessLog.Validate(); err != nil {
+ invalidParams.AddNested("AccessLog", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAccessLog sets the AccessLog field's value.
+func (s *Logging) SetAccessLog(v *AccessLog) *Logging {
+ s.AccessLog = v
+ return s
+}
+
+// An object that represents the range of values to match on. The first character
+// of the range is included in the range, though the last character is not.
+// For example, if the range specified were 1-100, only values 1-99 would be
+// matched.
+type MatchRange struct {
+ _ struct{} `type:"structure"`
+
+ // End is a required field
+ End *int64 `locationName:"end" type:"long" required:"true"`
+
+ // Start is a required field
+ Start *int64 `locationName:"start" type:"long" required:"true"`
+}
+
+// String returns the string representation
+func (s MatchRange) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MatchRange) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *MatchRange) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "MatchRange"}
+ if s.End == nil {
+ invalidParams.Add(request.NewErrParamRequired("End"))
+ }
+ if s.Start == nil {
+ invalidParams.Add(request.NewErrParamRequired("Start"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetEnd sets the End field's value.
+func (s *MatchRange) SetEnd(v int64) *MatchRange {
+ s.End = &v
+ return s
+}
+
+// SetStart sets the Start field's value.
+func (s *MatchRange) SetStart(v int64) *MatchRange {
+ s.Start = &v
+ return s
+}
+
+// An object that represents a service mesh returned by a describe operation.
+type MeshData struct {
+ _ struct{} `type:"structure"`
+
+ // MeshName is a required field
+ MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ // An object that represents metadata for a resource.
+ //
+ // Metadata is a required field
+ Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"`
+
+ // An object that represents the specification of a service mesh.
+ //
+ // Spec is a required field
+ Spec *MeshSpec `locationName:"spec" type:"structure" required:"true"`
+
+ // An object that represents the status of a service mesh.
+ //
+ // Status is a required field
+ Status *MeshStatus `locationName:"status" type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s MeshData) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MeshData) GoString() string {
+ return s.String()
+}
+
+// SetMeshName sets the MeshName field's value.
+func (s *MeshData) SetMeshName(v string) *MeshData {
+ s.MeshName = &v
+ return s
+}
+
+// SetMetadata sets the Metadata field's value.
+func (s *MeshData) SetMetadata(v *ResourceMetadata) *MeshData {
+ s.Metadata = v
+ return s
+}
+
+// SetSpec sets the Spec field's value.
+func (s *MeshData) SetSpec(v *MeshSpec) *MeshData {
+ s.Spec = v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *MeshData) SetStatus(v *MeshStatus) *MeshData {
+ s.Status = v
+ return s
+}
+
+// An object that represents a service mesh returned by a list operation.
+type MeshRef struct {
+ _ struct{} `type:"structure"`
+
+ // Arn is a required field
+ Arn *string `locationName:"arn" type:"string" required:"true"`
+
+ // CreatedAt is a required field
+ CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
+
+ // LastUpdatedAt is a required field
+ LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"`
+
+ // MeshName is a required field
+ MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ // MeshOwner is a required field
+ MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"`
+
+ // ResourceOwner is a required field
+ ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"`
+
+ // Version is a required field
+ Version *int64 `locationName:"version" type:"long" required:"true"`
+}
+
+// String returns the string representation
+func (s MeshRef) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MeshRef) GoString() string {
+ return s.String()
+}
+
+// SetArn sets the Arn field's value.
+func (s *MeshRef) SetArn(v string) *MeshRef {
+ s.Arn = &v
+ return s
+}
+
+// SetCreatedAt sets the CreatedAt field's value.
+func (s *MeshRef) SetCreatedAt(v time.Time) *MeshRef {
+ s.CreatedAt = &v
+ return s
+}
+
+// SetLastUpdatedAt sets the LastUpdatedAt field's value.
+func (s *MeshRef) SetLastUpdatedAt(v time.Time) *MeshRef {
+ s.LastUpdatedAt = &v
+ return s
+}
+
+// SetMeshName sets the MeshName field's value.
+func (s *MeshRef) SetMeshName(v string) *MeshRef {
+ s.MeshName = &v
+ return s
+}
+
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *MeshRef) SetMeshOwner(v string) *MeshRef {
+ s.MeshOwner = &v
+ return s
+}
+
+// SetResourceOwner sets the ResourceOwner field's value.
+func (s *MeshRef) SetResourceOwner(v string) *MeshRef {
+ s.ResourceOwner = &v
+ return s
+}
+
+// SetVersion sets the Version field's value.
+func (s *MeshRef) SetVersion(v int64) *MeshRef {
+ s.Version = &v
+ return s
+}
+
+// An object that represents the specification of a service mesh.
+type MeshSpec struct {
+ _ struct{} `type:"structure"`
+
+ // An object that represents the egress filter rules for a service mesh.
+ EgressFilter *EgressFilter `locationName:"egressFilter" type:"structure"`
+}
+
+// String returns the string representation
+func (s MeshSpec) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MeshSpec) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *MeshSpec) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "MeshSpec"}
+ if s.EgressFilter != nil {
+ if err := s.EgressFilter.Validate(); err != nil {
+ invalidParams.AddNested("EgressFilter", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetEgressFilter sets the EgressFilter field's value.
+func (s *MeshSpec) SetEgressFilter(v *EgressFilter) *MeshSpec {
+ s.EgressFilter = v
+ return s
+}
+
+// An object that represents the status of a service mesh.
+type MeshStatus struct {
+ _ struct{} `type:"structure"`
+
+ Status *string `locationName:"status" type:"string" enum:"MeshStatusCode"`
+}
+
+// String returns the string representation
+func (s MeshStatus) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MeshStatus) GoString() string {
+ return s.String()
+}
+
+// SetStatus sets the Status field's value.
+func (s *MeshStatus) SetStatus(v string) *MeshStatus {
+ s.Status = &v
+ return s
+}
+
+// The specified resource doesn't exist. Check your request syntax and try again.
+type NotFoundException struct {
+ _ struct{} `type:"structure"`
+ RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+
+ Message_ *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s NotFoundException) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NotFoundException) GoString() string {
+ return s.String()
+}
+
+func newErrorNotFoundException(v protocol.ResponseMetadata) error {
+ return &NotFoundException{
+ RespMetadata: v,
+ }
+}
+
+// Code returns the exception type name.
+func (s *NotFoundException) Code() string {
+ return "NotFoundException"
+}
+
+// Message returns the exception's message.
+func (s *NotFoundException) Message() string {
+ if s.Message_ != nil {
+ return *s.Message_
+ }
+ return ""
+}
+
+// OrigErr always returns nil, satisfies awserr.Error interface.
+func (s *NotFoundException) OrigErr() error {
+ return nil
+}
+
+func (s *NotFoundException) Error() string {
+ return fmt.Sprintf("%s: %s", s.Code(), s.Message())
+}
+
+// Status code returns the HTTP status code for the request's response error.
+func (s *NotFoundException) StatusCode() int {
+ return s.RespMetadata.StatusCode
+}
+
+// RequestID returns the service's response RequestID for request.
+func (s *NotFoundException) RequestID() string {
+ return s.RespMetadata.RequestID
+}
+
+// An object that represents a port mapping.
+type PortMapping struct {
+ _ struct{} `type:"structure"`
+
+ // Port is a required field
+ Port *int64 `locationName:"port" min:"1" type:"integer" required:"true"`
+
+ // Protocol is a required field
+ Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"`
+}
+
+// String returns the string representation
+func (s PortMapping) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PortMapping) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PortMapping) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PortMapping"}
+ if s.Port == nil {
+ invalidParams.Add(request.NewErrParamRequired("Port"))
+ }
+ if s.Port != nil && *s.Port < 1 {
+ invalidParams.Add(request.NewErrParamMinValue("Port", 1))
+ }
+ if s.Protocol == nil {
+ invalidParams.Add(request.NewErrParamRequired("Protocol"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetPort sets the Port field's value.
+func (s *PortMapping) SetPort(v int64) *PortMapping {
+ s.Port = &v
+ return s
+}
+
+// SetProtocol sets the Protocol field's value.
+func (s *PortMapping) SetProtocol(v string) *PortMapping {
+ s.Protocol = &v
+ return s
+}
+
+// You can't delete the specified resource because it's in use or required by
// another resource.
type ResourceInUseException struct {
_ struct{} `type:"structure"`
@@ -7953,352 +10622,1776 @@ type ResourceInUseException struct {
}
// String returns the string representation
-func (s ResourceInUseException) String() string {
+func (s ResourceInUseException) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResourceInUseException) GoString() string {
+ return s.String()
+}
+
+func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
+ return &ResourceInUseException{
+ RespMetadata: v,
+ }
+}
+
+// Code returns the exception type name.
+func (s *ResourceInUseException) Code() string {
+ return "ResourceInUseException"
+}
+
+// Message returns the exception's message.
+func (s *ResourceInUseException) Message() string {
+ if s.Message_ != nil {
+ return *s.Message_
+ }
+ return ""
+}
+
+// OrigErr always returns nil, satisfies awserr.Error interface.
+func (s *ResourceInUseException) OrigErr() error {
+ return nil
+}
+
+func (s *ResourceInUseException) Error() string {
+ return fmt.Sprintf("%s: %s", s.Code(), s.Message())
+}
+
+// Status code returns the HTTP status code for the request's response error.
+func (s *ResourceInUseException) StatusCode() int {
+ return s.RespMetadata.StatusCode
+}
+
+// RequestID returns the service's response RequestID for request.
+func (s *ResourceInUseException) RequestID() string {
+ return s.RespMetadata.RequestID
+}
+
+// An object that represents metadata for a resource.
+type ResourceMetadata struct {
+ _ struct{} `type:"structure"`
+
+ // Arn is a required field
+ Arn *string `locationName:"arn" type:"string" required:"true"`
+
+ // CreatedAt is a required field
+ CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
+
+ // LastUpdatedAt is a required field
+ LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"`
+
+ // MeshOwner is a required field
+ MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"`
+
+ // ResourceOwner is a required field
+ ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"`
+
+ // Uid is a required field
+ Uid *string `locationName:"uid" type:"string" required:"true"`
+
+ // Version is a required field
+ Version *int64 `locationName:"version" type:"long" required:"true"`
+}
+
+// String returns the string representation
+func (s ResourceMetadata) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResourceMetadata) GoString() string {
+ return s.String()
+}
+
+// SetArn sets the Arn field's value.
+func (s *ResourceMetadata) SetArn(v string) *ResourceMetadata {
+ s.Arn = &v
+ return s
+}
+
+// SetCreatedAt sets the CreatedAt field's value.
+func (s *ResourceMetadata) SetCreatedAt(v time.Time) *ResourceMetadata {
+ s.CreatedAt = &v
+ return s
+}
+
+// SetLastUpdatedAt sets the LastUpdatedAt field's value.
+func (s *ResourceMetadata) SetLastUpdatedAt(v time.Time) *ResourceMetadata {
+ s.LastUpdatedAt = &v
+ return s
+}
+
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *ResourceMetadata) SetMeshOwner(v string) *ResourceMetadata {
+ s.MeshOwner = &v
+ return s
+}
+
+// SetResourceOwner sets the ResourceOwner field's value.
+func (s *ResourceMetadata) SetResourceOwner(v string) *ResourceMetadata {
+ s.ResourceOwner = &v
+ return s
+}
+
+// SetUid sets the Uid field's value.
+func (s *ResourceMetadata) SetUid(v string) *ResourceMetadata {
+ s.Uid = &v
+ return s
+}
+
+// SetVersion sets the Version field's value.
+func (s *ResourceMetadata) SetVersion(v int64) *ResourceMetadata {
+ s.Version = &v
+ return s
+}
+
+// An object that represents a route returned by a describe operation.
+type RouteData struct {
+ _ struct{} `type:"structure"`
+
+ // MeshName is a required field
+ MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ // An object that represents metadata for a resource.
+ //
+ // Metadata is a required field
+ Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"`
+
+ // RouteName is a required field
+ RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"`
+
+ // An object that represents a route specification. Specify one route type.
+ //
+ // Spec is a required field
+ Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"`
+
+ // An object that represents the current status of a route.
+ //
+ // Status is a required field
+ Status *RouteStatus `locationName:"status" type:"structure" required:"true"`
+
+ // VirtualRouterName is a required field
+ VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s RouteData) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RouteData) GoString() string {
+ return s.String()
+}
+
+// SetMeshName sets the MeshName field's value.
+func (s *RouteData) SetMeshName(v string) *RouteData {
+ s.MeshName = &v
+ return s
+}
+
+// SetMetadata sets the Metadata field's value.
+func (s *RouteData) SetMetadata(v *ResourceMetadata) *RouteData {
+ s.Metadata = v
+ return s
+}
+
+// SetRouteName sets the RouteName field's value.
+func (s *RouteData) SetRouteName(v string) *RouteData {
+ s.RouteName = &v
+ return s
+}
+
+// SetSpec sets the Spec field's value.
+func (s *RouteData) SetSpec(v *RouteSpec) *RouteData {
+ s.Spec = v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *RouteData) SetStatus(v *RouteStatus) *RouteData {
+ s.Status = v
+ return s
+}
+
+// SetVirtualRouterName sets the VirtualRouterName field's value.
+func (s *RouteData) SetVirtualRouterName(v string) *RouteData {
+ s.VirtualRouterName = &v
+ return s
+}
+
+// An object that represents a route returned by a list operation.
+type RouteRef struct {
+ _ struct{} `type:"structure"`
+
+ // Arn is a required field
+ Arn *string `locationName:"arn" type:"string" required:"true"`
+
+ // CreatedAt is a required field
+ CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
+
+ // LastUpdatedAt is a required field
+ LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"`
+
+ // MeshName is a required field
+ MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ // MeshOwner is a required field
+ MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"`
+
+ // ResourceOwner is a required field
+ ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"`
+
+ // RouteName is a required field
+ RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"`
+
+ // Version is a required field
+ Version *int64 `locationName:"version" type:"long" required:"true"`
+
+ // VirtualRouterName is a required field
+ VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s RouteRef) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RouteRef) GoString() string {
+ return s.String()
+}
+
+// SetArn sets the Arn field's value.
+func (s *RouteRef) SetArn(v string) *RouteRef {
+ s.Arn = &v
+ return s
+}
+
+// SetCreatedAt sets the CreatedAt field's value.
+func (s *RouteRef) SetCreatedAt(v time.Time) *RouteRef {
+ s.CreatedAt = &v
+ return s
+}
+
+// SetLastUpdatedAt sets the LastUpdatedAt field's value.
+func (s *RouteRef) SetLastUpdatedAt(v time.Time) *RouteRef {
+ s.LastUpdatedAt = &v
+ return s
+}
+
+// SetMeshName sets the MeshName field's value.
+func (s *RouteRef) SetMeshName(v string) *RouteRef {
+ s.MeshName = &v
+ return s
+}
+
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *RouteRef) SetMeshOwner(v string) *RouteRef {
+ s.MeshOwner = &v
+ return s
+}
+
+// SetResourceOwner sets the ResourceOwner field's value.
+func (s *RouteRef) SetResourceOwner(v string) *RouteRef {
+ s.ResourceOwner = &v
+ return s
+}
+
+// SetRouteName sets the RouteName field's value.
+func (s *RouteRef) SetRouteName(v string) *RouteRef {
+ s.RouteName = &v
+ return s
+}
+
+// SetVersion sets the Version field's value.
+func (s *RouteRef) SetVersion(v int64) *RouteRef {
+ s.Version = &v
+ return s
+}
+
+// SetVirtualRouterName sets the VirtualRouterName field's value.
+func (s *RouteRef) SetVirtualRouterName(v string) *RouteRef {
+ s.VirtualRouterName = &v
+ return s
+}
+
+// An object that represents a route specification. Specify one route type.
+type RouteSpec struct {
+ _ struct{} `type:"structure"`
+
+ // An object that represents a gRPC route type.
+ GrpcRoute *GrpcRoute `locationName:"grpcRoute" type:"structure"`
+
+ // An object that represents an HTTP or HTTP/2 route type.
+ Http2Route *HttpRoute `locationName:"http2Route" type:"structure"`
+
+ // An object that represents an HTTP or HTTP/2 route type.
+ HttpRoute *HttpRoute `locationName:"httpRoute" type:"structure"`
+
+ Priority *int64 `locationName:"priority" type:"integer"`
+
+ // An object that represents a TCP route type.
+ TcpRoute *TcpRoute `locationName:"tcpRoute" type:"structure"`
+}
+
+// String returns the string representation
+func (s RouteSpec) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RouteSpec) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RouteSpec) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RouteSpec"}
+ if s.GrpcRoute != nil {
+ if err := s.GrpcRoute.Validate(); err != nil {
+ invalidParams.AddNested("GrpcRoute", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Http2Route != nil {
+ if err := s.Http2Route.Validate(); err != nil {
+ invalidParams.AddNested("Http2Route", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.HttpRoute != nil {
+ if err := s.HttpRoute.Validate(); err != nil {
+ invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.TcpRoute != nil {
+ if err := s.TcpRoute.Validate(); err != nil {
+ invalidParams.AddNested("TcpRoute", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetGrpcRoute sets the GrpcRoute field's value.
+func (s *RouteSpec) SetGrpcRoute(v *GrpcRoute) *RouteSpec {
+ s.GrpcRoute = v
+ return s
+}
+
+// SetHttp2Route sets the Http2Route field's value.
+func (s *RouteSpec) SetHttp2Route(v *HttpRoute) *RouteSpec {
+ s.Http2Route = v
+ return s
+}
+
+// SetHttpRoute sets the HttpRoute field's value.
+func (s *RouteSpec) SetHttpRoute(v *HttpRoute) *RouteSpec {
+ s.HttpRoute = v
+ return s
+}
+
+// SetPriority sets the Priority field's value.
+func (s *RouteSpec) SetPriority(v int64) *RouteSpec {
+ s.Priority = &v
+ return s
+}
+
+// SetTcpRoute sets the TcpRoute field's value.
+func (s *RouteSpec) SetTcpRoute(v *TcpRoute) *RouteSpec {
+ s.TcpRoute = v
+ return s
+}
+
+// An object that represents the current status of a route.
+type RouteStatus struct {
+ _ struct{} `type:"structure"`
+
+ // Status is a required field
+ Status *string `locationName:"status" type:"string" required:"true" enum:"RouteStatusCode"`
+}
+
+// String returns the string representation
+func (s RouteStatus) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RouteStatus) GoString() string {
+ return s.String()
+}
+
+// SetStatus sets the Status field's value.
+func (s *RouteStatus) SetStatus(v string) *RouteStatus {
+ s.Status = &v
+ return s
+}
+
+// An object that represents the service discovery information for a virtual
+// node.
+type ServiceDiscovery struct {
+ _ struct{} `type:"structure"`
+
+ // An object that represents the AWS Cloud Map service discovery information
+ // for your virtual node.
+ AwsCloudMap *AwsCloudMapServiceDiscovery `locationName:"awsCloudMap" type:"structure"`
+
+ // An object that represents the DNS service discovery information for your
+ // virtual node.
+ Dns *DnsServiceDiscovery `locationName:"dns" type:"structure"`
+}
+
+// String returns the string representation
+func (s ServiceDiscovery) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ServiceDiscovery) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ServiceDiscovery) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ServiceDiscovery"}
+ if s.AwsCloudMap != nil {
+ if err := s.AwsCloudMap.Validate(); err != nil {
+ invalidParams.AddNested("AwsCloudMap", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Dns != nil {
+ if err := s.Dns.Validate(); err != nil {
+ invalidParams.AddNested("Dns", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAwsCloudMap sets the AwsCloudMap field's value.
+func (s *ServiceDiscovery) SetAwsCloudMap(v *AwsCloudMapServiceDiscovery) *ServiceDiscovery {
+ s.AwsCloudMap = v
+ return s
+}
+
+// SetDns sets the Dns field's value.
+func (s *ServiceDiscovery) SetDns(v *DnsServiceDiscovery) *ServiceDiscovery {
+ s.Dns = v
+ return s
+}
+
+// The request has failed due to a temporary failure of the service.
+type ServiceUnavailableException struct {
+ _ struct{} `type:"structure"`
+ RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+
+ Message_ *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s ServiceUnavailableException) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ServiceUnavailableException) GoString() string {
+ return s.String()
+}
+
+func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
+ return &ServiceUnavailableException{
+ RespMetadata: v,
+ }
+}
+
+// Code returns the exception type name.
+func (s *ServiceUnavailableException) Code() string {
+ return "ServiceUnavailableException"
+}
+
+// Message returns the exception's message.
+func (s *ServiceUnavailableException) Message() string {
+ if s.Message_ != nil {
+ return *s.Message_
+ }
+ return ""
+}
+
+// OrigErr always returns nil, satisfies awserr.Error interface.
+func (s *ServiceUnavailableException) OrigErr() error {
+ return nil
+}
+
+func (s *ServiceUnavailableException) Error() string {
+ return fmt.Sprintf("%s: %s", s.Code(), s.Message())
+}
+
+// Status code returns the HTTP status code for the request's response error.
+func (s *ServiceUnavailableException) StatusCode() int {
+ return s.RespMetadata.StatusCode
+}
+
+// RequestID returns the service's response RequestID for request.
+func (s *ServiceUnavailableException) RequestID() string {
+ return s.RespMetadata.RequestID
+}
+
+// Optional metadata that you apply to a resource to assist with categorization
+// and organization. Each tag consists of a key and an optional value, both
+// of which you define. Tag keys can have a maximum character length of 128
+// characters, and tag values can have a maximum length of 256 characters.
+type TagRef struct {
+ _ struct{} `type:"structure"`
+
+ // Key is a required field
+ Key *string `locationName:"key" min:"1" type:"string" required:"true"`
+
+ Value *string `locationName:"value" type:"string"`
+}
+
+// String returns the string representation
+func (s TagRef) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TagRef) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *TagRef) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "TagRef"}
+ if s.Key == nil {
+ invalidParams.Add(request.NewErrParamRequired("Key"))
+ }
+ if s.Key != nil && len(*s.Key) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Key", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetKey sets the Key field's value.
+func (s *TagRef) SetKey(v string) *TagRef {
+ s.Key = &v
+ return s
+}
+
+// SetValue sets the Value field's value.
+func (s *TagRef) SetValue(v string) *TagRef {
+ s.Value = &v
+ return s
+}
+
+type TagResourceInput struct {
+ _ struct{} `type:"structure"`
+
+ // ResourceArn is a required field
+ ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"`
+
+ // Tags is a required field
+ Tags []*TagRef `locationName:"tags" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s TagResourceInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TagResourceInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *TagResourceInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
+ if s.ResourceArn == nil {
+ invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
+ }
+ if s.Tags == nil {
+ invalidParams.Add(request.NewErrParamRequired("Tags"))
+ }
+ if s.Tags != nil {
+ for i, v := range s.Tags {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetResourceArn sets the ResourceArn field's value.
+func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
+ s.ResourceArn = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *TagResourceInput) SetTags(v []*TagRef) *TagResourceInput {
+ s.Tags = v
+ return s
+}
+
+type TagResourceOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s TagResourceOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TagResourceOutput) GoString() string {
+ return s.String()
+}
+
+// An object that represents a TCP route type.
+type TcpRoute struct {
+ _ struct{} `type:"structure"`
+
+ // An object that represents the action to take if a match is determined.
+ //
+ // Action is a required field
+ Action *TcpRouteAction `locationName:"action" type:"structure" required:"true"`
+
+ // An object that represents types of timeouts.
+ Timeout *TcpTimeout `locationName:"timeout" type:"structure"`
+}
+
+// String returns the string representation
+func (s TcpRoute) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TcpRoute) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *TcpRoute) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "TcpRoute"}
+ if s.Action == nil {
+ invalidParams.Add(request.NewErrParamRequired("Action"))
+ }
+ if s.Action != nil {
+ if err := s.Action.Validate(); err != nil {
+ invalidParams.AddNested("Action", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAction sets the Action field's value.
+func (s *TcpRoute) SetAction(v *TcpRouteAction) *TcpRoute {
+ s.Action = v
+ return s
+}
+
+// SetTimeout sets the Timeout field's value.
+func (s *TcpRoute) SetTimeout(v *TcpTimeout) *TcpRoute {
+ s.Timeout = v
+ return s
+}
+
+// An object that represents the action to take if a match is determined.
+type TcpRouteAction struct {
+ _ struct{} `type:"structure"`
+
+ // WeightedTargets is a required field
+ WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s TcpRouteAction) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TcpRouteAction) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *TcpRouteAction) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "TcpRouteAction"}
+ if s.WeightedTargets == nil {
+ invalidParams.Add(request.NewErrParamRequired("WeightedTargets"))
+ }
+ if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1))
+ }
+ if s.WeightedTargets != nil {
+ for i, v := range s.WeightedTargets {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetWeightedTargets sets the WeightedTargets field's value.
+func (s *TcpRouteAction) SetWeightedTargets(v []*WeightedTarget) *TcpRouteAction {
+ s.WeightedTargets = v
+ return s
+}
+
+// An object that represents types of timeouts.
+type TcpTimeout struct {
+ _ struct{} `type:"structure"`
+
+ // An object that represents a duration of time.
+ Idle *Duration `locationName:"idle" type:"structure"`
+}
+
+// String returns the string representation
+func (s TcpTimeout) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TcpTimeout) GoString() string {
+ return s.String()
+}
+
+// SetIdle sets the Idle field's value.
+func (s *TcpTimeout) SetIdle(v *Duration) *TcpTimeout {
+ s.Idle = v
+ return s
+}
+
+// An object that represents a Transport Layer Security (TLS) validation context.
+type TlsValidationContext struct {
+ _ struct{} `type:"structure"`
+
+ // An object that represents a Transport Layer Security (TLS) validation context
+ // trust.
+ //
+ // Trust is a required field
+ Trust *TlsValidationContextTrust `locationName:"trust" type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s TlsValidationContext) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TlsValidationContext) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *TlsValidationContext) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "TlsValidationContext"}
+ if s.Trust == nil {
+ invalidParams.Add(request.NewErrParamRequired("Trust"))
+ }
+ if s.Trust != nil {
+ if err := s.Trust.Validate(); err != nil {
+ invalidParams.AddNested("Trust", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetTrust sets the Trust field's value.
+func (s *TlsValidationContext) SetTrust(v *TlsValidationContextTrust) *TlsValidationContext {
+ s.Trust = v
+ return s
+}
+
+// An object that represents a TLS validation context trust for an AWS Certicate
+// Manager (ACM) certificate.
+type TlsValidationContextAcmTrust struct {
+ _ struct{} `type:"structure"`
+
+ // CertificateAuthorityArns is a required field
+ CertificateAuthorityArns []*string `locationName:"certificateAuthorityArns" min:"1" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s TlsValidationContextAcmTrust) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TlsValidationContextAcmTrust) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *TlsValidationContextAcmTrust) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextAcmTrust"}
+ if s.CertificateAuthorityArns == nil {
+ invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArns"))
+ }
+ if s.CertificateAuthorityArns != nil && len(s.CertificateAuthorityArns) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArns", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCertificateAuthorityArns sets the CertificateAuthorityArns field's value.
+func (s *TlsValidationContextAcmTrust) SetCertificateAuthorityArns(v []*string) *TlsValidationContextAcmTrust {
+ s.CertificateAuthorityArns = v
+ return s
+}
+
+// An object that represents a Transport Layer Security (TLS) validation context
+// trust for a local file.
+type TlsValidationContextFileTrust struct {
+ _ struct{} `type:"structure"`
+
+ // CertificateChain is a required field
+ CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s TlsValidationContextFileTrust) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TlsValidationContextFileTrust) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *TlsValidationContextFileTrust) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextFileTrust"}
+ if s.CertificateChain == nil {
+ invalidParams.Add(request.NewErrParamRequired("CertificateChain"))
+ }
+ if s.CertificateChain != nil && len(*s.CertificateChain) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCertificateChain sets the CertificateChain field's value.
+func (s *TlsValidationContextFileTrust) SetCertificateChain(v string) *TlsValidationContextFileTrust {
+ s.CertificateChain = &v
+ return s
+}
+
+// An object that represents a Transport Layer Security (TLS) validation context
+// trust.
+type TlsValidationContextTrust struct {
+ _ struct{} `type:"structure"`
+
+ // An object that represents a TLS validation context trust for an AWS Certicate
+ // Manager (ACM) certificate.
+ Acm *TlsValidationContextAcmTrust `locationName:"acm" type:"structure"`
+
+ // An object that represents a Transport Layer Security (TLS) validation context
+ // trust for a local file.
+ File *TlsValidationContextFileTrust `locationName:"file" type:"structure"`
+}
+
+// String returns the string representation
+func (s TlsValidationContextTrust) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TlsValidationContextTrust) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *TlsValidationContextTrust) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextTrust"}
+ if s.Acm != nil {
+ if err := s.Acm.Validate(); err != nil {
+ invalidParams.AddNested("Acm", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.File != nil {
+ if err := s.File.Validate(); err != nil {
+ invalidParams.AddNested("File", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAcm sets the Acm field's value.
+func (s *TlsValidationContextTrust) SetAcm(v *TlsValidationContextAcmTrust) *TlsValidationContextTrust {
+ s.Acm = v
+ return s
+}
+
+// SetFile sets the File field's value.
+func (s *TlsValidationContextTrust) SetFile(v *TlsValidationContextFileTrust) *TlsValidationContextTrust {
+ s.File = v
+ return s
+}
+
+// The maximum request rate permitted by the App Mesh APIs has been exceeded
+// for your account. For best results, use an increasing or variable sleep interval
+// between requests.
+type TooManyRequestsException struct {
+ _ struct{} `type:"structure"`
+ RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+
+ Message_ *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s TooManyRequestsException) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TooManyRequestsException) GoString() string {
+ return s.String()
+}
+
+func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
+ return &TooManyRequestsException{
+ RespMetadata: v,
+ }
+}
+
+// Code returns the exception type name.
+func (s *TooManyRequestsException) Code() string {
+ return "TooManyRequestsException"
+}
+
+// Message returns the exception's message.
+func (s *TooManyRequestsException) Message() string {
+ if s.Message_ != nil {
+ return *s.Message_
+ }
+ return ""
+}
+
+// OrigErr always returns nil, satisfies awserr.Error interface.
+func (s *TooManyRequestsException) OrigErr() error {
+ return nil
+}
+
+func (s *TooManyRequestsException) Error() string {
+ return fmt.Sprintf("%s: %s", s.Code(), s.Message())
+}
+
+// Status code returns the HTTP status code for the request's response error.
+func (s *TooManyRequestsException) StatusCode() int {
+ return s.RespMetadata.StatusCode
+}
+
+// RequestID returns the service's response RequestID for request.
+func (s *TooManyRequestsException) RequestID() string {
+ return s.RespMetadata.RequestID
+}
+
+// The request exceeds the maximum allowed number of tags allowed per resource.
+// The current limit is 50 user tags per resource. You must reduce the number
+// of tags in the request. None of the tags in this request were applied.
+type TooManyTagsException struct {
+ _ struct{} `type:"structure"`
+ RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+
+ Message_ *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s TooManyTagsException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ResourceInUseException) GoString() string {
+func (s TooManyTagsException) GoString() string {
+ return s.String()
+}
+
+func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
+ return &TooManyTagsException{
+ RespMetadata: v,
+ }
+}
+
+// Code returns the exception type name.
+func (s *TooManyTagsException) Code() string {
+ return "TooManyTagsException"
+}
+
+// Message returns the exception's message.
+func (s *TooManyTagsException) Message() string {
+ if s.Message_ != nil {
+ return *s.Message_
+ }
+ return ""
+}
+
+// OrigErr always returns nil, satisfies awserr.Error interface.
+func (s *TooManyTagsException) OrigErr() error {
+ return nil
+}
+
+func (s *TooManyTagsException) Error() string {
+ return fmt.Sprintf("%s: %s", s.Code(), s.Message())
+}
+
+// Status code returns the HTTP status code for the request's response error.
+func (s *TooManyTagsException) StatusCode() int {
+ return s.RespMetadata.StatusCode
+}
+
+// RequestID returns the service's response RequestID for request.
+func (s *TooManyTagsException) RequestID() string {
+ return s.RespMetadata.RequestID
+}
+
+type UntagResourceInput struct {
+ _ struct{} `type:"structure"`
+
+ // ResourceArn is a required field
+ ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"`
+
+ // TagKeys is a required field
+ TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
+}
+
+// String returns the string representation
+func (s UntagResourceInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UntagResourceInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *UntagResourceInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
+ if s.ResourceArn == nil {
+ invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
+ }
+ if s.TagKeys == nil {
+ invalidParams.Add(request.NewErrParamRequired("TagKeys"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetResourceArn sets the ResourceArn field's value.
+func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
+ s.ResourceArn = &v
+ return s
+}
+
+// SetTagKeys sets the TagKeys field's value.
+func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
+ s.TagKeys = v
+ return s
+}
+
+type UntagResourceOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s UntagResourceOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UntagResourceOutput) GoString() string {
+ return s.String()
+}
+
+type UpdateGatewayRouteInput struct {
+ _ struct{} `type:"structure"`
+
+ ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
+
+ // GatewayRouteName is a required field
+ GatewayRouteName *string `location:"uri" locationName:"gatewayRouteName" min:"1" type:"string" required:"true"`
+
+ // MeshName is a required field
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
+
+ // An object that represents a gateway route specification. Specify one gateway
+ // route type.
+ //
+ // Spec is a required field
+ Spec *GatewayRouteSpec `locationName:"spec" type:"structure" required:"true"`
+
+ // VirtualGatewayName is a required field
+ VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s UpdateGatewayRouteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UpdateGatewayRouteInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *UpdateGatewayRouteInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayRouteInput"}
+ if s.GatewayRouteName == nil {
+ invalidParams.Add(request.NewErrParamRequired("GatewayRouteName"))
+ }
+ if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1))
+ }
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
+ }
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ }
+ if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
+ }
+ if s.Spec == nil {
+ invalidParams.Add(request.NewErrParamRequired("Spec"))
+ }
+ if s.VirtualGatewayName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName"))
+ }
+ if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1))
+ }
+ if s.Spec != nil {
+ if err := s.Spec.Validate(); err != nil {
+ invalidParams.AddNested("Spec", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *UpdateGatewayRouteInput) SetClientToken(v string) *UpdateGatewayRouteInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetGatewayRouteName sets the GatewayRouteName field's value.
+func (s *UpdateGatewayRouteInput) SetGatewayRouteName(v string) *UpdateGatewayRouteInput {
+ s.GatewayRouteName = &v
+ return s
+}
+
+// SetMeshName sets the MeshName field's value.
+func (s *UpdateGatewayRouteInput) SetMeshName(v string) *UpdateGatewayRouteInput {
+ s.MeshName = &v
+ return s
+}
+
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *UpdateGatewayRouteInput) SetMeshOwner(v string) *UpdateGatewayRouteInput {
+ s.MeshOwner = &v
+ return s
+}
+
+// SetSpec sets the Spec field's value.
+func (s *UpdateGatewayRouteInput) SetSpec(v *GatewayRouteSpec) *UpdateGatewayRouteInput {
+ s.Spec = v
+ return s
+}
+
+// SetVirtualGatewayName sets the VirtualGatewayName field's value.
+func (s *UpdateGatewayRouteInput) SetVirtualGatewayName(v string) *UpdateGatewayRouteInput {
+ s.VirtualGatewayName = &v
+ return s
+}
+
+type UpdateGatewayRouteOutput struct {
+ _ struct{} `type:"structure" payload:"GatewayRoute"`
+
+ // An object that represents a gateway route returned by a describe operation.
+ //
+ // GatewayRoute is a required field
+ GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s UpdateGatewayRouteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UpdateGatewayRouteOutput) GoString() string {
+ return s.String()
+}
+
+// SetGatewayRoute sets the GatewayRoute field's value.
+func (s *UpdateGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *UpdateGatewayRouteOutput {
+ s.GatewayRoute = v
+ return s
+}
+
+type UpdateMeshInput struct {
+ _ struct{} `type:"structure"`
+
+ ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
+
+ // MeshName is a required field
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ // An object that represents the specification of a service mesh.
+ Spec *MeshSpec `locationName:"spec" type:"structure"`
+}
+
+// String returns the string representation
+func (s UpdateMeshInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UpdateMeshInput) GoString() string {
return s.String()
}
-func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
- return &ResourceInUseException{
- RespMetadata: v,
- }
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *UpdateMeshInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UpdateMeshInput"}
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
+ }
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ }
+ if s.Spec != nil {
+ if err := s.Spec.Validate(); err != nil {
+ invalidParams.AddNested("Spec", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *UpdateMeshInput) SetClientToken(v string) *UpdateMeshInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetMeshName sets the MeshName field's value.
+func (s *UpdateMeshInput) SetMeshName(v string) *UpdateMeshInput {
+ s.MeshName = &v
+ return s
}
-// Code returns the exception type name.
-func (s *ResourceInUseException) Code() string {
- return "ResourceInUseException"
+// SetSpec sets the Spec field's value.
+func (s *UpdateMeshInput) SetSpec(v *MeshSpec) *UpdateMeshInput {
+ s.Spec = v
+ return s
}
-// Message returns the exception's message.
-func (s *ResourceInUseException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
-}
+type UpdateMeshOutput struct {
+ _ struct{} `type:"structure" payload:"Mesh"`
-// OrigErr always returns nil, satisfies awserr.Error interface.
-func (s *ResourceInUseException) OrigErr() error {
- return nil
+ // An object that represents a service mesh returned by a describe operation.
+ //
+ // Mesh is a required field
+ Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"`
}
-func (s *ResourceInUseException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
+// String returns the string representation
+func (s UpdateMeshOutput) String() string {
+ return awsutil.Prettify(s)
}
-// Status code returns the HTTP status code for the request's response error.
-func (s *ResourceInUseException) StatusCode() int {
- return s.RespMetadata.StatusCode
+// GoString returns the string representation
+func (s UpdateMeshOutput) GoString() string {
+ return s.String()
}
-// RequestID returns the service's response RequestID for request.
-func (s *ResourceInUseException) RequestID() string {
- return s.RespMetadata.RequestID
+// SetMesh sets the Mesh field's value.
+func (s *UpdateMeshOutput) SetMesh(v *MeshData) *UpdateMeshOutput {
+ s.Mesh = v
+ return s
}
-// An object that represents metadata for a resource.
-type ResourceMetadata struct {
+type UpdateRouteInput struct {
_ struct{} `type:"structure"`
- // Arn is a required field
- Arn *string `locationName:"arn" type:"string" required:"true"`
-
- // CreatedAt is a required field
- CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
+ ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
- // LastUpdatedAt is a required field
- LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"`
+ // MeshName is a required field
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
- // MeshOwner is a required field
- MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"`
+ MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
- // ResourceOwner is a required field
- ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"`
+ // RouteName is a required field
+ RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"`
- // Uid is a required field
- Uid *string `locationName:"uid" type:"string" required:"true"`
+ // An object that represents a route specification. Specify one route type.
+ //
+ // Spec is a required field
+ Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"`
- // Version is a required field
- Version *int64 `locationName:"version" type:"long" required:"true"`
+ // VirtualRouterName is a required field
+ VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s ResourceMetadata) String() string {
+func (s UpdateRouteInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ResourceMetadata) GoString() string {
+func (s UpdateRouteInput) GoString() string {
return s.String()
}
-// SetArn sets the Arn field's value.
-func (s *ResourceMetadata) SetArn(v string) *ResourceMetadata {
- s.Arn = &v
- return s
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *UpdateRouteInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UpdateRouteInput"}
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
+ }
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ }
+ if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
+ }
+ if s.RouteName == nil {
+ invalidParams.Add(request.NewErrParamRequired("RouteName"))
+ }
+ if s.RouteName != nil && len(*s.RouteName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("RouteName", 1))
+ }
+ if s.Spec == nil {
+ invalidParams.Add(request.NewErrParamRequired("Spec"))
+ }
+ if s.VirtualRouterName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualRouterName"))
+ }
+ if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1))
+ }
+ if s.Spec != nil {
+ if err := s.Spec.Validate(); err != nil {
+ invalidParams.AddNested("Spec", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
}
-// SetCreatedAt sets the CreatedAt field's value.
-func (s *ResourceMetadata) SetCreatedAt(v time.Time) *ResourceMetadata {
- s.CreatedAt = &v
+// SetClientToken sets the ClientToken field's value.
+func (s *UpdateRouteInput) SetClientToken(v string) *UpdateRouteInput {
+ s.ClientToken = &v
return s
}
-// SetLastUpdatedAt sets the LastUpdatedAt field's value.
-func (s *ResourceMetadata) SetLastUpdatedAt(v time.Time) *ResourceMetadata {
- s.LastUpdatedAt = &v
+// SetMeshName sets the MeshName field's value.
+func (s *UpdateRouteInput) SetMeshName(v string) *UpdateRouteInput {
+ s.MeshName = &v
return s
}
// SetMeshOwner sets the MeshOwner field's value.
-func (s *ResourceMetadata) SetMeshOwner(v string) *ResourceMetadata {
+func (s *UpdateRouteInput) SetMeshOwner(v string) *UpdateRouteInput {
s.MeshOwner = &v
return s
}
-// SetResourceOwner sets the ResourceOwner field's value.
-func (s *ResourceMetadata) SetResourceOwner(v string) *ResourceMetadata {
- s.ResourceOwner = &v
+// SetRouteName sets the RouteName field's value.
+func (s *UpdateRouteInput) SetRouteName(v string) *UpdateRouteInput {
+ s.RouteName = &v
return s
}
-// SetUid sets the Uid field's value.
-func (s *ResourceMetadata) SetUid(v string) *ResourceMetadata {
- s.Uid = &v
+// SetSpec sets the Spec field's value.
+func (s *UpdateRouteInput) SetSpec(v *RouteSpec) *UpdateRouteInput {
+ s.Spec = v
return s
}
-// SetVersion sets the Version field's value.
-func (s *ResourceMetadata) SetVersion(v int64) *ResourceMetadata {
- s.Version = &v
+// SetVirtualRouterName sets the VirtualRouterName field's value.
+func (s *UpdateRouteInput) SetVirtualRouterName(v string) *UpdateRouteInput {
+ s.VirtualRouterName = &v
return s
}
-// An object that represents a route returned by a describe operation.
-type RouteData struct {
+type UpdateRouteOutput struct {
+ _ struct{} `type:"structure" payload:"Route"`
+
+ // An object that represents a route returned by a describe operation.
+ //
+ // Route is a required field
+ Route *RouteData `locationName:"route" type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s UpdateRouteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UpdateRouteOutput) GoString() string {
+ return s.String()
+}
+
+// SetRoute sets the Route field's value.
+func (s *UpdateRouteOutput) SetRoute(v *RouteData) *UpdateRouteOutput {
+ s.Route = v
+ return s
+}
+
+type UpdateVirtualGatewayInput struct {
_ struct{} `type:"structure"`
- // MeshName is a required field
- MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"`
+ ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
- // An object that represents metadata for a resource.
- //
- // Metadata is a required field
- Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"`
+ // MeshName is a required field
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
- // RouteName is a required field
- RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"`
+ MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
- // An object that represents a route specification. Specify one route type.
+ // An object that represents the specification of a service mesh resource.
//
// Spec is a required field
- Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"`
-
- // An object that represents the current status of a route.
- //
- // Status is a required field
- Status *RouteStatus `locationName:"status" type:"structure" required:"true"`
+ Spec *VirtualGatewaySpec `locationName:"spec" type:"structure" required:"true"`
- // VirtualRouterName is a required field
- VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"`
+ // VirtualGatewayName is a required field
+ VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s RouteData) String() string {
+func (s UpdateVirtualGatewayInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s RouteData) GoString() string {
+func (s UpdateVirtualGatewayInput) GoString() string {
return s.String()
}
-// SetMeshName sets the MeshName field's value.
-func (s *RouteData) SetMeshName(v string) *RouteData {
- s.MeshName = &v
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *UpdateVirtualGatewayInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualGatewayInput"}
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
+ }
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ }
+ if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
+ }
+ if s.Spec == nil {
+ invalidParams.Add(request.NewErrParamRequired("Spec"))
+ }
+ if s.VirtualGatewayName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName"))
+ }
+ if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1))
+ }
+ if s.Spec != nil {
+ if err := s.Spec.Validate(); err != nil {
+ invalidParams.AddNested("Spec", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *UpdateVirtualGatewayInput) SetClientToken(v string) *UpdateVirtualGatewayInput {
+ s.ClientToken = &v
return s
}
-// SetMetadata sets the Metadata field's value.
-func (s *RouteData) SetMetadata(v *ResourceMetadata) *RouteData {
- s.Metadata = v
+// SetMeshName sets the MeshName field's value.
+func (s *UpdateVirtualGatewayInput) SetMeshName(v string) *UpdateVirtualGatewayInput {
+ s.MeshName = &v
return s
}
-// SetRouteName sets the RouteName field's value.
-func (s *RouteData) SetRouteName(v string) *RouteData {
- s.RouteName = &v
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *UpdateVirtualGatewayInput) SetMeshOwner(v string) *UpdateVirtualGatewayInput {
+ s.MeshOwner = &v
return s
}
// SetSpec sets the Spec field's value.
-func (s *RouteData) SetSpec(v *RouteSpec) *RouteData {
+func (s *UpdateVirtualGatewayInput) SetSpec(v *VirtualGatewaySpec) *UpdateVirtualGatewayInput {
s.Spec = v
return s
}
-// SetStatus sets the Status field's value.
-func (s *RouteData) SetStatus(v *RouteStatus) *RouteData {
- s.Status = v
- return s
+// SetVirtualGatewayName sets the VirtualGatewayName field's value.
+func (s *UpdateVirtualGatewayInput) SetVirtualGatewayName(v string) *UpdateVirtualGatewayInput {
+ s.VirtualGatewayName = &v
+ return s
+}
+
+type UpdateVirtualGatewayOutput struct {
+ _ struct{} `type:"structure" payload:"VirtualGateway"`
+
+ // An object that represents a virtual gateway returned by a describe operation.
+ //
+ // VirtualGateway is a required field
+ VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" required:"true"`
+}
+
+// String returns the string representation
+func (s UpdateVirtualGatewayOutput) String() string {
+ return awsutil.Prettify(s)
}
-// SetVirtualRouterName sets the VirtualRouterName field's value.
-func (s *RouteData) SetVirtualRouterName(v string) *RouteData {
- s.VirtualRouterName = &v
+// GoString returns the string representation
+func (s UpdateVirtualGatewayOutput) GoString() string {
+ return s.String()
+}
+
+// SetVirtualGateway sets the VirtualGateway field's value.
+func (s *UpdateVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *UpdateVirtualGatewayOutput {
+ s.VirtualGateway = v
return s
}
-// An object that represents a route returned by a list operation.
-type RouteRef struct {
+type UpdateVirtualNodeInput struct {
_ struct{} `type:"structure"`
- // Arn is a required field
- Arn *string `locationName:"arn" type:"string" required:"true"`
-
- // CreatedAt is a required field
- CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
-
- // LastUpdatedAt is a required field
- LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"`
+ ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
// MeshName is a required field
- MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"`
-
- // MeshOwner is a required field
- MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"`
-
- // ResourceOwner is a required field
- ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"`
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
- // RouteName is a required field
- RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"`
+ MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
- // Version is a required field
- Version *int64 `locationName:"version" type:"long" required:"true"`
+ // An object that represents the specification of a virtual node.
+ //
+ // Spec is a required field
+ Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"`
- // VirtualRouterName is a required field
- VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"`
+ // VirtualNodeName is a required field
+ VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s RouteRef) String() string {
+func (s UpdateVirtualNodeInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s RouteRef) GoString() string {
+func (s UpdateVirtualNodeInput) GoString() string {
return s.String()
}
-// SetArn sets the Arn field's value.
-func (s *RouteRef) SetArn(v string) *RouteRef {
- s.Arn = &v
- return s
-}
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *UpdateVirtualNodeInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualNodeInput"}
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
+ }
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ }
+ if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
+ }
+ if s.Spec == nil {
+ invalidParams.Add(request.NewErrParamRequired("Spec"))
+ }
+ if s.VirtualNodeName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualNodeName"))
+ }
+ if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1))
+ }
+ if s.Spec != nil {
+ if err := s.Spec.Validate(); err != nil {
+ invalidParams.AddNested("Spec", err.(request.ErrInvalidParams))
+ }
+ }
-// SetCreatedAt sets the CreatedAt field's value.
-func (s *RouteRef) SetCreatedAt(v time.Time) *RouteRef {
- s.CreatedAt = &v
- return s
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
}
-// SetLastUpdatedAt sets the LastUpdatedAt field's value.
-func (s *RouteRef) SetLastUpdatedAt(v time.Time) *RouteRef {
- s.LastUpdatedAt = &v
+// SetClientToken sets the ClientToken field's value.
+func (s *UpdateVirtualNodeInput) SetClientToken(v string) *UpdateVirtualNodeInput {
+ s.ClientToken = &v
return s
}
// SetMeshName sets the MeshName field's value.
-func (s *RouteRef) SetMeshName(v string) *RouteRef {
+func (s *UpdateVirtualNodeInput) SetMeshName(v string) *UpdateVirtualNodeInput {
s.MeshName = &v
return s
}
// SetMeshOwner sets the MeshOwner field's value.
-func (s *RouteRef) SetMeshOwner(v string) *RouteRef {
+func (s *UpdateVirtualNodeInput) SetMeshOwner(v string) *UpdateVirtualNodeInput {
s.MeshOwner = &v
return s
}
-// SetResourceOwner sets the ResourceOwner field's value.
-func (s *RouteRef) SetResourceOwner(v string) *RouteRef {
- s.ResourceOwner = &v
+// SetSpec sets the Spec field's value.
+func (s *UpdateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *UpdateVirtualNodeInput {
+ s.Spec = v
return s
}
-// SetRouteName sets the RouteName field's value.
-func (s *RouteRef) SetRouteName(v string) *RouteRef {
- s.RouteName = &v
+// SetVirtualNodeName sets the VirtualNodeName field's value.
+func (s *UpdateVirtualNodeInput) SetVirtualNodeName(v string) *UpdateVirtualNodeInput {
+ s.VirtualNodeName = &v
return s
}
-// SetVersion sets the Version field's value.
-func (s *RouteRef) SetVersion(v int64) *RouteRef {
- s.Version = &v
- return s
+type UpdateVirtualNodeOutput struct {
+ _ struct{} `type:"structure" payload:"VirtualNode"`
+
+ // An object that represents a virtual node returned by a describe operation.
+ //
+ // VirtualNode is a required field
+ VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"`
}
-// SetVirtualRouterName sets the VirtualRouterName field's value.
-func (s *RouteRef) SetVirtualRouterName(v string) *RouteRef {
- s.VirtualRouterName = &v
+// String returns the string representation
+func (s UpdateVirtualNodeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UpdateVirtualNodeOutput) GoString() string {
+ return s.String()
+}
+
+// SetVirtualNode sets the VirtualNode field's value.
+func (s *UpdateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *UpdateVirtualNodeOutput {
+ s.VirtualNode = v
return s
}
-// An object that represents a route specification. Specify one route type.
-type RouteSpec struct {
+type UpdateVirtualRouterInput struct {
_ struct{} `type:"structure"`
- // An object that represents a gRPC route type.
- GrpcRoute *GrpcRoute `locationName:"grpcRoute" type:"structure"`
+ ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
- // An object that represents an HTTP or HTTP/2 route type.
- Http2Route *HttpRoute `locationName:"http2Route" type:"structure"`
+ // MeshName is a required field
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
- // An object that represents an HTTP or HTTP/2 route type.
- HttpRoute *HttpRoute `locationName:"httpRoute" type:"structure"`
+ MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
- Priority *int64 `locationName:"priority" type:"integer"`
+ // An object that represents the specification of a virtual router.
+ //
+ // Spec is a required field
+ Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"`
- // An object that represents a TCP route type.
- TcpRoute *TcpRoute `locationName:"tcpRoute" type:"structure"`
+ // VirtualRouterName is a required field
+ VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s RouteSpec) String() string {
+func (s UpdateVirtualRouterInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s RouteSpec) GoString() string {
+func (s UpdateVirtualRouterInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *RouteSpec) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RouteSpec"}
- if s.GrpcRoute != nil {
- if err := s.GrpcRoute.Validate(); err != nil {
- invalidParams.AddNested("GrpcRoute", err.(request.ErrInvalidParams))
- }
+func (s *UpdateVirtualRouterInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualRouterInput"}
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
}
- if s.Http2Route != nil {
- if err := s.Http2Route.Validate(); err != nil {
- invalidParams.AddNested("Http2Route", err.(request.ErrInvalidParams))
- }
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
}
- if s.HttpRoute != nil {
- if err := s.HttpRoute.Validate(); err != nil {
- invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams))
- }
+ if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
}
- if s.TcpRoute != nil {
- if err := s.TcpRoute.Validate(); err != nil {
- invalidParams.AddNested("TcpRoute", err.(request.ErrInvalidParams))
+ if s.Spec == nil {
+ invalidParams.Add(request.NewErrParamRequired("Spec"))
+ }
+ if s.VirtualRouterName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualRouterName"))
+ }
+ if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1))
+ }
+ if s.Spec != nil {
+ if err := s.Spec.Validate(); err != nil {
+ invalidParams.AddNested("Spec", err.(request.ErrInvalidParams))
}
}
@@ -8308,95 +12401,114 @@ func (s *RouteSpec) Validate() error {
return nil
}
-// SetGrpcRoute sets the GrpcRoute field's value.
-func (s *RouteSpec) SetGrpcRoute(v *GrpcRoute) *RouteSpec {
- s.GrpcRoute = v
+// SetClientToken sets the ClientToken field's value.
+func (s *UpdateVirtualRouterInput) SetClientToken(v string) *UpdateVirtualRouterInput {
+ s.ClientToken = &v
return s
}
-// SetHttp2Route sets the Http2Route field's value.
-func (s *RouteSpec) SetHttp2Route(v *HttpRoute) *RouteSpec {
- s.Http2Route = v
+// SetMeshName sets the MeshName field's value.
+func (s *UpdateVirtualRouterInput) SetMeshName(v string) *UpdateVirtualRouterInput {
+ s.MeshName = &v
return s
}
-// SetHttpRoute sets the HttpRoute field's value.
-func (s *RouteSpec) SetHttpRoute(v *HttpRoute) *RouteSpec {
- s.HttpRoute = v
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *UpdateVirtualRouterInput) SetMeshOwner(v string) *UpdateVirtualRouterInput {
+ s.MeshOwner = &v
return s
}
-// SetPriority sets the Priority field's value.
-func (s *RouteSpec) SetPriority(v int64) *RouteSpec {
- s.Priority = &v
+// SetSpec sets the Spec field's value.
+func (s *UpdateVirtualRouterInput) SetSpec(v *VirtualRouterSpec) *UpdateVirtualRouterInput {
+ s.Spec = v
return s
}
-// SetTcpRoute sets the TcpRoute field's value.
-func (s *RouteSpec) SetTcpRoute(v *TcpRoute) *RouteSpec {
- s.TcpRoute = v
+// SetVirtualRouterName sets the VirtualRouterName field's value.
+func (s *UpdateVirtualRouterInput) SetVirtualRouterName(v string) *UpdateVirtualRouterInput {
+ s.VirtualRouterName = &v
return s
}
-// An object that represents the current status of a route.
-type RouteStatus struct {
- _ struct{} `type:"structure"`
+type UpdateVirtualRouterOutput struct {
+ _ struct{} `type:"structure" payload:"VirtualRouter"`
- // Status is a required field
- Status *string `locationName:"status" type:"string" required:"true" enum:"RouteStatusCode"`
+ // An object that represents a virtual router returned by a describe operation.
+ //
+ // VirtualRouter is a required field
+ VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"`
}
// String returns the string representation
-func (s RouteStatus) String() string {
+func (s UpdateVirtualRouterOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s RouteStatus) GoString() string {
+func (s UpdateVirtualRouterOutput) GoString() string {
return s.String()
}
-// SetStatus sets the Status field's value.
-func (s *RouteStatus) SetStatus(v string) *RouteStatus {
- s.Status = &v
+// SetVirtualRouter sets the VirtualRouter field's value.
+func (s *UpdateVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *UpdateVirtualRouterOutput {
+ s.VirtualRouter = v
return s
}
-// An object that represents the service discovery information for a virtual
-// node.
-type ServiceDiscovery struct {
+type UpdateVirtualServiceInput struct {
_ struct{} `type:"structure"`
- // An object that represents the AWS Cloud Map service discovery information
- // for your virtual node.
- AwsCloudMap *AwsCloudMapServiceDiscovery `locationName:"awsCloudMap" type:"structure"`
+ ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
- // An object that represents the DNS service discovery information for your
- // virtual node.
- Dns *DnsServiceDiscovery `locationName:"dns" type:"structure"`
+ // MeshName is a required field
+ MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
+
+ // An object that represents the specification of a virtual service.
+ //
+ // Spec is a required field
+ Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"`
+
+ // VirtualServiceName is a required field
+ VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"`
}
// String returns the string representation
-func (s ServiceDiscovery) String() string {
+func (s UpdateVirtualServiceInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ServiceDiscovery) GoString() string {
+func (s UpdateVirtualServiceInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *ServiceDiscovery) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ServiceDiscovery"}
- if s.AwsCloudMap != nil {
- if err := s.AwsCloudMap.Validate(); err != nil {
- invalidParams.AddNested("AwsCloudMap", err.(request.ErrInvalidParams))
- }
+func (s *UpdateVirtualServiceInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualServiceInput"}
+ if s.MeshName == nil {
+ invalidParams.Add(request.NewErrParamRequired("MeshName"))
}
- if s.Dns != nil {
- if err := s.Dns.Validate(); err != nil {
- invalidParams.AddNested("Dns", err.(request.ErrInvalidParams))
+ if s.MeshName != nil && len(*s.MeshName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ }
+ if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
+ invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
+ }
+ if s.Spec == nil {
+ invalidParams.Add(request.NewErrParamRequired("Spec"))
+ }
+ if s.VirtualServiceName == nil {
+ invalidParams.Add(request.NewErrParamRequired("VirtualServiceName"))
+ }
+ if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1))
+ }
+ if s.Spec != nil {
+ if err := s.Spec.Validate(); err != nil {
+ invalidParams.AddNested("Spec", err.(request.ErrInvalidParams))
}
}
@@ -8406,105 +12518,86 @@ func (s *ServiceDiscovery) Validate() error {
return nil
}
-// SetAwsCloudMap sets the AwsCloudMap field's value.
-func (s *ServiceDiscovery) SetAwsCloudMap(v *AwsCloudMapServiceDiscovery) *ServiceDiscovery {
- s.AwsCloudMap = v
+// SetClientToken sets the ClientToken field's value.
+func (s *UpdateVirtualServiceInput) SetClientToken(v string) *UpdateVirtualServiceInput {
+ s.ClientToken = &v
return s
}
-// SetDns sets the Dns field's value.
-func (s *ServiceDiscovery) SetDns(v *DnsServiceDiscovery) *ServiceDiscovery {
- s.Dns = v
+// SetMeshName sets the MeshName field's value.
+func (s *UpdateVirtualServiceInput) SetMeshName(v string) *UpdateVirtualServiceInput {
+ s.MeshName = &v
return s
}
-// The request has failed due to a temporary failure of the service.
-type ServiceUnavailableException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
-
- Message_ *string `locationName:"message" type:"string"`
-}
-
-// String returns the string representation
-func (s ServiceUnavailableException) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s ServiceUnavailableException) GoString() string {
- return s.String()
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *UpdateVirtualServiceInput) SetMeshOwner(v string) *UpdateVirtualServiceInput {
+ s.MeshOwner = &v
+ return s
}
-func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
- return &ServiceUnavailableException{
- RespMetadata: v,
- }
+// SetSpec sets the Spec field's value.
+func (s *UpdateVirtualServiceInput) SetSpec(v *VirtualServiceSpec) *UpdateVirtualServiceInput {
+ s.Spec = v
+ return s
}
-// Code returns the exception type name.
-func (s *ServiceUnavailableException) Code() string {
- return "ServiceUnavailableException"
+// SetVirtualServiceName sets the VirtualServiceName field's value.
+func (s *UpdateVirtualServiceInput) SetVirtualServiceName(v string) *UpdateVirtualServiceInput {
+ s.VirtualServiceName = &v
+ return s
}
-// Message returns the exception's message.
-func (s *ServiceUnavailableException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
-}
+type UpdateVirtualServiceOutput struct {
+ _ struct{} `type:"structure" payload:"VirtualService"`
-// OrigErr always returns nil, satisfies awserr.Error interface.
-func (s *ServiceUnavailableException) OrigErr() error {
- return nil
+ // An object that represents a virtual service returned by a describe operation.
+ //
+ // VirtualService is a required field
+ VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"`
}
-func (s *ServiceUnavailableException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
+// String returns the string representation
+func (s UpdateVirtualServiceOutput) String() string {
+ return awsutil.Prettify(s)
}
-// Status code returns the HTTP status code for the request's response error.
-func (s *ServiceUnavailableException) StatusCode() int {
- return s.RespMetadata.StatusCode
+// GoString returns the string representation
+func (s UpdateVirtualServiceOutput) GoString() string {
+ return s.String()
}
-// RequestID returns the service's response RequestID for request.
-func (s *ServiceUnavailableException) RequestID() string {
- return s.RespMetadata.RequestID
+// SetVirtualService sets the VirtualService field's value.
+func (s *UpdateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *UpdateVirtualServiceOutput {
+ s.VirtualService = v
+ return s
}
-// Optional metadata that you apply to a resource to assist with categorization
-// and organization. Each tag consists of a key and an optional value, both
-// of which you define. Tag keys can have a maximum character length of 128
-// characters, and tag values can have a maximum length of 256 characters.
-type TagRef struct {
+// The access log configuration for a virtual gateway.
+type VirtualGatewayAccessLog struct {
_ struct{} `type:"structure"`
- // Key is a required field
- Key *string `locationName:"key" min:"1" type:"string" required:"true"`
-
- Value *string `locationName:"value" type:"string"`
+ // An object that represents an access log file.
+ File *VirtualGatewayFileAccessLog `locationName:"file" type:"structure"`
}
// String returns the string representation
-func (s TagRef) String() string {
+func (s VirtualGatewayAccessLog) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s TagRef) GoString() string {
+func (s VirtualGatewayAccessLog) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *TagRef) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TagRef"}
- if s.Key == nil {
- invalidParams.Add(request.NewErrParamRequired("Key"))
- }
- if s.Key != nil && len(*s.Key) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Key", 1))
+func (s *VirtualGatewayAccessLog) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayAccessLog"}
+ if s.File != nil {
+ if err := s.File.Validate(); err != nil {
+ invalidParams.AddNested("File", err.(request.ErrInvalidParams))
+ }
}
if invalidParams.Len() > 0 {
@@ -8513,55 +12606,36 @@ func (s *TagRef) Validate() error {
return nil
}
-// SetKey sets the Key field's value.
-func (s *TagRef) SetKey(v string) *TagRef {
- s.Key = &v
- return s
-}
-
-// SetValue sets the Value field's value.
-func (s *TagRef) SetValue(v string) *TagRef {
- s.Value = &v
+// SetFile sets the File field's value.
+func (s *VirtualGatewayAccessLog) SetFile(v *VirtualGatewayFileAccessLog) *VirtualGatewayAccessLog {
+ s.File = v
return s
}
-type TagResourceInput struct {
+// An object that represents the default properties for a backend.
+type VirtualGatewayBackendDefaults struct {
_ struct{} `type:"structure"`
- // ResourceArn is a required field
- ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"`
-
- // Tags is a required field
- Tags []*TagRef `locationName:"tags" type:"list" required:"true"`
+ // An object that represents a client policy.
+ ClientPolicy *VirtualGatewayClientPolicy `locationName:"clientPolicy" type:"structure"`
}
// String returns the string representation
-func (s TagResourceInput) String() string {
+func (s VirtualGatewayBackendDefaults) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s TagResourceInput) GoString() string {
+func (s VirtualGatewayBackendDefaults) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *TagResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
- if s.ResourceArn == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
- }
- if s.Tags == nil {
- invalidParams.Add(request.NewErrParamRequired("Tags"))
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
+func (s *VirtualGatewayBackendDefaults) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayBackendDefaults"}
+ if s.ClientPolicy != nil {
+ if err := s.ClientPolicy.Validate(); err != nil {
+ invalidParams.AddNested("ClientPolicy", err.(request.ErrInvalidParams))
}
}
@@ -8571,119 +12645,84 @@ func (s *TagResourceInput) Validate() error {
return nil
}
-// SetResourceArn sets the ResourceArn field's value.
-func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
- s.ResourceArn = &v
- return s
-}
-
-// SetTags sets the Tags field's value.
-func (s *TagResourceInput) SetTags(v []*TagRef) *TagResourceInput {
- s.Tags = v
+// SetClientPolicy sets the ClientPolicy field's value.
+func (s *VirtualGatewayBackendDefaults) SetClientPolicy(v *VirtualGatewayClientPolicy) *VirtualGatewayBackendDefaults {
+ s.ClientPolicy = v
return s
}
-type TagResourceOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s TagResourceOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s TagResourceOutput) GoString() string {
- return s.String()
-}
-
-// An object that represents a TCP route type.
-type TcpRoute struct {
+// An object that represents a client policy.
+type VirtualGatewayClientPolicy struct {
_ struct{} `type:"structure"`
- // An object that represents the action to take if a match is determined.
- //
- // Action is a required field
- Action *TcpRouteAction `locationName:"action" type:"structure" required:"true"`
-
- Timeout *TcpTimeout `locationName:"timeout" type:"structure"`
+ // An object that represents a Transport Layer Security (TLS) client policy.
+ Tls *VirtualGatewayClientPolicyTls `locationName:"tls" type:"structure"`
}
// String returns the string representation
-func (s TcpRoute) String() string {
+func (s VirtualGatewayClientPolicy) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s TcpRoute) GoString() string {
+func (s VirtualGatewayClientPolicy) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *TcpRoute) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TcpRoute"}
- if s.Action == nil {
- invalidParams.Add(request.NewErrParamRequired("Action"))
- }
- if s.Action != nil {
- if err := s.Action.Validate(); err != nil {
- invalidParams.AddNested("Action", err.(request.ErrInvalidParams))
+func (s *VirtualGatewayClientPolicy) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayClientPolicy"}
+ if s.Tls != nil {
+ if err := s.Tls.Validate(); err != nil {
+ invalidParams.AddNested("Tls", err.(request.ErrInvalidParams))
}
}
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetAction sets the Action field's value.
-func (s *TcpRoute) SetAction(v *TcpRouteAction) *TcpRoute {
- s.Action = v
- return s
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
}
-// SetTimeout sets the Timeout field's value.
-func (s *TcpRoute) SetTimeout(v *TcpTimeout) *TcpRoute {
- s.Timeout = v
+// SetTls sets the Tls field's value.
+func (s *VirtualGatewayClientPolicy) SetTls(v *VirtualGatewayClientPolicyTls) *VirtualGatewayClientPolicy {
+ s.Tls = v
return s
}
-// An object that represents the action to take if a match is determined.
-type TcpRouteAction struct {
+// An object that represents a Transport Layer Security (TLS) client policy.
+type VirtualGatewayClientPolicyTls struct {
_ struct{} `type:"structure"`
- // WeightedTargets is a required field
- WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"`
+ Enforce *bool `locationName:"enforce" type:"boolean"`
+
+ Ports []*int64 `locationName:"ports" type:"list"`
+
+ // An object that represents a Transport Layer Security (TLS) validation context.
+ //
+ // Validation is a required field
+ Validation *VirtualGatewayTlsValidationContext `locationName:"validation" type:"structure" required:"true"`
}
// String returns the string representation
-func (s TcpRouteAction) String() string {
+func (s VirtualGatewayClientPolicyTls) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s TcpRouteAction) GoString() string {
+func (s VirtualGatewayClientPolicyTls) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *TcpRouteAction) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TcpRouteAction"}
- if s.WeightedTargets == nil {
- invalidParams.Add(request.NewErrParamRequired("WeightedTargets"))
- }
- if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1))
+func (s *VirtualGatewayClientPolicyTls) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayClientPolicyTls"}
+ if s.Validation == nil {
+ invalidParams.Add(request.NewErrParamRequired("Validation"))
}
- if s.WeightedTargets != nil {
- for i, v := range s.WeightedTargets {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams))
- }
+ if s.Validation != nil {
+ if err := s.Validation.Validate(); err != nil {
+ invalidParams.AddNested("Validation", err.(request.ErrInvalidParams))
}
}
@@ -8693,66 +12732,116 @@ func (s *TcpRouteAction) Validate() error {
return nil
}
-// SetWeightedTargets sets the WeightedTargets field's value.
-func (s *TcpRouteAction) SetWeightedTargets(v []*WeightedTarget) *TcpRouteAction {
- s.WeightedTargets = v
+// SetEnforce sets the Enforce field's value.
+func (s *VirtualGatewayClientPolicyTls) SetEnforce(v bool) *VirtualGatewayClientPolicyTls {
+ s.Enforce = &v
return s
}
-type TcpTimeout struct {
+// SetPorts sets the Ports field's value.
+func (s *VirtualGatewayClientPolicyTls) SetPorts(v []*int64) *VirtualGatewayClientPolicyTls {
+ s.Ports = v
+ return s
+}
+
+// SetValidation sets the Validation field's value.
+func (s *VirtualGatewayClientPolicyTls) SetValidation(v *VirtualGatewayTlsValidationContext) *VirtualGatewayClientPolicyTls {
+ s.Validation = v
+ return s
+}
+
+// An object that represents a virtual gateway returned by a describe operation.
+type VirtualGatewayData struct {
_ struct{} `type:"structure"`
- // An object that represents a duration of time.
- Idle *Duration `locationName:"idle" type:"structure"`
+ // MeshName is a required field
+ MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ // An object that represents metadata for a resource.
+ //
+ // Metadata is a required field
+ Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"`
+
+ // An object that represents the specification of a service mesh resource.
+ //
+ // Spec is a required field
+ Spec *VirtualGatewaySpec `locationName:"spec" type:"structure" required:"true"`
+
+ // An object that represents the status of the mesh resource.
+ //
+ // Status is a required field
+ Status *VirtualGatewayStatus `locationName:"status" type:"structure" required:"true"`
+
+ // VirtualGatewayName is a required field
+ VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s TcpTimeout) String() string {
+func (s VirtualGatewayData) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s TcpTimeout) GoString() string {
+func (s VirtualGatewayData) GoString() string {
return s.String()
}
-// SetIdle sets the Idle field's value.
-func (s *TcpTimeout) SetIdle(v *Duration) *TcpTimeout {
- s.Idle = v
+// SetMeshName sets the MeshName field's value.
+func (s *VirtualGatewayData) SetMeshName(v string) *VirtualGatewayData {
+ s.MeshName = &v
return s
}
-// An object that represents a Transport Layer Security (TLS) validation context.
-type TlsValidationContext struct {
+// SetMetadata sets the Metadata field's value.
+func (s *VirtualGatewayData) SetMetadata(v *ResourceMetadata) *VirtualGatewayData {
+ s.Metadata = v
+ return s
+}
+
+// SetSpec sets the Spec field's value.
+func (s *VirtualGatewayData) SetSpec(v *VirtualGatewaySpec) *VirtualGatewayData {
+ s.Spec = v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *VirtualGatewayData) SetStatus(v *VirtualGatewayStatus) *VirtualGatewayData {
+ s.Status = v
+ return s
+}
+
+// SetVirtualGatewayName sets the VirtualGatewayName field's value.
+func (s *VirtualGatewayData) SetVirtualGatewayName(v string) *VirtualGatewayData {
+ s.VirtualGatewayName = &v
+ return s
+}
+
+// An object that represents an access log file.
+type VirtualGatewayFileAccessLog struct {
_ struct{} `type:"structure"`
- // An object that represents a Transport Layer Security (TLS) validation context
- // trust.
- //
- // Trust is a required field
- Trust *TlsValidationContextTrust `locationName:"trust" type:"structure" required:"true"`
+ // Path is a required field
+ Path *string `locationName:"path" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s TlsValidationContext) String() string {
+func (s VirtualGatewayFileAccessLog) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s TlsValidationContext) GoString() string {
+func (s VirtualGatewayFileAccessLog) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *TlsValidationContext) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TlsValidationContext"}
- if s.Trust == nil {
- invalidParams.Add(request.NewErrParamRequired("Trust"))
+func (s *VirtualGatewayFileAccessLog) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayFileAccessLog"}
+ if s.Path == nil {
+ invalidParams.Add(request.NewErrParamRequired("Path"))
}
- if s.Trust != nil {
- if err := s.Trust.Validate(); err != nil {
- invalidParams.AddNested("Trust", err.(request.ErrInvalidParams))
- }
+ if s.Path != nil && len(*s.Path) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Path", 1))
}
if invalidParams.Len() > 0 {
@@ -8761,39 +12850,79 @@ func (s *TlsValidationContext) Validate() error {
return nil
}
-// SetTrust sets the Trust field's value.
-func (s *TlsValidationContext) SetTrust(v *TlsValidationContextTrust) *TlsValidationContext {
- s.Trust = v
+// SetPath sets the Path field's value.
+func (s *VirtualGatewayFileAccessLog) SetPath(v string) *VirtualGatewayFileAccessLog {
+ s.Path = &v
return s
}
-// An object that represents a TLS validation context trust for an AWS Certicate
-// Manager (ACM) certificate.
-type TlsValidationContextAcmTrust struct {
+// An object that represents the health check policy for a virtual gateway's
+// listener.
+type VirtualGatewayHealthCheckPolicy struct {
_ struct{} `type:"structure"`
- // CertificateAuthorityArns is a required field
- CertificateAuthorityArns []*string `locationName:"certificateAuthorityArns" min:"1" type:"list" required:"true"`
+ // HealthyThreshold is a required field
+ HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"`
+
+ // IntervalMillis is a required field
+ IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"`
+
+ Path *string `locationName:"path" type:"string"`
+
+ Port *int64 `locationName:"port" min:"1" type:"integer"`
+
+ // Protocol is a required field
+ Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"VirtualGatewayPortProtocol"`
+
+ // TimeoutMillis is a required field
+ TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"`
+
+ // UnhealthyThreshold is a required field
+ UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" type:"integer" required:"true"`
}
// String returns the string representation
-func (s TlsValidationContextAcmTrust) String() string {
+func (s VirtualGatewayHealthCheckPolicy) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s TlsValidationContextAcmTrust) GoString() string {
+func (s VirtualGatewayHealthCheckPolicy) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *TlsValidationContextAcmTrust) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextAcmTrust"}
- if s.CertificateAuthorityArns == nil {
- invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArns"))
+func (s *VirtualGatewayHealthCheckPolicy) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayHealthCheckPolicy"}
+ if s.HealthyThreshold == nil {
+ invalidParams.Add(request.NewErrParamRequired("HealthyThreshold"))
}
- if s.CertificateAuthorityArns != nil && len(s.CertificateAuthorityArns) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArns", 1))
+ if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 {
+ invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2))
+ }
+ if s.IntervalMillis == nil {
+ invalidParams.Add(request.NewErrParamRequired("IntervalMillis"))
+ }
+ if s.IntervalMillis != nil && *s.IntervalMillis < 5000 {
+ invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000))
+ }
+ if s.Port != nil && *s.Port < 1 {
+ invalidParams.Add(request.NewErrParamMinValue("Port", 1))
+ }
+ if s.Protocol == nil {
+ invalidParams.Add(request.NewErrParamRequired("Protocol"))
+ }
+ if s.TimeoutMillis == nil {
+ invalidParams.Add(request.NewErrParamRequired("TimeoutMillis"))
+ }
+ if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 {
+ invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000))
+ }
+ if s.UnhealthyThreshold == nil {
+ invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold"))
+ }
+ if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 {
+ invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2))
}
if invalidParams.Len() > 0 {
@@ -8802,88 +12931,95 @@ func (s *TlsValidationContextAcmTrust) Validate() error {
return nil
}
-// SetCertificateAuthorityArns sets the CertificateAuthorityArns field's value.
-func (s *TlsValidationContextAcmTrust) SetCertificateAuthorityArns(v []*string) *TlsValidationContextAcmTrust {
- s.CertificateAuthorityArns = v
+// SetHealthyThreshold sets the HealthyThreshold field's value.
+func (s *VirtualGatewayHealthCheckPolicy) SetHealthyThreshold(v int64) *VirtualGatewayHealthCheckPolicy {
+ s.HealthyThreshold = &v
return s
}
-// An object that represents a Transport Layer Security (TLS) validation context
-// trust for a local file.
-type TlsValidationContextFileTrust struct {
- _ struct{} `type:"structure"`
-
- // CertificateChain is a required field
- CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"`
+// SetIntervalMillis sets the IntervalMillis field's value.
+func (s *VirtualGatewayHealthCheckPolicy) SetIntervalMillis(v int64) *VirtualGatewayHealthCheckPolicy {
+ s.IntervalMillis = &v
+ return s
}
-// String returns the string representation
-func (s TlsValidationContextFileTrust) String() string {
- return awsutil.Prettify(s)
+// SetPath sets the Path field's value.
+func (s *VirtualGatewayHealthCheckPolicy) SetPath(v string) *VirtualGatewayHealthCheckPolicy {
+ s.Path = &v
+ return s
}
-// GoString returns the string representation
-func (s TlsValidationContextFileTrust) GoString() string {
- return s.String()
+// SetPort sets the Port field's value.
+func (s *VirtualGatewayHealthCheckPolicy) SetPort(v int64) *VirtualGatewayHealthCheckPolicy {
+ s.Port = &v
+ return s
}
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *TlsValidationContextFileTrust) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextFileTrust"}
- if s.CertificateChain == nil {
- invalidParams.Add(request.NewErrParamRequired("CertificateChain"))
- }
- if s.CertificateChain != nil && len(*s.CertificateChain) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1))
- }
+// SetProtocol sets the Protocol field's value.
+func (s *VirtualGatewayHealthCheckPolicy) SetProtocol(v string) *VirtualGatewayHealthCheckPolicy {
+ s.Protocol = &v
+ return s
+}
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
+// SetTimeoutMillis sets the TimeoutMillis field's value.
+func (s *VirtualGatewayHealthCheckPolicy) SetTimeoutMillis(v int64) *VirtualGatewayHealthCheckPolicy {
+ s.TimeoutMillis = &v
+ return s
}
-// SetCertificateChain sets the CertificateChain field's value.
-func (s *TlsValidationContextFileTrust) SetCertificateChain(v string) *TlsValidationContextFileTrust {
- s.CertificateChain = &v
+// SetUnhealthyThreshold sets the UnhealthyThreshold field's value.
+func (s *VirtualGatewayHealthCheckPolicy) SetUnhealthyThreshold(v int64) *VirtualGatewayHealthCheckPolicy {
+ s.UnhealthyThreshold = &v
return s
}
-// An object that represents a Transport Layer Security (TLS) validation context
-// trust.
-type TlsValidationContextTrust struct {
+// An object that represents a listener for a virtual gateway.
+type VirtualGatewayListener struct {
_ struct{} `type:"structure"`
- // An object that represents a TLS validation context trust for an AWS Certicate
- // Manager (ACM) certificate.
- Acm *TlsValidationContextAcmTrust `locationName:"acm" type:"structure"`
+ // An object that represents the health check policy for a virtual gateway's
+ // listener.
+ HealthCheck *VirtualGatewayHealthCheckPolicy `locationName:"healthCheck" type:"structure"`
- // An object that represents a Transport Layer Security (TLS) validation context
- // trust for a local file.
- File *TlsValidationContextFileTrust `locationName:"file" type:"structure"`
+ // An object that represents a port mapping.
+ //
+ // PortMapping is a required field
+ PortMapping *VirtualGatewayPortMapping `locationName:"portMapping" type:"structure" required:"true"`
+
+ // An object that represents the Transport Layer Security (TLS) properties for
+ // a listener.
+ Tls *VirtualGatewayListenerTls `locationName:"tls" type:"structure"`
}
// String returns the string representation
-func (s TlsValidationContextTrust) String() string {
+func (s VirtualGatewayListener) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s TlsValidationContextTrust) GoString() string {
+func (s VirtualGatewayListener) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *TlsValidationContextTrust) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextTrust"}
- if s.Acm != nil {
- if err := s.Acm.Validate(); err != nil {
- invalidParams.AddNested("Acm", err.(request.ErrInvalidParams))
+func (s *VirtualGatewayListener) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListener"}
+ if s.PortMapping == nil {
+ invalidParams.Add(request.NewErrParamRequired("PortMapping"))
+ }
+ if s.HealthCheck != nil {
+ if err := s.HealthCheck.Validate(); err != nil {
+ invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams))
}
}
- if s.File != nil {
- if err := s.File.Validate(); err != nil {
- invalidParams.AddNested("File", err.(request.ErrInvalidParams))
+ if s.PortMapping != nil {
+ if err := s.PortMapping.Validate(); err != nil {
+ invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Tls != nil {
+ if err := s.Tls.Validate(); err != nil {
+ invalidParams.AddNested("Tls", err.(request.ErrInvalidParams))
}
}
@@ -8893,162 +13029,153 @@ func (s *TlsValidationContextTrust) Validate() error {
return nil
}
-// SetAcm sets the Acm field's value.
-func (s *TlsValidationContextTrust) SetAcm(v *TlsValidationContextAcmTrust) *TlsValidationContextTrust {
- s.Acm = v
+// SetHealthCheck sets the HealthCheck field's value.
+func (s *VirtualGatewayListener) SetHealthCheck(v *VirtualGatewayHealthCheckPolicy) *VirtualGatewayListener {
+ s.HealthCheck = v
return s
}
-// SetFile sets the File field's value.
-func (s *TlsValidationContextTrust) SetFile(v *TlsValidationContextFileTrust) *TlsValidationContextTrust {
- s.File = v
+// SetPortMapping sets the PortMapping field's value.
+func (s *VirtualGatewayListener) SetPortMapping(v *VirtualGatewayPortMapping) *VirtualGatewayListener {
+ s.PortMapping = v
return s
}
-// The maximum request rate permitted by the App Mesh APIs has been exceeded
-// for your account. For best results, use an increasing or variable sleep interval
-// between requests.
-type TooManyRequestsException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+// SetTls sets the Tls field's value.
+func (s *VirtualGatewayListener) SetTls(v *VirtualGatewayListenerTls) *VirtualGatewayListener {
+ s.Tls = v
+ return s
+}
- Message_ *string `locationName:"message" type:"string"`
+// An object that represents the Transport Layer Security (TLS) properties for
+// a listener.
+type VirtualGatewayListenerTls struct {
+ _ struct{} `type:"structure"`
+
+ // An object that represents a listener's Transport Layer Security (TLS) certificate.
+ //
+ // Certificate is a required field
+ Certificate *VirtualGatewayListenerTlsCertificate `locationName:"certificate" type:"structure" required:"true"`
+
+ // Mode is a required field
+ Mode *string `locationName:"mode" type:"string" required:"true" enum:"VirtualGatewayListenerTlsMode"`
}
// String returns the string representation
-func (s TooManyRequestsException) String() string {
+func (s VirtualGatewayListenerTls) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s TooManyRequestsException) GoString() string {
+func (s VirtualGatewayListenerTls) GoString() string {
return s.String()
}
-func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
- return &TooManyRequestsException{
- RespMetadata: v,
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *VirtualGatewayListenerTls) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTls"}
+ if s.Certificate == nil {
+ invalidParams.Add(request.NewErrParamRequired("Certificate"))
}
-}
-
-// Code returns the exception type name.
-func (s *TooManyRequestsException) Code() string {
- return "TooManyRequestsException"
-}
-
-// Message returns the exception's message.
-func (s *TooManyRequestsException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
+ if s.Mode == nil {
+ invalidParams.Add(request.NewErrParamRequired("Mode"))
+ }
+ if s.Certificate != nil {
+ if err := s.Certificate.Validate(); err != nil {
+ invalidParams.AddNested("Certificate", err.(request.ErrInvalidParams))
+ }
}
- return ""
-}
-// OrigErr always returns nil, satisfies awserr.Error interface.
-func (s *TooManyRequestsException) OrigErr() error {
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
return nil
}
-func (s *TooManyRequestsException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
-}
-
-// Status code returns the HTTP status code for the request's response error.
-func (s *TooManyRequestsException) StatusCode() int {
- return s.RespMetadata.StatusCode
+// SetCertificate sets the Certificate field's value.
+func (s *VirtualGatewayListenerTls) SetCertificate(v *VirtualGatewayListenerTlsCertificate) *VirtualGatewayListenerTls {
+ s.Certificate = v
+ return s
}
-// RequestID returns the service's response RequestID for request.
-func (s *TooManyRequestsException) RequestID() string {
- return s.RespMetadata.RequestID
+// SetMode sets the Mode field's value.
+func (s *VirtualGatewayListenerTls) SetMode(v string) *VirtualGatewayListenerTls {
+ s.Mode = &v
+ return s
}
-// The request exceeds the maximum allowed number of tags allowed per resource.
-// The current limit is 50 user tags per resource. You must reduce the number
-// of tags in the request. None of the tags in this request were applied.
-type TooManyTagsException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+// An object that represents an AWS Certicate Manager (ACM) certificate.
+type VirtualGatewayListenerTlsAcmCertificate struct {
+ _ struct{} `type:"structure"`
- Message_ *string `locationName:"message" type:"string"`
+ // CertificateArn is a required field
+ CertificateArn *string `locationName:"certificateArn" type:"string" required:"true"`
}
// String returns the string representation
-func (s TooManyTagsException) String() string {
+func (s VirtualGatewayListenerTlsAcmCertificate) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s TooManyTagsException) GoString() string {
+func (s VirtualGatewayListenerTlsAcmCertificate) GoString() string {
return s.String()
}
-func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
- return &TooManyTagsException{
- RespMetadata: v,
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *VirtualGatewayListenerTlsAcmCertificate) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsAcmCertificate"}
+ if s.CertificateArn == nil {
+ invalidParams.Add(request.NewErrParamRequired("CertificateArn"))
}
-}
-
-// Code returns the exception type name.
-func (s *TooManyTagsException) Code() string {
- return "TooManyTagsException"
-}
-// Message returns the exception's message.
-func (s *TooManyTagsException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
+ if invalidParams.Len() > 0 {
+ return invalidParams
}
- return ""
-}
-
-// OrigErr always returns nil, satisfies awserr.Error interface.
-func (s *TooManyTagsException) OrigErr() error {
return nil
}
-func (s *TooManyTagsException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
-}
-
-// Status code returns the HTTP status code for the request's response error.
-func (s *TooManyTagsException) StatusCode() int {
- return s.RespMetadata.StatusCode
-}
-
-// RequestID returns the service's response RequestID for request.
-func (s *TooManyTagsException) RequestID() string {
- return s.RespMetadata.RequestID
+// SetCertificateArn sets the CertificateArn field's value.
+func (s *VirtualGatewayListenerTlsAcmCertificate) SetCertificateArn(v string) *VirtualGatewayListenerTlsAcmCertificate {
+ s.CertificateArn = &v
+ return s
}
-type UntagResourceInput struct {
+// An object that represents a listener's Transport Layer Security (TLS) certificate.
+type VirtualGatewayListenerTlsCertificate struct {
_ struct{} `type:"structure"`
- // ResourceArn is a required field
- ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"`
+ // An object that represents an AWS Certicate Manager (ACM) certificate.
+ Acm *VirtualGatewayListenerTlsAcmCertificate `locationName:"acm" type:"structure"`
- // TagKeys is a required field
- TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
+ // An object that represents a local file certificate. The certificate must
+ // meet specific requirements and you must have proxy authorization enabled.
+ // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites).
+ File *VirtualGatewayListenerTlsFileCertificate `locationName:"file" type:"structure"`
}
// String returns the string representation
-func (s UntagResourceInput) String() string {
+func (s VirtualGatewayListenerTlsCertificate) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s UntagResourceInput) GoString() string {
+func (s VirtualGatewayListenerTlsCertificate) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *UntagResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
- if s.ResourceArn == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
+func (s *VirtualGatewayListenerTlsCertificate) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsCertificate"}
+ if s.Acm != nil {
+ if err := s.Acm.Validate(); err != nil {
+ invalidParams.AddNested("Acm", err.(request.ErrInvalidParams))
+ }
}
- if s.TagKeys == nil {
- invalidParams.Add(request.NewErrParamRequired("TagKeys"))
+ if s.File != nil {
+ if err := s.File.Validate(); err != nil {
+ invalidParams.AddNested("File", err.(request.ErrInvalidParams))
+ }
}
if invalidParams.Len() > 0 {
@@ -9057,67 +13184,55 @@ func (s *UntagResourceInput) Validate() error {
return nil
}
-// SetResourceArn sets the ResourceArn field's value.
-func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
- s.ResourceArn = &v
+// SetAcm sets the Acm field's value.
+func (s *VirtualGatewayListenerTlsCertificate) SetAcm(v *VirtualGatewayListenerTlsAcmCertificate) *VirtualGatewayListenerTlsCertificate {
+ s.Acm = v
return s
}
-// SetTagKeys sets the TagKeys field's value.
-func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
- s.TagKeys = v
+// SetFile sets the File field's value.
+func (s *VirtualGatewayListenerTlsCertificate) SetFile(v *VirtualGatewayListenerTlsFileCertificate) *VirtualGatewayListenerTlsCertificate {
+ s.File = v
return s
}
-type UntagResourceOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation
-func (s UntagResourceOutput) String() string {
- return awsutil.Prettify(s)
-}
-
-// GoString returns the string representation
-func (s UntagResourceOutput) GoString() string {
- return s.String()
-}
-
-type UpdateMeshInput struct {
+// An object that represents a local file certificate. The certificate must
+// meet specific requirements and you must have proxy authorization enabled.
+// For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites).
+type VirtualGatewayListenerTlsFileCertificate struct {
_ struct{} `type:"structure"`
- ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
-
- // MeshName is a required field
- MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
+ // CertificateChain is a required field
+ CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"`
- // An object that represents the specification of a service mesh.
- Spec *MeshSpec `locationName:"spec" type:"structure"`
+ // PrivateKey is a required field
+ PrivateKey *string `locationName:"privateKey" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s UpdateMeshInput) String() string {
+func (s VirtualGatewayListenerTlsFileCertificate) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s UpdateMeshInput) GoString() string {
+func (s VirtualGatewayListenerTlsFileCertificate) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateMeshInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateMeshInput"}
- if s.MeshName == nil {
- invalidParams.Add(request.NewErrParamRequired("MeshName"))
+func (s *VirtualGatewayListenerTlsFileCertificate) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsFileCertificate"}
+ if s.CertificateChain == nil {
+ invalidParams.Add(request.NewErrParamRequired("CertificateChain"))
}
- if s.MeshName != nil && len(*s.MeshName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+ if s.CertificateChain != nil && len(*s.CertificateChain) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1))
}
- if s.Spec != nil {
- if err := s.Spec.Validate(); err != nil {
- invalidParams.AddNested("Spec", err.(request.ErrInvalidParams))
- }
+ if s.PrivateKey == nil {
+ invalidParams.Add(request.NewErrParamRequired("PrivateKey"))
+ }
+ if s.PrivateKey != nil && len(*s.PrivateKey) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1))
}
if invalidParams.Len() > 0 {
@@ -9126,112 +13241,89 @@ func (s *UpdateMeshInput) Validate() error {
return nil
}
-// SetClientToken sets the ClientToken field's value.
-func (s *UpdateMeshInput) SetClientToken(v string) *UpdateMeshInput {
- s.ClientToken = &v
- return s
-}
-
-// SetMeshName sets the MeshName field's value.
-func (s *UpdateMeshInput) SetMeshName(v string) *UpdateMeshInput {
- s.MeshName = &v
+// SetCertificateChain sets the CertificateChain field's value.
+func (s *VirtualGatewayListenerTlsFileCertificate) SetCertificateChain(v string) *VirtualGatewayListenerTlsFileCertificate {
+ s.CertificateChain = &v
return s
}
-// SetSpec sets the Spec field's value.
-func (s *UpdateMeshInput) SetSpec(v *MeshSpec) *UpdateMeshInput {
- s.Spec = v
+// SetPrivateKey sets the PrivateKey field's value.
+func (s *VirtualGatewayListenerTlsFileCertificate) SetPrivateKey(v string) *VirtualGatewayListenerTlsFileCertificate {
+ s.PrivateKey = &v
return s
}
-type UpdateMeshOutput struct {
- _ struct{} `type:"structure" payload:"Mesh"`
+// An object that represents logging information.
+type VirtualGatewayLogging struct {
+ _ struct{} `type:"structure"`
- // An object that represents a service mesh returned by a describe operation.
- //
- // Mesh is a required field
- Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"`
+ // The access log configuration for a virtual gateway.
+ AccessLog *VirtualGatewayAccessLog `locationName:"accessLog" type:"structure"`
}
// String returns the string representation
-func (s UpdateMeshOutput) String() string {
+func (s VirtualGatewayLogging) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s UpdateMeshOutput) GoString() string {
+func (s VirtualGatewayLogging) GoString() string {
return s.String()
}
-// SetMesh sets the Mesh field's value.
-func (s *UpdateMeshOutput) SetMesh(v *MeshData) *UpdateMeshOutput {
- s.Mesh = v
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *VirtualGatewayLogging) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayLogging"}
+ if s.AccessLog != nil {
+ if err := s.AccessLog.Validate(); err != nil {
+ invalidParams.AddNested("AccessLog", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAccessLog sets the AccessLog field's value.
+func (s *VirtualGatewayLogging) SetAccessLog(v *VirtualGatewayAccessLog) *VirtualGatewayLogging {
+ s.AccessLog = v
return s
}
-type UpdateRouteInput struct {
+// An object that represents a port mapping.
+type VirtualGatewayPortMapping struct {
_ struct{} `type:"structure"`
- ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
-
- // MeshName is a required field
- MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
-
- MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
-
- // RouteName is a required field
- RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"`
-
- // An object that represents a route specification. Specify one route type.
- //
- // Spec is a required field
- Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"`
+ // Port is a required field
+ Port *int64 `locationName:"port" min:"1" type:"integer" required:"true"`
- // VirtualRouterName is a required field
- VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"`
+ // Protocol is a required field
+ Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"VirtualGatewayPortProtocol"`
}
// String returns the string representation
-func (s UpdateRouteInput) String() string {
+func (s VirtualGatewayPortMapping) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s UpdateRouteInput) GoString() string {
+func (s VirtualGatewayPortMapping) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateRouteInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateRouteInput"}
- if s.MeshName == nil {
- invalidParams.Add(request.NewErrParamRequired("MeshName"))
- }
- if s.MeshName != nil && len(*s.MeshName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
- }
- if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
- invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
- }
- if s.RouteName == nil {
- invalidParams.Add(request.NewErrParamRequired("RouteName"))
- }
- if s.RouteName != nil && len(*s.RouteName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RouteName", 1))
- }
- if s.Spec == nil {
- invalidParams.Add(request.NewErrParamRequired("Spec"))
- }
- if s.VirtualRouterName == nil {
- invalidParams.Add(request.NewErrParamRequired("VirtualRouterName"))
+func (s *VirtualGatewayPortMapping) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayPortMapping"}
+ if s.Port == nil {
+ invalidParams.Add(request.NewErrParamRequired("Port"))
}
- if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1))
+ if s.Port != nil && *s.Port < 1 {
+ invalidParams.Add(request.NewErrParamMinValue("Port", 1))
}
- if s.Spec != nil {
- if err := s.Spec.Validate(); err != nil {
- invalidParams.AddNested("Spec", err.(request.ErrInvalidParams))
- }
+ if s.Protocol == nil {
+ invalidParams.Add(request.NewErrParamRequired("Protocol"))
}
if invalidParams.Len() > 0 {
@@ -9240,120 +13332,153 @@ func (s *UpdateRouteInput) Validate() error {
return nil
}
-// SetClientToken sets the ClientToken field's value.
-func (s *UpdateRouteInput) SetClientToken(v string) *UpdateRouteInput {
- s.ClientToken = &v
+// SetPort sets the Port field's value.
+func (s *VirtualGatewayPortMapping) SetPort(v int64) *VirtualGatewayPortMapping {
+ s.Port = &v
return s
}
-// SetMeshName sets the MeshName field's value.
-func (s *UpdateRouteInput) SetMeshName(v string) *UpdateRouteInput {
- s.MeshName = &v
+// SetProtocol sets the Protocol field's value.
+func (s *VirtualGatewayPortMapping) SetProtocol(v string) *VirtualGatewayPortMapping {
+ s.Protocol = &v
return s
}
-// SetMeshOwner sets the MeshOwner field's value.
-func (s *UpdateRouteInput) SetMeshOwner(v string) *UpdateRouteInput {
- s.MeshOwner = &v
- return s
+// An object that represents a virtual gateway returned by a list operation.
+type VirtualGatewayRef struct {
+ _ struct{} `type:"structure"`
+
+ // Arn is a required field
+ Arn *string `locationName:"arn" type:"string" required:"true"`
+
+ // CreatedAt is a required field
+ CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
+
+ // LastUpdatedAt is a required field
+ LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"`
+
+ // MeshName is a required field
+ MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"`
+
+ // MeshOwner is a required field
+ MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"`
+
+ // ResourceOwner is a required field
+ ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"`
+
+ // Version is a required field
+ Version *int64 `locationName:"version" type:"long" required:"true"`
+
+ // VirtualGatewayName is a required field
+ VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"`
}
-// SetRouteName sets the RouteName field's value.
-func (s *UpdateRouteInput) SetRouteName(v string) *UpdateRouteInput {
- s.RouteName = &v
+// String returns the string representation
+func (s VirtualGatewayRef) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VirtualGatewayRef) GoString() string {
+ return s.String()
+}
+
+// SetArn sets the Arn field's value.
+func (s *VirtualGatewayRef) SetArn(v string) *VirtualGatewayRef {
+ s.Arn = &v
return s
}
-// SetSpec sets the Spec field's value.
-func (s *UpdateRouteInput) SetSpec(v *RouteSpec) *UpdateRouteInput {
- s.Spec = v
+// SetCreatedAt sets the CreatedAt field's value.
+func (s *VirtualGatewayRef) SetCreatedAt(v time.Time) *VirtualGatewayRef {
+ s.CreatedAt = &v
return s
}
-// SetVirtualRouterName sets the VirtualRouterName field's value.
-func (s *UpdateRouteInput) SetVirtualRouterName(v string) *UpdateRouteInput {
- s.VirtualRouterName = &v
+// SetLastUpdatedAt sets the LastUpdatedAt field's value.
+func (s *VirtualGatewayRef) SetLastUpdatedAt(v time.Time) *VirtualGatewayRef {
+ s.LastUpdatedAt = &v
return s
}
-type UpdateRouteOutput struct {
- _ struct{} `type:"structure" payload:"Route"`
+// SetMeshName sets the MeshName field's value.
+func (s *VirtualGatewayRef) SetMeshName(v string) *VirtualGatewayRef {
+ s.MeshName = &v
+ return s
+}
- // An object that represents a route returned by a describe operation.
- //
- // Route is a required field
- Route *RouteData `locationName:"route" type:"structure" required:"true"`
+// SetMeshOwner sets the MeshOwner field's value.
+func (s *VirtualGatewayRef) SetMeshOwner(v string) *VirtualGatewayRef {
+ s.MeshOwner = &v
+ return s
}
-// String returns the string representation
-func (s UpdateRouteOutput) String() string {
- return awsutil.Prettify(s)
+// SetResourceOwner sets the ResourceOwner field's value.
+func (s *VirtualGatewayRef) SetResourceOwner(v string) *VirtualGatewayRef {
+ s.ResourceOwner = &v
+ return s
}
-// GoString returns the string representation
-func (s UpdateRouteOutput) GoString() string {
- return s.String()
+// SetVersion sets the Version field's value.
+func (s *VirtualGatewayRef) SetVersion(v int64) *VirtualGatewayRef {
+ s.Version = &v
+ return s
}
-// SetRoute sets the Route field's value.
-func (s *UpdateRouteOutput) SetRoute(v *RouteData) *UpdateRouteOutput {
- s.Route = v
+// SetVirtualGatewayName sets the VirtualGatewayName field's value.
+func (s *VirtualGatewayRef) SetVirtualGatewayName(v string) *VirtualGatewayRef {
+ s.VirtualGatewayName = &v
return s
}
-type UpdateVirtualNodeInput struct {
+// An object that represents the specification of a service mesh resource.
+type VirtualGatewaySpec struct {
_ struct{} `type:"structure"`
- ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
-
- // MeshName is a required field
- MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
-
- MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
+ // An object that represents the default properties for a backend.
+ BackendDefaults *VirtualGatewayBackendDefaults `locationName:"backendDefaults" type:"structure"`
- // An object that represents the specification of a virtual node.
- //
- // Spec is a required field
- Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"`
+ // Listeners is a required field
+ Listeners []*VirtualGatewayListener `locationName:"listeners" type:"list" required:"true"`
- // VirtualNodeName is a required field
- VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"`
+ // An object that represents logging information.
+ Logging *VirtualGatewayLogging `locationName:"logging" type:"structure"`
}
// String returns the string representation
-func (s UpdateVirtualNodeInput) String() string {
+func (s VirtualGatewaySpec) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s UpdateVirtualNodeInput) GoString() string {
+func (s VirtualGatewaySpec) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateVirtualNodeInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualNodeInput"}
- if s.MeshName == nil {
- invalidParams.Add(request.NewErrParamRequired("MeshName"))
- }
- if s.MeshName != nil && len(*s.MeshName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
+func (s *VirtualGatewaySpec) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewaySpec"}
+ if s.Listeners == nil {
+ invalidParams.Add(request.NewErrParamRequired("Listeners"))
}
- if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
- invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
- }
- if s.Spec == nil {
- invalidParams.Add(request.NewErrParamRequired("Spec"))
- }
- if s.VirtualNodeName == nil {
- invalidParams.Add(request.NewErrParamRequired("VirtualNodeName"))
+ if s.BackendDefaults != nil {
+ if err := s.BackendDefaults.Validate(); err != nil {
+ invalidParams.AddNested("BackendDefaults", err.(request.ErrInvalidParams))
+ }
}
- if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1))
+ if s.Listeners != nil {
+ for i, v := range s.Listeners {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Listeners", i), err.(request.ErrInvalidParams))
+ }
+ }
}
- if s.Spec != nil {
- if err := s.Spec.Validate(); err != nil {
- invalidParams.AddNested("Spec", err.(request.ErrInvalidParams))
+ if s.Logging != nil {
+ if err := s.Logging.Validate(); err != nil {
+ invalidParams.AddNested("Logging", err.(request.ErrInvalidParams))
}
}
@@ -9363,114 +13488,78 @@ func (s *UpdateVirtualNodeInput) Validate() error {
return nil
}
-// SetClientToken sets the ClientToken field's value.
-func (s *UpdateVirtualNodeInput) SetClientToken(v string) *UpdateVirtualNodeInput {
- s.ClientToken = &v
- return s
-}
-
-// SetMeshName sets the MeshName field's value.
-func (s *UpdateVirtualNodeInput) SetMeshName(v string) *UpdateVirtualNodeInput {
- s.MeshName = &v
- return s
-}
-
-// SetMeshOwner sets the MeshOwner field's value.
-func (s *UpdateVirtualNodeInput) SetMeshOwner(v string) *UpdateVirtualNodeInput {
- s.MeshOwner = &v
+// SetBackendDefaults sets the BackendDefaults field's value.
+func (s *VirtualGatewaySpec) SetBackendDefaults(v *VirtualGatewayBackendDefaults) *VirtualGatewaySpec {
+ s.BackendDefaults = v
return s
}
-// SetSpec sets the Spec field's value.
-func (s *UpdateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *UpdateVirtualNodeInput {
- s.Spec = v
+// SetListeners sets the Listeners field's value.
+func (s *VirtualGatewaySpec) SetListeners(v []*VirtualGatewayListener) *VirtualGatewaySpec {
+ s.Listeners = v
return s
}
-// SetVirtualNodeName sets the VirtualNodeName field's value.
-func (s *UpdateVirtualNodeInput) SetVirtualNodeName(v string) *UpdateVirtualNodeInput {
- s.VirtualNodeName = &v
+// SetLogging sets the Logging field's value.
+func (s *VirtualGatewaySpec) SetLogging(v *VirtualGatewayLogging) *VirtualGatewaySpec {
+ s.Logging = v
return s
}
-type UpdateVirtualNodeOutput struct {
- _ struct{} `type:"structure" payload:"VirtualNode"`
-
- // An object that represents a virtual node returned by a describe operation.
- //
- // VirtualNode is a required field
- VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"`
+// An object that represents the status of the mesh resource.
+type VirtualGatewayStatus struct {
+ _ struct{} `type:"structure"`
+
+ // Status is a required field
+ Status *string `locationName:"status" type:"string" required:"true" enum:"VirtualGatewayStatusCode"`
}
// String returns the string representation
-func (s UpdateVirtualNodeOutput) String() string {
+func (s VirtualGatewayStatus) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s UpdateVirtualNodeOutput) GoString() string {
+func (s VirtualGatewayStatus) GoString() string {
return s.String()
}
-// SetVirtualNode sets the VirtualNode field's value.
-func (s *UpdateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *UpdateVirtualNodeOutput {
- s.VirtualNode = v
+// SetStatus sets the Status field's value.
+func (s *VirtualGatewayStatus) SetStatus(v string) *VirtualGatewayStatus {
+ s.Status = &v
return s
}
-type UpdateVirtualRouterInput struct {
+// An object that represents a Transport Layer Security (TLS) validation context.
+type VirtualGatewayTlsValidationContext struct {
_ struct{} `type:"structure"`
- ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
-
- // MeshName is a required field
- MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
-
- MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
-
- // An object that represents the specification of a virtual router.
+ // An object that represents a Transport Layer Security (TLS) validation context
+ // trust.
//
- // Spec is a required field
- Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"`
-
- // VirtualRouterName is a required field
- VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"`
+ // Trust is a required field
+ Trust *VirtualGatewayTlsValidationContextTrust `locationName:"trust" type:"structure" required:"true"`
}
// String returns the string representation
-func (s UpdateVirtualRouterInput) String() string {
+func (s VirtualGatewayTlsValidationContext) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s UpdateVirtualRouterInput) GoString() string {
+func (s VirtualGatewayTlsValidationContext) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateVirtualRouterInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualRouterInput"}
- if s.MeshName == nil {
- invalidParams.Add(request.NewErrParamRequired("MeshName"))
- }
- if s.MeshName != nil && len(*s.MeshName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
- }
- if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
- invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
- }
- if s.Spec == nil {
- invalidParams.Add(request.NewErrParamRequired("Spec"))
- }
- if s.VirtualRouterName == nil {
- invalidParams.Add(request.NewErrParamRequired("VirtualRouterName"))
- }
- if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1))
+func (s *VirtualGatewayTlsValidationContext) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContext"}
+ if s.Trust == nil {
+ invalidParams.Add(request.NewErrParamRequired("Trust"))
}
- if s.Spec != nil {
- if err := s.Spec.Validate(); err != nil {
- invalidParams.AddNested("Spec", err.(request.ErrInvalidParams))
+ if s.Trust != nil {
+ if err := s.Trust.Validate(); err != nil {
+ invalidParams.AddNested("Trust", err.(request.ErrInvalidParams))
}
}
@@ -9480,115 +13569,80 @@ func (s *UpdateVirtualRouterInput) Validate() error {
return nil
}
-// SetClientToken sets the ClientToken field's value.
-func (s *UpdateVirtualRouterInput) SetClientToken(v string) *UpdateVirtualRouterInput {
- s.ClientToken = &v
- return s
-}
-
-// SetMeshName sets the MeshName field's value.
-func (s *UpdateVirtualRouterInput) SetMeshName(v string) *UpdateVirtualRouterInput {
- s.MeshName = &v
- return s
-}
-
-// SetMeshOwner sets the MeshOwner field's value.
-func (s *UpdateVirtualRouterInput) SetMeshOwner(v string) *UpdateVirtualRouterInput {
- s.MeshOwner = &v
- return s
-}
-
-// SetSpec sets the Spec field's value.
-func (s *UpdateVirtualRouterInput) SetSpec(v *VirtualRouterSpec) *UpdateVirtualRouterInput {
- s.Spec = v
- return s
-}
-
-// SetVirtualRouterName sets the VirtualRouterName field's value.
-func (s *UpdateVirtualRouterInput) SetVirtualRouterName(v string) *UpdateVirtualRouterInput {
- s.VirtualRouterName = &v
+// SetTrust sets the Trust field's value.
+func (s *VirtualGatewayTlsValidationContext) SetTrust(v *VirtualGatewayTlsValidationContextTrust) *VirtualGatewayTlsValidationContext {
+ s.Trust = v
return s
}
-type UpdateVirtualRouterOutput struct {
- _ struct{} `type:"structure" payload:"VirtualRouter"`
+// An object that represents a TLS validation context trust for an AWS Certicate
+// Manager (ACM) certificate.
+type VirtualGatewayTlsValidationContextAcmTrust struct {
+ _ struct{} `type:"structure"`
- // An object that represents a virtual router returned by a describe operation.
- //
- // VirtualRouter is a required field
- VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"`
+ // CertificateAuthorityArns is a required field
+ CertificateAuthorityArns []*string `locationName:"certificateAuthorityArns" min:"1" type:"list" required:"true"`
}
// String returns the string representation
-func (s UpdateVirtualRouterOutput) String() string {
+func (s VirtualGatewayTlsValidationContextAcmTrust) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s UpdateVirtualRouterOutput) GoString() string {
+func (s VirtualGatewayTlsValidationContextAcmTrust) GoString() string {
return s.String()
}
-// SetVirtualRouter sets the VirtualRouter field's value.
-func (s *UpdateVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *UpdateVirtualRouterOutput {
- s.VirtualRouter = v
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *VirtualGatewayTlsValidationContextAcmTrust) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContextAcmTrust"}
+ if s.CertificateAuthorityArns == nil {
+ invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArns"))
+ }
+ if s.CertificateAuthorityArns != nil && len(s.CertificateAuthorityArns) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArns", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCertificateAuthorityArns sets the CertificateAuthorityArns field's value.
+func (s *VirtualGatewayTlsValidationContextAcmTrust) SetCertificateAuthorityArns(v []*string) *VirtualGatewayTlsValidationContextAcmTrust {
+ s.CertificateAuthorityArns = v
return s
}
-type UpdateVirtualServiceInput struct {
+// An object that represents a Transport Layer Security (TLS) validation context
+// trust for a local file.
+type VirtualGatewayTlsValidationContextFileTrust struct {
_ struct{} `type:"structure"`
- ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
-
- // MeshName is a required field
- MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"`
-
- MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"`
-
- // An object that represents the specification of a virtual service.
- //
- // Spec is a required field
- Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"`
-
- // VirtualServiceName is a required field
- VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"`
+ // CertificateChain is a required field
+ CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s UpdateVirtualServiceInput) String() string {
+func (s VirtualGatewayTlsValidationContextFileTrust) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s UpdateVirtualServiceInput) GoString() string {
+func (s VirtualGatewayTlsValidationContextFileTrust) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
-func (s *UpdateVirtualServiceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualServiceInput"}
- if s.MeshName == nil {
- invalidParams.Add(request.NewErrParamRequired("MeshName"))
- }
- if s.MeshName != nil && len(*s.MeshName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("MeshName", 1))
- }
- if s.MeshOwner != nil && len(*s.MeshOwner) < 12 {
- invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12))
- }
- if s.Spec == nil {
- invalidParams.Add(request.NewErrParamRequired("Spec"))
- }
- if s.VirtualServiceName == nil {
- invalidParams.Add(request.NewErrParamRequired("VirtualServiceName"))
- }
- if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1))
+func (s *VirtualGatewayTlsValidationContextFileTrust) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContextFileTrust"}
+ if s.CertificateChain == nil {
+ invalidParams.Add(request.NewErrParamRequired("CertificateChain"))
}
- if s.Spec != nil {
- if err := s.Spec.Validate(); err != nil {
- invalidParams.AddNested("Spec", err.(request.ErrInvalidParams))
- }
+ if s.CertificateChain != nil && len(*s.CertificateChain) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1))
}
if invalidParams.Len() > 0 {
@@ -9597,58 +13651,65 @@ func (s *UpdateVirtualServiceInput) Validate() error {
return nil
}
-// SetClientToken sets the ClientToken field's value.
-func (s *UpdateVirtualServiceInput) SetClientToken(v string) *UpdateVirtualServiceInput {
- s.ClientToken = &v
- return s
-}
-
-// SetMeshName sets the MeshName field's value.
-func (s *UpdateVirtualServiceInput) SetMeshName(v string) *UpdateVirtualServiceInput {
- s.MeshName = &v
- return s
-}
-
-// SetMeshOwner sets the MeshOwner field's value.
-func (s *UpdateVirtualServiceInput) SetMeshOwner(v string) *UpdateVirtualServiceInput {
- s.MeshOwner = &v
- return s
-}
-
-// SetSpec sets the Spec field's value.
-func (s *UpdateVirtualServiceInput) SetSpec(v *VirtualServiceSpec) *UpdateVirtualServiceInput {
- s.Spec = v
+// SetCertificateChain sets the CertificateChain field's value.
+func (s *VirtualGatewayTlsValidationContextFileTrust) SetCertificateChain(v string) *VirtualGatewayTlsValidationContextFileTrust {
+ s.CertificateChain = &v
return s
}
-// SetVirtualServiceName sets the VirtualServiceName field's value.
-func (s *UpdateVirtualServiceInput) SetVirtualServiceName(v string) *UpdateVirtualServiceInput {
- s.VirtualServiceName = &v
- return s
-}
+// An object that represents a Transport Layer Security (TLS) validation context
+// trust.
+type VirtualGatewayTlsValidationContextTrust struct {
+ _ struct{} `type:"structure"`
-type UpdateVirtualServiceOutput struct {
- _ struct{} `type:"structure" payload:"VirtualService"`
+ // An object that represents a TLS validation context trust for an AWS Certicate
+ // Manager (ACM) certificate.
+ Acm *VirtualGatewayTlsValidationContextAcmTrust `locationName:"acm" type:"structure"`
- // An object that represents a virtual service returned by a describe operation.
- //
- // VirtualService is a required field
- VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"`
+ // An object that represents a Transport Layer Security (TLS) validation context
+ // trust for a local file.
+ File *VirtualGatewayTlsValidationContextFileTrust `locationName:"file" type:"structure"`
}
// String returns the string representation
-func (s UpdateVirtualServiceOutput) String() string {
+func (s VirtualGatewayTlsValidationContextTrust) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s UpdateVirtualServiceOutput) GoString() string {
+func (s VirtualGatewayTlsValidationContextTrust) GoString() string {
return s.String()
}
-// SetVirtualService sets the VirtualService field's value.
-func (s *UpdateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *UpdateVirtualServiceOutput {
- s.VirtualService = v
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *VirtualGatewayTlsValidationContextTrust) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContextTrust"}
+ if s.Acm != nil {
+ if err := s.Acm.Validate(); err != nil {
+ invalidParams.AddNested("Acm", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.File != nil {
+ if err := s.File.Validate(); err != nil {
+ invalidParams.AddNested("File", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAcm sets the Acm field's value.
+func (s *VirtualGatewayTlsValidationContextTrust) SetAcm(v *VirtualGatewayTlsValidationContextAcmTrust) *VirtualGatewayTlsValidationContextTrust {
+ s.Acm = v
+ return s
+}
+
+// SetFile sets the File field's value.
+func (s *VirtualGatewayTlsValidationContextTrust) SetFile(v *VirtualGatewayTlsValidationContextFileTrust) *VirtualGatewayTlsValidationContextTrust {
+ s.File = v
return s
}
@@ -10672,6 +14733,17 @@ const (
EgressFilterTypeDropAll = "DROP_ALL"
)
+const (
+ // GatewayRouteStatusCodeActive is a GatewayRouteStatusCode enum value
+ GatewayRouteStatusCodeActive = "ACTIVE"
+
+ // GatewayRouteStatusCodeDeleted is a GatewayRouteStatusCode enum value
+ GatewayRouteStatusCodeDeleted = "DELETED"
+
+ // GatewayRouteStatusCodeInactive is a GatewayRouteStatusCode enum value
+ GatewayRouteStatusCodeInactive = "INACTIVE"
+)
+
const (
// GrpcRetryPolicyEventCancelled is a GrpcRetryPolicyEvent enum value
GrpcRetryPolicyEventCancelled = "cancelled"
@@ -10778,6 +14850,39 @@ const (
TcpRetryPolicyEventConnectionError = "connection-error"
)
+const (
+ // VirtualGatewayListenerTlsModeDisabled is a VirtualGatewayListenerTlsMode enum value
+ VirtualGatewayListenerTlsModeDisabled = "DISABLED"
+
+ // VirtualGatewayListenerTlsModePermissive is a VirtualGatewayListenerTlsMode enum value
+ VirtualGatewayListenerTlsModePermissive = "PERMISSIVE"
+
+ // VirtualGatewayListenerTlsModeStrict is a VirtualGatewayListenerTlsMode enum value
+ VirtualGatewayListenerTlsModeStrict = "STRICT"
+)
+
+const (
+ // VirtualGatewayPortProtocolGrpc is a VirtualGatewayPortProtocol enum value
+ VirtualGatewayPortProtocolGrpc = "grpc"
+
+ // VirtualGatewayPortProtocolHttp is a VirtualGatewayPortProtocol enum value
+ VirtualGatewayPortProtocolHttp = "http"
+
+ // VirtualGatewayPortProtocolHttp2 is a VirtualGatewayPortProtocol enum value
+ VirtualGatewayPortProtocolHttp2 = "http2"
+)
+
+const (
+ // VirtualGatewayStatusCodeActive is a VirtualGatewayStatusCode enum value
+ VirtualGatewayStatusCodeActive = "ACTIVE"
+
+ // VirtualGatewayStatusCodeDeleted is a VirtualGatewayStatusCode enum value
+ VirtualGatewayStatusCodeDeleted = "DELETED"
+
+ // VirtualGatewayStatusCodeInactive is a VirtualGatewayStatusCode enum value
+ VirtualGatewayStatusCodeInactive = "INACTIVE"
+)
+
const (
// VirtualNodeStatusCodeActive is a VirtualNodeStatusCode enum value
VirtualNodeStatusCodeActive = "ACTIVE"
diff --git a/service/appmesh/appmeshiface/interface.go b/service/appmesh/appmeshiface/interface.go
index 9dc98f08caf..ecc5a26c2f9 100644
--- a/service/appmesh/appmeshiface/interface.go
+++ b/service/appmesh/appmeshiface/interface.go
@@ -26,7 +26,7 @@ import (
// // myFunc uses an SDK service client to make a request to
// // AWS App Mesh.
// func myFunc(svc appmeshiface.AppMeshAPI) bool {
-// // Make svc.CreateMesh request
+// // Make svc.CreateGatewayRoute request
// }
//
// func main() {
@@ -42,7 +42,7 @@ import (
// type mockAppMeshClient struct {
// appmeshiface.AppMeshAPI
// }
-// func (m *mockAppMeshClient) CreateMesh(input *appmesh.CreateMeshInput) (*appmesh.CreateMeshOutput, error) {
+// func (m *mockAppMeshClient) CreateGatewayRoute(input *appmesh.CreateGatewayRouteInput) (*appmesh.CreateGatewayRouteOutput, 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 AppMeshAPI interface {
+ CreateGatewayRoute(*appmesh.CreateGatewayRouteInput) (*appmesh.CreateGatewayRouteOutput, error)
+ CreateGatewayRouteWithContext(aws.Context, *appmesh.CreateGatewayRouteInput, ...request.Option) (*appmesh.CreateGatewayRouteOutput, error)
+ CreateGatewayRouteRequest(*appmesh.CreateGatewayRouteInput) (*request.Request, *appmesh.CreateGatewayRouteOutput)
+
CreateMesh(*appmesh.CreateMeshInput) (*appmesh.CreateMeshOutput, error)
CreateMeshWithContext(aws.Context, *appmesh.CreateMeshInput, ...request.Option) (*appmesh.CreateMeshOutput, error)
CreateMeshRequest(*appmesh.CreateMeshInput) (*request.Request, *appmesh.CreateMeshOutput)
@@ -68,6 +72,10 @@ type AppMeshAPI interface {
CreateRouteWithContext(aws.Context, *appmesh.CreateRouteInput, ...request.Option) (*appmesh.CreateRouteOutput, error)
CreateRouteRequest(*appmesh.CreateRouteInput) (*request.Request, *appmesh.CreateRouteOutput)
+ CreateVirtualGateway(*appmesh.CreateVirtualGatewayInput) (*appmesh.CreateVirtualGatewayOutput, error)
+ CreateVirtualGatewayWithContext(aws.Context, *appmesh.CreateVirtualGatewayInput, ...request.Option) (*appmesh.CreateVirtualGatewayOutput, error)
+ CreateVirtualGatewayRequest(*appmesh.CreateVirtualGatewayInput) (*request.Request, *appmesh.CreateVirtualGatewayOutput)
+
CreateVirtualNode(*appmesh.CreateVirtualNodeInput) (*appmesh.CreateVirtualNodeOutput, error)
CreateVirtualNodeWithContext(aws.Context, *appmesh.CreateVirtualNodeInput, ...request.Option) (*appmesh.CreateVirtualNodeOutput, error)
CreateVirtualNodeRequest(*appmesh.CreateVirtualNodeInput) (*request.Request, *appmesh.CreateVirtualNodeOutput)
@@ -80,6 +88,10 @@ type AppMeshAPI interface {
CreateVirtualServiceWithContext(aws.Context, *appmesh.CreateVirtualServiceInput, ...request.Option) (*appmesh.CreateVirtualServiceOutput, error)
CreateVirtualServiceRequest(*appmesh.CreateVirtualServiceInput) (*request.Request, *appmesh.CreateVirtualServiceOutput)
+ DeleteGatewayRoute(*appmesh.DeleteGatewayRouteInput) (*appmesh.DeleteGatewayRouteOutput, error)
+ DeleteGatewayRouteWithContext(aws.Context, *appmesh.DeleteGatewayRouteInput, ...request.Option) (*appmesh.DeleteGatewayRouteOutput, error)
+ DeleteGatewayRouteRequest(*appmesh.DeleteGatewayRouteInput) (*request.Request, *appmesh.DeleteGatewayRouteOutput)
+
DeleteMesh(*appmesh.DeleteMeshInput) (*appmesh.DeleteMeshOutput, error)
DeleteMeshWithContext(aws.Context, *appmesh.DeleteMeshInput, ...request.Option) (*appmesh.DeleteMeshOutput, error)
DeleteMeshRequest(*appmesh.DeleteMeshInput) (*request.Request, *appmesh.DeleteMeshOutput)
@@ -88,6 +100,10 @@ type AppMeshAPI interface {
DeleteRouteWithContext(aws.Context, *appmesh.DeleteRouteInput, ...request.Option) (*appmesh.DeleteRouteOutput, error)
DeleteRouteRequest(*appmesh.DeleteRouteInput) (*request.Request, *appmesh.DeleteRouteOutput)
+ DeleteVirtualGateway(*appmesh.DeleteVirtualGatewayInput) (*appmesh.DeleteVirtualGatewayOutput, error)
+ DeleteVirtualGatewayWithContext(aws.Context, *appmesh.DeleteVirtualGatewayInput, ...request.Option) (*appmesh.DeleteVirtualGatewayOutput, error)
+ DeleteVirtualGatewayRequest(*appmesh.DeleteVirtualGatewayInput) (*request.Request, *appmesh.DeleteVirtualGatewayOutput)
+
DeleteVirtualNode(*appmesh.DeleteVirtualNodeInput) (*appmesh.DeleteVirtualNodeOutput, error)
DeleteVirtualNodeWithContext(aws.Context, *appmesh.DeleteVirtualNodeInput, ...request.Option) (*appmesh.DeleteVirtualNodeOutput, error)
DeleteVirtualNodeRequest(*appmesh.DeleteVirtualNodeInput) (*request.Request, *appmesh.DeleteVirtualNodeOutput)
@@ -100,6 +116,10 @@ type AppMeshAPI interface {
DeleteVirtualServiceWithContext(aws.Context, *appmesh.DeleteVirtualServiceInput, ...request.Option) (*appmesh.DeleteVirtualServiceOutput, error)
DeleteVirtualServiceRequest(*appmesh.DeleteVirtualServiceInput) (*request.Request, *appmesh.DeleteVirtualServiceOutput)
+ DescribeGatewayRoute(*appmesh.DescribeGatewayRouteInput) (*appmesh.DescribeGatewayRouteOutput, error)
+ DescribeGatewayRouteWithContext(aws.Context, *appmesh.DescribeGatewayRouteInput, ...request.Option) (*appmesh.DescribeGatewayRouteOutput, error)
+ DescribeGatewayRouteRequest(*appmesh.DescribeGatewayRouteInput) (*request.Request, *appmesh.DescribeGatewayRouteOutput)
+
DescribeMesh(*appmesh.DescribeMeshInput) (*appmesh.DescribeMeshOutput, error)
DescribeMeshWithContext(aws.Context, *appmesh.DescribeMeshInput, ...request.Option) (*appmesh.DescribeMeshOutput, error)
DescribeMeshRequest(*appmesh.DescribeMeshInput) (*request.Request, *appmesh.DescribeMeshOutput)
@@ -108,6 +128,10 @@ type AppMeshAPI interface {
DescribeRouteWithContext(aws.Context, *appmesh.DescribeRouteInput, ...request.Option) (*appmesh.DescribeRouteOutput, error)
DescribeRouteRequest(*appmesh.DescribeRouteInput) (*request.Request, *appmesh.DescribeRouteOutput)
+ DescribeVirtualGateway(*appmesh.DescribeVirtualGatewayInput) (*appmesh.DescribeVirtualGatewayOutput, error)
+ DescribeVirtualGatewayWithContext(aws.Context, *appmesh.DescribeVirtualGatewayInput, ...request.Option) (*appmesh.DescribeVirtualGatewayOutput, error)
+ DescribeVirtualGatewayRequest(*appmesh.DescribeVirtualGatewayInput) (*request.Request, *appmesh.DescribeVirtualGatewayOutput)
+
DescribeVirtualNode(*appmesh.DescribeVirtualNodeInput) (*appmesh.DescribeVirtualNodeOutput, error)
DescribeVirtualNodeWithContext(aws.Context, *appmesh.DescribeVirtualNodeInput, ...request.Option) (*appmesh.DescribeVirtualNodeOutput, error)
DescribeVirtualNodeRequest(*appmesh.DescribeVirtualNodeInput) (*request.Request, *appmesh.DescribeVirtualNodeOutput)
@@ -120,6 +144,13 @@ type AppMeshAPI interface {
DescribeVirtualServiceWithContext(aws.Context, *appmesh.DescribeVirtualServiceInput, ...request.Option) (*appmesh.DescribeVirtualServiceOutput, error)
DescribeVirtualServiceRequest(*appmesh.DescribeVirtualServiceInput) (*request.Request, *appmesh.DescribeVirtualServiceOutput)
+ ListGatewayRoutes(*appmesh.ListGatewayRoutesInput) (*appmesh.ListGatewayRoutesOutput, error)
+ ListGatewayRoutesWithContext(aws.Context, *appmesh.ListGatewayRoutesInput, ...request.Option) (*appmesh.ListGatewayRoutesOutput, error)
+ ListGatewayRoutesRequest(*appmesh.ListGatewayRoutesInput) (*request.Request, *appmesh.ListGatewayRoutesOutput)
+
+ ListGatewayRoutesPages(*appmesh.ListGatewayRoutesInput, func(*appmesh.ListGatewayRoutesOutput, bool) bool) error
+ ListGatewayRoutesPagesWithContext(aws.Context, *appmesh.ListGatewayRoutesInput, func(*appmesh.ListGatewayRoutesOutput, bool) bool, ...request.Option) error
+
ListMeshes(*appmesh.ListMeshesInput) (*appmesh.ListMeshesOutput, error)
ListMeshesWithContext(aws.Context, *appmesh.ListMeshesInput, ...request.Option) (*appmesh.ListMeshesOutput, error)
ListMeshesRequest(*appmesh.ListMeshesInput) (*request.Request, *appmesh.ListMeshesOutput)
@@ -141,6 +172,13 @@ type AppMeshAPI interface {
ListTagsForResourcePages(*appmesh.ListTagsForResourceInput, func(*appmesh.ListTagsForResourceOutput, bool) bool) error
ListTagsForResourcePagesWithContext(aws.Context, *appmesh.ListTagsForResourceInput, func(*appmesh.ListTagsForResourceOutput, bool) bool, ...request.Option) error
+ ListVirtualGateways(*appmesh.ListVirtualGatewaysInput) (*appmesh.ListVirtualGatewaysOutput, error)
+ ListVirtualGatewaysWithContext(aws.Context, *appmesh.ListVirtualGatewaysInput, ...request.Option) (*appmesh.ListVirtualGatewaysOutput, error)
+ ListVirtualGatewaysRequest(*appmesh.ListVirtualGatewaysInput) (*request.Request, *appmesh.ListVirtualGatewaysOutput)
+
+ ListVirtualGatewaysPages(*appmesh.ListVirtualGatewaysInput, func(*appmesh.ListVirtualGatewaysOutput, bool) bool) error
+ ListVirtualGatewaysPagesWithContext(aws.Context, *appmesh.ListVirtualGatewaysInput, func(*appmesh.ListVirtualGatewaysOutput, bool) bool, ...request.Option) error
+
ListVirtualNodes(*appmesh.ListVirtualNodesInput) (*appmesh.ListVirtualNodesOutput, error)
ListVirtualNodesWithContext(aws.Context, *appmesh.ListVirtualNodesInput, ...request.Option) (*appmesh.ListVirtualNodesOutput, error)
ListVirtualNodesRequest(*appmesh.ListVirtualNodesInput) (*request.Request, *appmesh.ListVirtualNodesOutput)
@@ -170,6 +208,10 @@ type AppMeshAPI interface {
UntagResourceWithContext(aws.Context, *appmesh.UntagResourceInput, ...request.Option) (*appmesh.UntagResourceOutput, error)
UntagResourceRequest(*appmesh.UntagResourceInput) (*request.Request, *appmesh.UntagResourceOutput)
+ UpdateGatewayRoute(*appmesh.UpdateGatewayRouteInput) (*appmesh.UpdateGatewayRouteOutput, error)
+ UpdateGatewayRouteWithContext(aws.Context, *appmesh.UpdateGatewayRouteInput, ...request.Option) (*appmesh.UpdateGatewayRouteOutput, error)
+ UpdateGatewayRouteRequest(*appmesh.UpdateGatewayRouteInput) (*request.Request, *appmesh.UpdateGatewayRouteOutput)
+
UpdateMesh(*appmesh.UpdateMeshInput) (*appmesh.UpdateMeshOutput, error)
UpdateMeshWithContext(aws.Context, *appmesh.UpdateMeshInput, ...request.Option) (*appmesh.UpdateMeshOutput, error)
UpdateMeshRequest(*appmesh.UpdateMeshInput) (*request.Request, *appmesh.UpdateMeshOutput)
@@ -178,6 +220,10 @@ type AppMeshAPI interface {
UpdateRouteWithContext(aws.Context, *appmesh.UpdateRouteInput, ...request.Option) (*appmesh.UpdateRouteOutput, error)
UpdateRouteRequest(*appmesh.UpdateRouteInput) (*request.Request, *appmesh.UpdateRouteOutput)
+ UpdateVirtualGateway(*appmesh.UpdateVirtualGatewayInput) (*appmesh.UpdateVirtualGatewayOutput, error)
+ UpdateVirtualGatewayWithContext(aws.Context, *appmesh.UpdateVirtualGatewayInput, ...request.Option) (*appmesh.UpdateVirtualGatewayOutput, error)
+ UpdateVirtualGatewayRequest(*appmesh.UpdateVirtualGatewayInput) (*request.Request, *appmesh.UpdateVirtualGatewayOutput)
+
UpdateVirtualNode(*appmesh.UpdateVirtualNodeInput) (*appmesh.UpdateVirtualNodeOutput, error)
UpdateVirtualNodeWithContext(aws.Context, *appmesh.UpdateVirtualNodeInput, ...request.Option) (*appmesh.UpdateVirtualNodeOutput, error)
UpdateVirtualNodeRequest(*appmesh.UpdateVirtualNodeInput) (*request.Request, *appmesh.UpdateVirtualNodeOutput)
diff --git a/service/cloudhsmv2/api.go b/service/cloudhsmv2/api.go
index 56b3c461c6d..b86f0fcea8d 100644
--- a/service/cloudhsmv2/api.go
+++ b/service/cloudhsmv2/api.go
@@ -85,6 +85,8 @@ func (c *CloudHSMV2) CopyBackupToRegionRequest(input *CopyBackupToRegionInput) (
// The request was rejected because an error occurred.
//
// * CloudHsmTagException
+// The request was rejected because of a tagging failure. Verify the tag conditions
+// in all applicable policies, and then retry the request.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CopyBackupToRegion
func (c *CloudHSMV2) CopyBackupToRegion(input *CopyBackupToRegionInput) (*CopyBackupToRegionOutput, error) {
@@ -180,6 +182,8 @@ func (c *CloudHSMV2) CreateClusterRequest(input *CreateClusterInput) (req *reque
// The request was rejected because an error occurred.
//
// * CloudHsmTagException
+// The request was rejected because of a tagging failure. Verify the tag conditions
+// in all applicable policies, and then retry the request.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CreateCluster
func (c *CloudHSMV2) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) {
@@ -466,6 +470,8 @@ func (c *CloudHSMV2) DeleteClusterRequest(input *DeleteClusterInput) (req *reque
// The request was rejected because an error occurred.
//
// * CloudHsmTagException
+// The request was rejected because of a tagging failure. Verify the tag conditions
+// in all applicable policies, and then retry the request.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DeleteCluster
func (c *CloudHSMV2) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) {
@@ -670,6 +676,8 @@ func (c *CloudHSMV2) DescribeBackupsRequest(input *DescribeBackupsInput) (req *r
// The request was rejected because an error occurred.
//
// * CloudHsmTagException
+// The request was rejected because of a tagging failure. Verify the tag conditions
+// in all applicable policies, and then retry the request.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeBackups
func (c *CloudHSMV2) DescribeBackups(input *DescribeBackupsInput) (*DescribeBackupsOutput, error) {
@@ -827,6 +835,8 @@ func (c *CloudHSMV2) DescribeClustersRequest(input *DescribeClustersInput) (req
// The request was rejected because an error occurred.
//
// * CloudHsmTagException
+// The request was rejected because of a tagging failure. Verify the tag conditions
+// in all applicable policies, and then retry the request.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeClusters
func (c *CloudHSMV2) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) {
@@ -1082,6 +1092,8 @@ func (c *CloudHSMV2) ListTagsRequest(input *ListTagsInput) (req *request.Request
// The request was rejected because an error occurred.
//
// * CloudHsmTagException
+// The request was rejected because of a tagging failure. Verify the tag conditions
+// in all applicable policies, and then retry the request.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/ListTags
func (c *CloudHSMV2) ListTags(input *ListTagsInput) (*ListTagsOutput, error) {
@@ -1324,6 +1336,8 @@ func (c *CloudHSMV2) TagResourceRequest(input *TagResourceInput) (req *request.R
// The request was rejected because an error occurred.
//
// * CloudHsmTagException
+// The request was rejected because of a tagging failure. Verify the tag conditions
+// in all applicable policies, and then retry the request.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/TagResource
func (c *CloudHSMV2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
@@ -1420,6 +1434,8 @@ func (c *CloudHSMV2) UntagResourceRequest(input *UntagResourceInput) (req *reque
// The request was rejected because an error occurred.
//
// * CloudHsmTagException
+// The request was rejected because of a tagging failure. Verify the tag conditions
+// in all applicable policies, and then retry the request.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/UntagResource
func (c *CloudHSMV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
@@ -1476,13 +1492,14 @@ type Backup struct {
SourceBackup *string `type:"string"`
// The identifier (ID) of the cluster containing the source backup from which
- // the new backup was copied. .
+ // the new backup was copied.
SourceCluster *string `type:"string"`
- // The AWS region that contains the source backup from which the new backup
+ // The AWS Region that contains the source backup from which the new backup
// was copied.
SourceRegion *string `type:"string"`
+ // The list of tags for the backup.
TagList []*Tag `min:"1" type:"list"`
}
@@ -1900,6 +1917,8 @@ func (s *CloudHsmServiceException) RequestID() string {
return s.RespMetadata.RequestID
}
+// The request was rejected because of a tagging failure. Verify the tag conditions
+// in all applicable policies, and then retry the request.
type CloudHsmTagException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
@@ -1997,6 +2016,7 @@ type Cluster struct {
// zone.
SubnetMapping map[string]*string `type:"map"`
+ // The list of tags for the cluster.
TagList []*Tag `min:"1" type:"list"`
// The identifier (ID) of the virtual private cloud (VPC) that contains the
@@ -2111,6 +2131,10 @@ type CopyBackupToRegionInput struct {
// DestinationRegion is a required field
DestinationRegion *string `type:"string" required:"true"`
+ // Tags to apply to the destination backup during creation. If you specify tags,
+ // only these tags will be applied to the destination backup. If you do not
+ // specify tags, the service copies tags from the source backup to the destination
+ // backup.
TagList []*Tag `min:"1" type:"list"`
}
@@ -2226,6 +2250,7 @@ type CreateClusterInput struct {
// SubnetIds is a required field
SubnetIds []*string `min:"1" type:"list" required:"true"`
+ // Tags to apply to the CloudHSM cluster during creation.
TagList []*Tag `min:"1" type:"list"`
}
diff --git a/service/cloudhsmv2/errors.go b/service/cloudhsmv2/errors.go
index a99c421f3f4..9f72ea42eaf 100644
--- a/service/cloudhsmv2/errors.go
+++ b/service/cloudhsmv2/errors.go
@@ -42,6 +42,9 @@ const (
// ErrCodeCloudHsmTagException for service response error code
// "CloudHsmTagException".
+ //
+ // The request was rejected because of a tagging failure. Verify the tag conditions
+ // in all applicable policies, and then retry the request.
ErrCodeCloudHsmTagException = "CloudHsmTagException"
)
diff --git a/service/cloudwatchevents/api.go b/service/cloudwatchevents/api.go
index 2069fda2168..afcd2604448 100644
--- a/service/cloudwatchevents/api.go
+++ b/service/cloudwatchevents/api.go
@@ -81,6 +81,9 @@ func (c *CloudWatchEvents) ActivateEventSourceRequest(input *ActivateEventSource
// * InternalException
// This exception occurs due to unexpected causes.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ActivateEventSource
func (c *CloudWatchEvents) ActivateEventSource(input *ActivateEventSourceInput) (*ActivateEventSourceOutput, error) {
req, out := c.ActivateEventSourceRequest(input)
@@ -178,6 +181,9 @@ func (c *CloudWatchEvents) CreateEventBusRequest(input *CreateEventBusInput) (re
// * LimitExceededException
// You tried to create more rules or add more targets to a rule than is allowed.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CreateEventBus
func (c *CloudWatchEvents) CreateEventBus(input *CreateEventBusInput) (*CreateEventBusOutput, error) {
req, out := c.CreateEventBusRequest(input)
@@ -290,6 +296,9 @@ func (c *CloudWatchEvents) CreatePartnerEventSourceRequest(input *CreatePartnerE
// * LimitExceededException
// You tried to create more rules or add more targets to a rule than is allowed.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CreatePartnerEventSource
func (c *CloudWatchEvents) CreatePartnerEventSource(input *CreatePartnerEventSourceInput) (*CreatePartnerEventSourceOutput, error) {
req, out := c.CreatePartnerEventSourceRequest(input)
@@ -385,6 +394,9 @@ func (c *CloudWatchEvents) DeactivateEventSourceRequest(input *DeactivateEventSo
// * InternalException
// This exception occurs due to unexpected causes.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeactivateEventSource
func (c *CloudWatchEvents) DeactivateEventSource(input *DeactivateEventSourceInput) (*DeactivateEventSourceOutput, error) {
req, out := c.DeactivateEventSourceRequest(input)
@@ -557,6 +569,9 @@ func (c *CloudWatchEvents) DeletePartnerEventSourceRequest(input *DeletePartnerE
// * ConcurrentModificationException
// There is concurrent modification on a rule or target.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeletePartnerEventSource
func (c *CloudWatchEvents) DeletePartnerEventSource(input *DeletePartnerEventSourceInput) (*DeletePartnerEventSourceOutput, error) {
req, out := c.DeletePartnerEventSourceRequest(input)
@@ -835,6 +850,9 @@ func (c *CloudWatchEvents) DescribeEventSourceRequest(input *DescribeEventSource
// * InternalException
// This exception occurs due to unexpected causes.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribeEventSource
func (c *CloudWatchEvents) DescribeEventSource(input *DescribeEventSourceInput) (*DescribeEventSourceOutput, error) {
req, out := c.DescribeEventSourceRequest(input)
@@ -920,6 +938,9 @@ func (c *CloudWatchEvents) DescribePartnerEventSourceRequest(input *DescribePart
// * InternalException
// This exception occurs due to unexpected causes.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribePartnerEventSource
func (c *CloudWatchEvents) DescribePartnerEventSource(input *DescribePartnerEventSourceInput) (*DescribePartnerEventSourceOutput, error) {
req, out := c.DescribePartnerEventSourceRequest(input)
@@ -1362,6 +1383,9 @@ func (c *CloudWatchEvents) ListEventSourcesRequest(input *ListEventSourcesInput)
// * InternalException
// This exception occurs due to unexpected causes.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListEventSources
func (c *CloudWatchEvents) ListEventSources(input *ListEventSourcesInput) (*ListEventSourcesOutput, error) {
req, out := c.ListEventSourcesRequest(input)
@@ -1446,6 +1470,9 @@ func (c *CloudWatchEvents) ListPartnerEventSourceAccountsRequest(input *ListPart
// * InternalException
// This exception occurs due to unexpected causes.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListPartnerEventSourceAccounts
func (c *CloudWatchEvents) ListPartnerEventSourceAccounts(input *ListPartnerEventSourceAccountsInput) (*ListPartnerEventSourceAccountsOutput, error) {
req, out := c.ListPartnerEventSourceAccountsRequest(input)
@@ -1526,6 +1553,9 @@ func (c *CloudWatchEvents) ListPartnerEventSourcesRequest(input *ListPartnerEven
// * InternalException
// This exception occurs due to unexpected causes.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListPartnerEventSources
func (c *CloudWatchEvents) ListPartnerEventSources(input *ListPartnerEventSourcesInput) (*ListPartnerEventSourcesOutput, error) {
req, out := c.ListPartnerEventSourcesRequest(input)
@@ -2020,6 +2050,9 @@ func (c *CloudWatchEvents) PutPartnerEventsRequest(input *PutPartnerEventsInput)
// * InternalException
// This exception occurs due to unexpected causes.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/PutPartnerEvents
func (c *CloudWatchEvents) PutPartnerEvents(input *PutPartnerEventsInput) (*PutPartnerEventsOutput, error) {
req, out := c.PutPartnerEventsRequest(input)
@@ -2088,8 +2121,9 @@ func (c *CloudWatchEvents) PutPermissionRequest(input *PutPermissionInput) (req
// PutPermission API operation for Amazon CloudWatch Events.
//
// Running PutPermission permits the specified AWS account or AWS organization
-// to put events to the specified event bus. CloudWatch Events rules in your
-// account are triggered by these events arriving to an event bus in your account.
+// to put events to the specified event bus. Amazon EventBridge (CloudWatch
+// Events) rules in your account are triggered by these events arriving to an
+// event bus in your account.
//
// For another account to send events to your account, that external account
// must have an EventBridge rule with your account's event bus as a target.
@@ -2383,6 +2417,8 @@ func (c *CloudWatchEvents) PutTargetsRequest(input *PutTargetsInput) (req *reque
//
// * The default event bus of another AWS account
//
+// * Amazon API Gateway REST APIs
+//
// Creating rules with built-in targets is supported only in the AWS Management
// Console. The built-in targets are EC2 CreateSnapshot API call, EC2 RebootInstances
// API call, EC2 StopInstances API call, and EC2 TerminateInstances API call.
@@ -2393,12 +2429,13 @@ func (c *CloudWatchEvents) PutTargetsRequest(input *PutTargetsInput) (req *reque
// on multiple EC2 instances with one rule, you can use the RunCommandParameters
// field.
//
-// To be able to make API calls against the resources that you own, Amazon CloudWatch
-// Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources,
-// EventBridge relies on resource-based policies. For EC2 instances, Kinesis
-// data streams, and AWS Step Functions state machines, EventBridge relies on
-// IAM roles that you specify in the RoleARN argument in PutTargets. For more
-// information, see Authentication and Access Control (https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html)
+// To be able to make API calls against the resources that you own, Amazon EventBridge
+// (CloudWatch Events) needs the appropriate permissions. For AWS Lambda and
+// Amazon SNS resources, EventBridge relies on resource-based policies. For
+// EC2 instances, Kinesis data streams, AWS Step Functions state machines and
+// API Gateway REST APIs, EventBridge relies on IAM roles that you specify in
+// the RoleARN argument in PutTargets. For more information, see Authentication
+// and Access Control (https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html)
// in the Amazon EventBridge User Guide.
//
// If another AWS account is in the same region and has granted you permission
@@ -2408,7 +2445,8 @@ func (c *CloudWatchEvents) PutTargetsRequest(input *PutTargetsInput) (req *reque
// you run PutTargets. If your account sends events to another account, your
// account is charged for each sent event. Each event sent to another account
// is charged as a custom event. The account receiving the event is not charged.
-// For more information, see Amazon CloudWatch Pricing (https://aws.amazon.com/cloudwatch/pricing/).
+// For more information, see Amazon EventBridge (CloudWatch Events) Pricing
+// (https://aws.amazon.com/eventbridge/pricing/).
//
// Input, InputPath, and InputTransformer are not available with PutTarget if
// the target is an event bus of a different AWS account.
@@ -2936,8 +2974,8 @@ func (c *CloudWatchEvents) UntagResourceRequest(input *UntagResourceInput) (req
// UntagResource API operation for Amazon CloudWatch Events.
//
-// Removes one or more tags from the specified EventBridge resource. In CloudWatch
-// Events, rules and event buses can be tagged.
+// Removes one or more tags from the specified EventBridge resource. In Amazon
+// EventBridge (CloudWatch Events, rules and event buses can be tagged.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -4611,6 +4649,52 @@ func (s *EventSource) SetState(v string) *EventSource {
return s
}
+// These are custom parameter to be used when the target is an API Gateway REST
+// APIs.
+type HttpParameters struct {
+ _ struct{} `type:"structure"`
+
+ // The headers that need to be sent as part of request invoking the API Gateway
+ // REST API.
+ HeaderParameters map[string]*string `type:"map"`
+
+ // The path parameter values to be used to populate API Gateway REST API path
+ // wildcards ("*").
+ PathParameterValues []*string `type:"list"`
+
+ // The query string keys/values that need to be sent as part of request invoking
+ // the API Gateway REST API.
+ QueryStringParameters map[string]*string `type:"map"`
+}
+
+// String returns the string representation
+func (s HttpParameters) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s HttpParameters) GoString() string {
+ return s.String()
+}
+
+// SetHeaderParameters sets the HeaderParameters field's value.
+func (s *HttpParameters) SetHeaderParameters(v map[string]*string) *HttpParameters {
+ s.HeaderParameters = v
+ return s
+}
+
+// SetPathParameterValues sets the PathParameterValues field's value.
+func (s *HttpParameters) SetPathParameterValues(v []*string) *HttpParameters {
+ s.PathParameterValues = v
+ return s
+}
+
+// SetQueryStringParameters sets the QueryStringParameters field's value.
+func (s *HttpParameters) SetQueryStringParameters(v map[string]*string) *HttpParameters {
+ s.QueryStringParameters = v
+ return s
+}
+
// Contains the parameters needed for you to provide custom input to a target
// based on one or more pieces of data extracted from the event.
type InputTransformer struct {
@@ -5863,6 +5947,62 @@ func (s *NetworkConfiguration) SetAwsvpcConfiguration(v *AwsVpcConfiguration) *N
return s
}
+// The operation you are attempting is not available in this region.
+type OperationDisabledException struct {
+ _ struct{} `type:"structure"`
+ RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+
+ Message_ *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s OperationDisabledException) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s OperationDisabledException) GoString() string {
+ return s.String()
+}
+
+func newErrorOperationDisabledException(v protocol.ResponseMetadata) error {
+ return &OperationDisabledException{
+ RespMetadata: v,
+ }
+}
+
+// Code returns the exception type name.
+func (s *OperationDisabledException) Code() string {
+ return "OperationDisabledException"
+}
+
+// Message returns the exception's message.
+func (s *OperationDisabledException) Message() string {
+ if s.Message_ != nil {
+ return *s.Message_
+ }
+ return ""
+}
+
+// OrigErr always returns nil, satisfies awserr.Error interface.
+func (s *OperationDisabledException) OrigErr() error {
+ return nil
+}
+
+func (s *OperationDisabledException) Error() string {
+ return fmt.Sprintf("%s: %s", s.Code(), s.Message())
+}
+
+// Status code returns the HTTP status code for the request's response error.
+func (s *OperationDisabledException) StatusCode() int {
+ return s.RespMetadata.StatusCode
+}
+
+// RequestID returns the service's response RequestID for request.
+func (s *OperationDisabledException) RequestID() string {
+ return s.RespMetadata.RequestID
+}
+
// A partner event source is created by an SaaS partner. If a customer creates
// a partner event bus that matches this event source, that AWS account can
// receive events from the partner's applications or services.
@@ -7611,6 +7751,14 @@ type Target struct {
// in the Amazon EC2 Container Service Developer Guide.
EcsParameters *EcsParameters `type:"structure"`
+ // Contains the HTTP parameters to use when the target is a API Gateway REST
+ // endpoint.
+ //
+ // If you specify an API Gateway REST API as a target, you can use this parameter
+ // to specify headers, path parameter, query string keys/values as part of your
+ // target invoking request.
+ HttpParameters *HttpParameters `type:"structure"`
+
// The ID of the target.
//
// Id is a required field
@@ -7729,6 +7877,12 @@ func (s *Target) SetEcsParameters(v *EcsParameters) *Target {
return s
}
+// SetHttpParameters sets the HttpParameters field's value.
+func (s *Target) SetHttpParameters(v *HttpParameters) *Target {
+ s.HttpParameters = v
+ return s
+}
+
// SetId sets the Id field's value.
func (s *Target) SetId(v string) *Target {
s.Id = &v
diff --git a/service/cloudwatchevents/errors.go b/service/cloudwatchevents/errors.go
index 059007e401b..9de2a8c22a6 100644
--- a/service/cloudwatchevents/errors.go
+++ b/service/cloudwatchevents/errors.go
@@ -49,6 +49,12 @@ const (
// or UntagResource.
ErrCodeManagedRuleException = "ManagedRuleException"
+ // ErrCodeOperationDisabledException for service response error code
+ // "OperationDisabledException".
+ //
+ // The operation you are attempting is not available in this region.
+ ErrCodeOperationDisabledException = "OperationDisabledException"
+
// ErrCodePolicyLengthExceededException for service response error code
// "PolicyLengthExceededException".
//
@@ -75,6 +81,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{
"InvalidStateException": newErrorInvalidStateException,
"LimitExceededException": newErrorLimitExceededException,
"ManagedRuleException": newErrorManagedRuleException,
+ "OperationDisabledException": newErrorOperationDisabledException,
"PolicyLengthExceededException": newErrorPolicyLengthExceededException,
"ResourceAlreadyExistsException": newErrorResourceAlreadyExistsException,
"ResourceNotFoundException": newErrorResourceNotFoundException,
diff --git a/service/comprehend/api.go b/service/comprehend/api.go
index 83d02250757..129cf37abef 100644
--- a/service/comprehend/api.go
+++ b/service/comprehend/api.go
@@ -552,8 +552,8 @@ func (c *Comprehend) ClassifyDocumentRequest(input *ClassifyDocumentInput) (req
// The request is invalid.
//
// * ResourceUnavailableException
-// The specified resource is not available. Check to see if the resource is
-// in the TRAINED state and try your request again.
+// The specified resource is not available. Check the resource and try your
+// request again.
//
// * TextSizeLimitExceededException
// The size of the input text exceeds the limit. Use a smaller document.
@@ -628,7 +628,7 @@ func (c *Comprehend) CreateDocumentClassifierRequest(input *CreateDocumentClassi
// CreateDocumentClassifier API operation for Amazon Comprehend.
//
// Creates a new document classifier that you can use to categorize documents.
-// To create a classifier you provide a set of training documents that labeled
+// To create a classifier, you provide a set of training documents that labeled
// with the categories that you want to use. After the classifier is trained
// you can use it to categorize a set of labeled documents into the categories.
// For more information, see how-document-classification.
@@ -645,8 +645,8 @@ func (c *Comprehend) CreateDocumentClassifierRequest(input *CreateDocumentClassi
// The request is invalid.
//
// * ResourceInUseException
-// The specified name is already in use. Use a different name and try your request
-// again.
+// The specified resource name is already in use. Use a different name and try
+// your request again.
//
// * TooManyTagsException
// The request contains more tags than can be associated with a resource (50
@@ -657,8 +657,8 @@ func (c *Comprehend) CreateDocumentClassifierRequest(input *CreateDocumentClassi
// The number of requests exceeds the limit. Resubmit your request later.
//
// * ResourceLimitExceededException
-// The maximum number of recognizers per account has been exceeded. Review the
-// recognizers, perform cleanup, and then try your request again.
+// The maximum number of resources per account has been exceeded. Review the
+// resources, and then try your request again.
//
// * UnsupportedLanguageException
// Amazon Comprehend can't process the language of the input text. For all custom
@@ -755,20 +755,20 @@ func (c *Comprehend) CreateEndpointRequest(input *CreateEndpointInput) (req *req
// The request is invalid.
//
// * ResourceInUseException
-// The specified name is already in use. Use a different name and try your request
-// again.
+// The specified resource name is already in use. Use a different name and try
+// your request again.
//
// * ResourceLimitExceededException
-// The maximum number of recognizers per account has been exceeded. Review the
-// recognizers, perform cleanup, and then try your request again.
+// The maximum number of resources per account has been exceeded. Review the
+// resources, and then try your request again.
//
// * ResourceNotFoundException
// The specified resource ARN was not found. Check the ARN and try your request
// again.
//
// * ResourceUnavailableException
-// The specified resource is not available. Check to see if the resource is
-// in the TRAINED state and try your request again.
+// The specified resource is not available. Check the resource and try your
+// request again.
//
// * TooManyRequestsException
// The number of requests exceeds the limit. Resubmit your request later.
@@ -862,8 +862,8 @@ func (c *Comprehend) CreateEntityRecognizerRequest(input *CreateEntityRecognizer
// The request is invalid.
//
// * ResourceInUseException
-// The specified name is already in use. Use a different name and try your request
-// again.
+// The specified resource name is already in use. Use a different name and try
+// your request again.
//
// * TooManyTagsException
// The request contains more tags than can be associated with a resource (50
@@ -874,8 +874,8 @@ func (c *Comprehend) CreateEntityRecognizerRequest(input *CreateEntityRecognizer
// The number of requests exceeds the limit. Resubmit your request later.
//
// * ResourceLimitExceededException
-// The maximum number of recognizers per account has been exceeded. Review the
-// recognizers, perform cleanup, and then try your request again.
+// The maximum number of resources per account has been exceeded. Review the
+// resources, and then try your request again.
//
// * UnsupportedLanguageException
// Amazon Comprehend can't process the language of the input text. For all custom
@@ -987,12 +987,12 @@ func (c *Comprehend) DeleteDocumentClassifierRequest(input *DeleteDocumentClassi
// again.
//
// * ResourceUnavailableException
-// The specified resource is not available. Check to see if the resource is
-// in the TRAINED state and try your request again.
+// The specified resource is not available. Check the resource and try your
+// request again.
//
// * ResourceInUseException
-// The specified name is already in use. Use a different name and try your request
-// again.
+// The specified resource name is already in use. Use a different name and try
+// your request again.
//
// * InternalServerException
// An internal server error occurred. Retry your request.
@@ -1079,8 +1079,8 @@ func (c *Comprehend) DeleteEndpointRequest(input *DeleteEndpointInput) (req *req
// The request is invalid.
//
// * ResourceInUseException
-// The specified name is already in use. Use a different name and try your request
-// again.
+// The specified resource name is already in use. Use a different name and try
+// your request again.
//
// * ResourceNotFoundException
// The specified resource ARN was not found. Check the ARN and try your request
@@ -1188,12 +1188,12 @@ func (c *Comprehend) DeleteEntityRecognizerRequest(input *DeleteEntityRecognizer
// again.
//
// * ResourceUnavailableException
-// The specified resource is not available. Check to see if the resource is
-// in the TRAINED state and try your request again.
+// The specified resource is not available. Check the resource and try your
+// request again.
//
// * ResourceInUseException
-// The specified name is already in use. Use a different name and try your request
-// again.
+// The specified resource name is already in use. Use a different name and try
+// your request again.
//
// * InternalServerException
// An internal server error occurred. Retry your request.
@@ -2168,6 +2168,10 @@ func (c *Comprehend) DetectEntitiesRequest(input *DetectEntitiesInput) (req *req
// * InvalidRequestException
// The request is invalid.
//
+// * ResourceUnavailableException
+// The specified resource is not available. Check the resource and try your
+// request again.
+//
// * TextSizeLimitExceededException
// The size of the input text exceeds the limit. Use a smaller document.
//
@@ -3893,8 +3897,8 @@ func (c *Comprehend) StartDocumentClassificationJobRequest(input *StartDocumentC
// again.
//
// * ResourceUnavailableException
-// The specified resource is not available. Check to see if the resource is
-// in the TRAINED state and try your request again.
+// The specified resource is not available. Check the resource and try your
+// request again.
//
// * KmsKeyValidationException
// The KMS customer managed key (CMK) entered cannot be validated. Verify the
@@ -4086,8 +4090,8 @@ func (c *Comprehend) StartEntitiesDetectionJobRequest(input *StartEntitiesDetect
// again.
//
// * ResourceUnavailableException
-// The specified resource is not available. Check to see if the resource is
-// in the TRAINED state and try your request again.
+// The specified resource is not available. Check the resource and try your
+// request again.
//
// * KmsKeyValidationException
// The KMS customer managed key (CMK) entered cannot be validated. Verify the
@@ -5220,20 +5224,20 @@ func (c *Comprehend) UpdateEndpointRequest(input *UpdateEndpointInput) (req *req
// The number of requests exceeds the limit. Resubmit your request later.
//
// * ResourceInUseException
-// The specified name is already in use. Use a different name and try your request
-// again.
+// The specified resource name is already in use. Use a different name and try
+// your request again.
//
// * ResourceLimitExceededException
-// The maximum number of recognizers per account has been exceeded. Review the
-// recognizers, perform cleanup, and then try your request again.
+// The maximum number of resources per account has been exceeded. Review the
+// resources, and then try your request again.
//
// * ResourceNotFoundException
// The specified resource ARN was not found. Check the ARN and try your request
// again.
//
// * ResourceUnavailableException
-// The specified resource is not available. Check to see if the resource is
-// in the TRAINED state and try your request again.
+// The specified resource is not available. Check the resource and try your
+// request again.
//
// * InternalServerException
// An internal server error occurred. Retry your request.
@@ -5268,7 +5272,7 @@ type BatchDetectDominantLanguageInput struct {
// and must contain fewer than 5,000 bytes of UTF-8 encoded characters.
//
// TextList is a required field
- TextList []*string `type:"list" required:"true"`
+ TextList []*string `type:"list" required:"true" sensitive:"true"`
}
// String returns the string representation
@@ -5336,7 +5340,7 @@ func (s *BatchDetectDominantLanguageItemResult) SetLanguages(v []*DominantLangua
}
type BatchDetectDominantLanguageOutput struct {
- _ struct{} `type:"structure"`
+ _ struct{} `type:"structure" sensitive:"true"`
// A list containing one object for each document that contained an error. The
// results are sorted in ascending order by the Index field and match the order
@@ -5391,7 +5395,7 @@ type BatchDetectEntitiesInput struct {
// of UTF-8 encoded characters.
//
// TextList is a required field
- TextList []*string `type:"list" required:"true"`
+ TextList []*string `type:"list" required:"true" sensitive:"true"`
}
// String returns the string representation
@@ -5467,7 +5471,7 @@ func (s *BatchDetectEntitiesItemResult) SetIndex(v int64) *BatchDetectEntitiesIt
}
type BatchDetectEntitiesOutput struct {
- _ struct{} `type:"structure"`
+ _ struct{} `type:"structure" sensitive:"true"`
// A list containing one object for each document that contained an error. The
// results are sorted in ascending order by the Index field and match the order
@@ -5522,7 +5526,7 @@ type BatchDetectKeyPhrasesInput struct {
// of UTF-8 encoded characters.
//
// TextList is a required field
- TextList []*string `type:"list" required:"true"`
+ TextList []*string `type:"list" required:"true" sensitive:"true"`
}
// String returns the string representation
@@ -5598,7 +5602,7 @@ func (s *BatchDetectKeyPhrasesItemResult) SetKeyPhrases(v []*KeyPhrase) *BatchDe
}
type BatchDetectKeyPhrasesOutput struct {
- _ struct{} `type:"structure"`
+ _ struct{} `type:"structure" sensitive:"true"`
// A list containing one object for each document that contained an error. The
// results are sorted in ascending order by the Index field and match the order
@@ -5653,7 +5657,7 @@ type BatchDetectSentimentInput struct {
// of UTF-8 encoded characters.
//
// TextList is a required field
- TextList []*string `type:"list" required:"true"`
+ TextList []*string `type:"list" required:"true" sensitive:"true"`
}
// String returns the string representation
@@ -5739,7 +5743,7 @@ func (s *BatchDetectSentimentItemResult) SetSentimentScore(v *SentimentScore) *B
}
type BatchDetectSentimentOutput struct {
- _ struct{} `type:"structure"`
+ _ struct{} `type:"structure" sensitive:"true"`
// A list containing one object for each document that contained an error. The
// results are sorted in ascending order by the Index field and match the order
@@ -5796,7 +5800,7 @@ type BatchDetectSyntaxInput struct {
// of UTF-8 encoded characters.
//
// TextList is a required field
- TextList []*string `type:"list" required:"true"`
+ TextList []*string `type:"list" required:"true" sensitive:"true"`
}
// String returns the string representation
@@ -5872,7 +5876,7 @@ func (s *BatchDetectSyntaxItemResult) SetSyntaxTokens(v []*SyntaxToken) *BatchDe
}
type BatchDetectSyntaxOutput struct {
- _ struct{} `type:"structure"`
+ _ struct{} `type:"structure" sensitive:"true"`
// A list containing one object for each document that contained an error. The
// results are sorted in ascending order by the Index field and match the order
@@ -6126,7 +6130,7 @@ func (s *ClassifierEvaluationMetrics) SetRecall(v float64) *ClassifierEvaluation
// Provides information about a document classifier.
type ClassifierMetadata struct {
- _ struct{} `type:"structure"`
+ _ struct{} `type:"structure" sensitive:"true"`
// Describes the result metrics for the test data associated with an documentation
// classifier.
@@ -6136,7 +6140,7 @@ type ClassifierMetadata struct {
NumberOfLabels *int64 `type:"integer"`
// The number of documents in the input data that were used to test the classifier.
- // Typically this is 10 to 20 percent of the input documents.
+ // Typically this is 10 to 20 percent of the input documents, up to 10,000 documents.
NumberOfTestDocuments *int64 `type:"integer"`
// The number of documents in the input data that were used to train the classifier.
@@ -6189,7 +6193,7 @@ type ClassifyDocumentInput struct {
// The document text to be analyzed.
//
// Text is a required field
- Text *string `min:"1" type:"string" required:"true"`
+ Text *string `min:"1" type:"string" required:"true" sensitive:"true"`
}
// String returns the string representation
@@ -6234,7 +6238,7 @@ func (s *ClassifyDocumentInput) SetText(v string) *ClassifyDocumentInput {
}
type ClassifyDocumentOutput struct {
- _ struct{} `type:"structure"`
+ _ struct{} `type:"structure" sensitive:"true"`
// The classes used by the document being analyzed. These are used for multi-class
// trained models. Individual classes are mutually exclusive and each document
@@ -7590,7 +7594,7 @@ type DetectDominantLanguageInput struct {
// must contain fewer that 5,000 bytes of UTF-8 encoded characters.
//
// Text is a required field
- Text *string `min:"1" type:"string" required:"true"`
+ Text *string `min:"1" type:"string" required:"true" sensitive:"true"`
}
// String returns the string representation
@@ -7626,7 +7630,7 @@ func (s *DetectDominantLanguageInput) SetText(v string) *DetectDominantLanguageI
}
type DetectDominantLanguageOutput struct {
- _ struct{} `type:"structure"`
+ _ struct{} `type:"structure" sensitive:"true"`
// The languages that Amazon Comprehend detected in the input text. For each
// language, the response returns the RFC 5646 language code and the level of
@@ -7655,17 +7659,28 @@ func (s *DetectDominantLanguageOutput) SetLanguages(v []*DominantLanguage) *Dete
type DetectEntitiesInput struct {
_ struct{} `type:"structure"`
+ // The Amazon Resource Name of an endpoint that is associated with a custom
+ // entity recognition model. Provide an endpoint if you want to detect entities
+ // by using your own custom model instead of the default model that is used
+ // by Amazon Comprehend.
+ //
+ // If you specify an endpoint, Amazon Comprehend uses the language of your custom
+ // model, and it ignores any language code that you provide in your request.
+ EndpointArn *string `type:"string"`
+
// The language of the input documents. You can specify any of the primary languages
// supported by Amazon Comprehend. All documents must be in the same language.
//
- // LanguageCode is a required field
- LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"`
+ // If your request includes the endpoint for a custom entity recognition model,
+ // Amazon Comprehend uses the language of your custom model, and it ignores
+ // any language code that you specify here.
+ LanguageCode *string `type:"string" enum:"LanguageCode"`
// A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8
// encoded characters.
//
// Text is a required field
- Text *string `min:"1" type:"string" required:"true"`
+ Text *string `min:"1" type:"string" required:"true" sensitive:"true"`
}
// String returns the string representation
@@ -7681,9 +7696,6 @@ func (s DetectEntitiesInput) GoString() string {
// Validate inspects the fields of the type to determine if they are valid.
func (s *DetectEntitiesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DetectEntitiesInput"}
- if s.LanguageCode == nil {
- invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
- }
if s.Text == nil {
invalidParams.Add(request.NewErrParamRequired("Text"))
}
@@ -7697,6 +7709,12 @@ func (s *DetectEntitiesInput) Validate() error {
return nil
}
+// SetEndpointArn sets the EndpointArn field's value.
+func (s *DetectEntitiesInput) SetEndpointArn(v string) *DetectEntitiesInput {
+ s.EndpointArn = &v
+ return s
+}
+
// SetLanguageCode sets the LanguageCode field's value.
func (s *DetectEntitiesInput) SetLanguageCode(v string) *DetectEntitiesInput {
s.LanguageCode = &v
@@ -7710,12 +7728,16 @@ func (s *DetectEntitiesInput) SetText(v string) *DetectEntitiesInput {
}
type DetectEntitiesOutput struct {
- _ struct{} `type:"structure"`
+ _ struct{} `type:"structure" sensitive:"true"`
// A collection of entities identified in the input text. For each entity, the
// response provides the entity text, entity type, where the entity text begins
// and ends, and the level of confidence that Amazon Comprehend has in the detection.
- // For a list of entity types, see how-entities.
+ //
+ // If your request uses a custom entity recognition model, Amazon Comprehend
+ // detects the entities that the model is trained to recognize. Otherwise, it
+ // detects the default entity types. For a list of default entity types, see
+ // how-entities.
Entities []*Entity `type:"list"`
}
@@ -7748,7 +7770,7 @@ type DetectKeyPhrasesInput struct {
// encoded characters.
//
// Text is a required field
- Text *string `min:"1" type:"string" required:"true"`
+ Text *string `min:"1" type:"string" required:"true" sensitive:"true"`
}
// String returns the string representation
@@ -7793,7 +7815,7 @@ func (s *DetectKeyPhrasesInput) SetText(v string) *DetectKeyPhrasesInput {
}
type DetectKeyPhrasesOutput struct {
- _ struct{} `type:"structure"`
+ _ struct{} `type:"structure" sensitive:"true"`
// A collection of key phrases that Amazon Comprehend identified in the input
// text. For each key phrase, the response provides the text of the key phrase,
@@ -7831,7 +7853,7 @@ type DetectSentimentInput struct {
// encoded characters.
//
// Text is a required field
- Text *string `min:"1" type:"string" required:"true"`
+ Text *string `min:"1" type:"string" required:"true" sensitive:"true"`
}
// String returns the string representation
@@ -7876,7 +7898,7 @@ func (s *DetectSentimentInput) SetText(v string) *DetectSentimentInput {
}
type DetectSentimentOutput struct {
- _ struct{} `type:"structure"`
+ _ struct{} `type:"structure" sensitive:"true"`
// The inferred sentiment that Amazon Comprehend has the highest level of confidence
// in.
@@ -7922,7 +7944,7 @@ type DetectSyntaxInput struct {
// characters.
//
// Text is a required field
- Text *string `min:"1" type:"string" required:"true"`
+ Text *string `min:"1" type:"string" required:"true" sensitive:"true"`
}
// String returns the string representation
@@ -7967,7 +7989,7 @@ func (s *DetectSyntaxInput) SetText(v string) *DetectSyntaxInput {
}
type DetectSyntaxOutput struct {
- _ struct{} `type:"structure"`
+ _ struct{} `type:"structure" sensitive:"true"`
// A collection of syntax tokens describing the text. For each token, the response
// provides the text, the token type, where the text begins and ends, and the
@@ -8039,12 +8061,12 @@ type DocumentClassificationJobFilter struct {
JobStatus *string `type:"string" enum:"JobStatus"`
// Filters the list of jobs based on the time that the job was submitted for
- // processing. Returns only jobs submitted before the specified time. Jobs are
+ // processing. Returns only jobs submitted after the specified time. Jobs are
// returned in descending order, newest to oldest.
SubmitTimeAfter *time.Time `type:"timestamp"`
// Filters the list of jobs based on the time that the job was submitted for
- // processing. Returns only jobs submitted after the specified time. Jobs are
+ // processing. Returns only jobs submitted before the specified time. Jobs are
// returned in ascending order, oldest to newest.
SubmitTimeBefore *time.Time `type:"timestamp"`
}
@@ -8403,7 +8425,7 @@ type DocumentClassifierProperties struct {
// Information about the document classifier, including the number of documents
// used for training the classifier, the number of documents used for test the
// classifier, and an accuracy rating.
- ClassifierMetadata *ClassifierMetadata `type:"structure"`
+ ClassifierMetadata *ClassifierMetadata `type:"structure" sensitive:"true"`
// The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role
// that grants Amazon Comprehend read access to your input data.
@@ -9580,7 +9602,7 @@ func (s *EntityRecognizerInputDataConfig) SetEntityTypes(v []*EntityTypesListIte
// Detailed information about an entity recognizer.
type EntityRecognizerMetadata struct {
- _ struct{} `type:"structure"`
+ _ struct{} `type:"structure" sensitive:"true"`
// Entity types from the metadata of an entity recognizer.
EntityTypes []*EntityRecognizerMetadataEntityTypesListItem `type:"list"`
@@ -9702,7 +9724,7 @@ type EntityRecognizerProperties struct {
Message *string `type:"string"`
// Provides information about an entity recognizer.
- RecognizerMetadata *EntityRecognizerMetadata `type:"structure"`
+ RecognizerMetadata *EntityRecognizerMetadata `type:"structure" sensitive:"true"`
// Provides the status of the entity recognizer.
Status *string `type:"string" enum:"ModelStatus"`
@@ -11545,8 +11567,8 @@ func (s *PartOfSpeechTag) SetTag(v string) *PartOfSpeechTag {
return s
}
-// The specified name is already in use. Use a different name and try your request
-// again.
+// The specified resource name is already in use. Use a different name and try
+// your request again.
type ResourceInUseException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
@@ -11602,8 +11624,8 @@ func (s *ResourceInUseException) RequestID() string {
return s.RespMetadata.RequestID
}
-// The maximum number of recognizers per account has been exceeded. Review the
-// recognizers, perform cleanup, and then try your request again.
+// The maximum number of resources per account has been exceeded. Review the
+// resources, and then try your request again.
type ResourceLimitExceededException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
@@ -11716,8 +11738,8 @@ func (s *ResourceNotFoundException) RequestID() string {
return s.RespMetadata.RequestID
}
-// The specified resource is not available. Check to see if the resource is
-// in the TRAINED state and try your request again.
+// The specified resource is not available. Check the resource and try your
+// request again.
type ResourceUnavailableException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
diff --git a/service/comprehend/errors.go b/service/comprehend/errors.go
index b43b3c5c852..da2fd5c1812 100644
--- a/service/comprehend/errors.go
+++ b/service/comprehend/errors.go
@@ -56,15 +56,15 @@ const (
// ErrCodeResourceInUseException for service response error code
// "ResourceInUseException".
//
- // The specified name is already in use. Use a different name and try your request
- // again.
+ // The specified resource name is already in use. Use a different name and try
+ // your request again.
ErrCodeResourceInUseException = "ResourceInUseException"
// ErrCodeResourceLimitExceededException for service response error code
// "ResourceLimitExceededException".
//
- // The maximum number of recognizers per account has been exceeded. Review the
- // recognizers, perform cleanup, and then try your request again.
+ // The maximum number of resources per account has been exceeded. Review the
+ // resources, and then try your request again.
ErrCodeResourceLimitExceededException = "ResourceLimitExceededException"
// ErrCodeResourceNotFoundException for service response error code
@@ -77,8 +77,8 @@ const (
// ErrCodeResourceUnavailableException for service response error code
// "ResourceUnavailableException".
//
- // The specified resource is not available. Check to see if the resource is
- // in the TRAINED state and try your request again.
+ // The specified resource is not available. Check the resource and try your
+ // request again.
ErrCodeResourceUnavailableException = "ResourceUnavailableException"
// ErrCodeTextSizeLimitExceededException for service response error code
diff --git a/service/ebs/api.go b/service/ebs/api.go
index 6176cb30f3b..a709cd59b08 100644
--- a/service/ebs/api.go
+++ b/service/ebs/api.go
@@ -10,9 +10,107 @@ import (
"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/aws/signer/v4"
"github.com/aws/aws-sdk-go/private/protocol"
)
+const opCompleteSnapshot = "CompleteSnapshot"
+
+// CompleteSnapshotRequest generates a "aws/request.Request" representing the
+// client's request for the CompleteSnapshot operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CompleteSnapshot for more information on using the CompleteSnapshot
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CompleteSnapshotRequest method.
+// req, resp := client.CompleteSnapshotRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/CompleteSnapshot
+func (c *EBS) CompleteSnapshotRequest(input *CompleteSnapshotInput) (req *request.Request, output *CompleteSnapshotOutput) {
+ op := &request.Operation{
+ Name: opCompleteSnapshot,
+ HTTPMethod: "POST",
+ HTTPPath: "/snapshots/completion/{snapshotId}",
+ }
+
+ if input == nil {
+ input = &CompleteSnapshotInput{}
+ }
+
+ output = &CompleteSnapshotOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CompleteSnapshot API operation for Amazon Elastic Block Store.
+//
+// Seals and completes the snapshot after all of the required blocks of data
+// have been written to it. Completing the snapshot changes the status to completed.
+// You cannot write new blocks to a snapshot after it has been completed.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Block Store's
+// API operation CompleteSnapshot for usage and error information.
+//
+// Returned Error Types:
+// * AccessDeniedException
+// You do not have sufficient access to perform this action.
+//
+// * ValidationException
+// The input fails to satisfy the constraints of the EBS direct APIs.
+//
+// * ResourceNotFoundException
+// The specified resource does not exist.
+//
+// * RequestThrottledException
+// The number of API requests has exceed the maximum allowed API request throttling
+// limit.
+//
+// * ServiceQuotaExceededException
+// Your current service quotas do not allow you to perform this action.
+//
+// * InternalServerException
+// An internal error has occurred.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/CompleteSnapshot
+func (c *EBS) CompleteSnapshot(input *CompleteSnapshotInput) (*CompleteSnapshotOutput, error) {
+ req, out := c.CompleteSnapshotRequest(input)
+ return out, req.Send()
+}
+
+// CompleteSnapshotWithContext is the same as CompleteSnapshot with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CompleteSnapshot for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EBS) CompleteSnapshotWithContext(ctx aws.Context, input *CompleteSnapshotInput, opts ...request.Option) (*CompleteSnapshotOutput, error) {
+ req, out := c.CompleteSnapshotRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opGetSnapshotBlock = "GetSnapshotBlock"
// GetSnapshotBlockRequest generates a "aws/request.Request" representing the
@@ -67,12 +165,25 @@ func (c *EBS) GetSnapshotBlockRequest(input *GetSnapshotBlockInput) (req *reques
// API operation GetSnapshotBlock for usage and error information.
//
// Returned Error Types:
+// * AccessDeniedException
+// You do not have sufficient access to perform this action.
+//
// * ValidationException
// The input fails to satisfy the constraints of the EBS direct APIs.
//
// * ResourceNotFoundException
// The specified resource does not exist.
//
+// * RequestThrottledException
+// The number of API requests has exceed the maximum allowed API request throttling
+// limit.
+//
+// * ServiceQuotaExceededException
+// Your current service quotas do not allow you to perform this action.
+//
+// * InternalServerException
+// An internal error has occurred.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/GetSnapshotBlock
func (c *EBS) GetSnapshotBlock(input *GetSnapshotBlockInput) (*GetSnapshotBlockOutput, error) {
req, out := c.GetSnapshotBlockRequest(input)
@@ -157,12 +268,25 @@ func (c *EBS) ListChangedBlocksRequest(input *ListChangedBlocksInput) (req *requ
// API operation ListChangedBlocks for usage and error information.
//
// Returned Error Types:
+// * AccessDeniedException
+// You do not have sufficient access to perform this action.
+//
// * ValidationException
// The input fails to satisfy the constraints of the EBS direct APIs.
//
// * ResourceNotFoundException
// The specified resource does not exist.
//
+// * RequestThrottledException
+// The number of API requests has exceed the maximum allowed API request throttling
+// limit.
+//
+// * ServiceQuotaExceededException
+// Your current service quotas do not allow you to perform this action.
+//
+// * InternalServerException
+// An internal error has occurred.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/ListChangedBlocks
func (c *EBS) ListChangedBlocks(input *ListChangedBlocksInput) (*ListChangedBlocksOutput, error) {
req, out := c.ListChangedBlocksRequest(input)
@@ -298,12 +422,25 @@ func (c *EBS) ListSnapshotBlocksRequest(input *ListSnapshotBlocksInput) (req *re
// API operation ListSnapshotBlocks for usage and error information.
//
// Returned Error Types:
+// * AccessDeniedException
+// You do not have sufficient access to perform this action.
+//
// * ValidationException
// The input fails to satisfy the constraints of the EBS direct APIs.
//
// * ResourceNotFoundException
// The specified resource does not exist.
//
+// * RequestThrottledException
+// The number of API requests has exceed the maximum allowed API request throttling
+// limit.
+//
+// * ServiceQuotaExceededException
+// Your current service quotas do not allow you to perform this action.
+//
+// * InternalServerException
+// An internal error has occurred.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/ListSnapshotBlocks
func (c *EBS) ListSnapshotBlocks(input *ListSnapshotBlocksInput) (*ListSnapshotBlocksOutput, error) {
req, out := c.ListSnapshotBlocksRequest(input)
@@ -378,6 +515,276 @@ func (c *EBS) ListSnapshotBlocksPagesWithContext(ctx aws.Context, input *ListSna
return p.Err()
}
+const opPutSnapshotBlock = "PutSnapshotBlock"
+
+// PutSnapshotBlockRequest generates a "aws/request.Request" representing the
+// client's request for the PutSnapshotBlock operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See PutSnapshotBlock for more information on using the PutSnapshotBlock
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the PutSnapshotBlockRequest method.
+// req, resp := client.PutSnapshotBlockRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/PutSnapshotBlock
+func (c *EBS) PutSnapshotBlockRequest(input *PutSnapshotBlockInput) (req *request.Request, output *PutSnapshotBlockOutput) {
+ op := &request.Operation{
+ Name: opPutSnapshotBlock,
+ HTTPMethod: "PUT",
+ HTTPPath: "/snapshots/{snapshotId}/blocks/{blockIndex}",
+ }
+
+ if input == nil {
+ input = &PutSnapshotBlockInput{}
+ }
+
+ output = &PutSnapshotBlockOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Sign.Remove(v4.SignRequestHandler)
+ handler := v4.BuildNamedHandler("v4.CustomSignerHandler", v4.WithUnsignedPayload)
+ req.Handlers.Sign.PushFrontNamed(handler)
+ return
+}
+
+// PutSnapshotBlock API operation for Amazon Elastic Block Store.
+//
+// Writes a block of data to a block in the snapshot. If the specified block
+// contains data, the existing data is overwritten. The target snapshot must
+// be in the pending state.
+//
+// Data written to a snapshot must be aligned with 512-byte sectors.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Block Store's
+// API operation PutSnapshotBlock for usage and error information.
+//
+// Returned Error Types:
+// * AccessDeniedException
+// You do not have sufficient access to perform this action.
+//
+// * ValidationException
+// The input fails to satisfy the constraints of the EBS direct APIs.
+//
+// * ResourceNotFoundException
+// The specified resource does not exist.
+//
+// * RequestThrottledException
+// The number of API requests has exceed the maximum allowed API request throttling
+// limit.
+//
+// * ServiceQuotaExceededException
+// Your current service quotas do not allow you to perform this action.
+//
+// * InternalServerException
+// An internal error has occurred.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/PutSnapshotBlock
+func (c *EBS) PutSnapshotBlock(input *PutSnapshotBlockInput) (*PutSnapshotBlockOutput, error) {
+ req, out := c.PutSnapshotBlockRequest(input)
+ return out, req.Send()
+}
+
+// PutSnapshotBlockWithContext is the same as PutSnapshotBlock with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutSnapshotBlock for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EBS) PutSnapshotBlockWithContext(ctx aws.Context, input *PutSnapshotBlockInput, opts ...request.Option) (*PutSnapshotBlockOutput, error) {
+ req, out := c.PutSnapshotBlockRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opStartSnapshot = "StartSnapshot"
+
+// StartSnapshotRequest generates a "aws/request.Request" representing the
+// client's request for the StartSnapshot operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See StartSnapshot for more information on using the StartSnapshot
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the StartSnapshotRequest method.
+// req, resp := client.StartSnapshotRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/StartSnapshot
+func (c *EBS) StartSnapshotRequest(input *StartSnapshotInput) (req *request.Request, output *StartSnapshotOutput) {
+ op := &request.Operation{
+ Name: opStartSnapshot,
+ HTTPMethod: "POST",
+ HTTPPath: "/snapshots",
+ }
+
+ if input == nil {
+ input = &StartSnapshotInput{}
+ }
+
+ output = &StartSnapshotOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// StartSnapshot API operation for Amazon Elastic Block Store.
+//
+// Creates a new Amazon EBS snapshot. The new snapshot enters the pending state
+// after the request completes.
+//
+// After creating the snapshot, use PutSnapshotBlock (https://docs.aws.amazon.com/ebs/latest/APIReference/API_PutSnapshotBlock.html)
+// to write blocks of data to the snapshot.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Block Store's
+// API operation StartSnapshot for usage and error information.
+//
+// Returned Error Types:
+// * AccessDeniedException
+// You do not have sufficient access to perform this action.
+//
+// * ValidationException
+// The input fails to satisfy the constraints of the EBS direct APIs.
+//
+// * RequestThrottledException
+// The number of API requests has exceed the maximum allowed API request throttling
+// limit.
+//
+// * ResourceNotFoundException
+// The specified resource does not exist.
+//
+// * ServiceQuotaExceededException
+// Your current service quotas do not allow you to perform this action.
+//
+// * InternalServerException
+// An internal error has occurred.
+//
+// * ConcurrentLimitExceededException
+// You have reached the limit for concurrent API requests. For more information,
+// see Optimizing performance of the EBS direct APIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapi-performance)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// * ConflictException
+// The request uses the same client token as a previous, but non-identical request.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/StartSnapshot
+func (c *EBS) StartSnapshot(input *StartSnapshotInput) (*StartSnapshotOutput, error) {
+ req, out := c.StartSnapshotRequest(input)
+ return out, req.Send()
+}
+
+// StartSnapshotWithContext is the same as StartSnapshot with the addition of
+// the ability to pass a context and additional request options.
+//
+// See StartSnapshot for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EBS) StartSnapshotWithContext(ctx aws.Context, input *StartSnapshotInput, opts ...request.Option) (*StartSnapshotOutput, error) {
+ req, out := c.StartSnapshotRequest(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"`
+
+ // The reason for the exception.
+ //
+ // Reason is a required field
+ Reason *string `type:"string" required:"true" enum:"AccessDeniedExceptionReason"`
+}
+
+// String returns the string representation
+func (s AccessDeniedException) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AccessDeniedException) GoString() string {
+ return s.String()
+}
+
+func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
+ return &AccessDeniedException{
+ RespMetadata: v,
+ }
+}
+
+// Code returns the exception type name.
+func (s *AccessDeniedException) Code() string {
+ return "AccessDeniedException"
+}
+
+// Message returns the exception's message.
+func (s *AccessDeniedException) Message() string {
+ if s.Message_ != nil {
+ return *s.Message_
+ }
+ return ""
+}
+
+// OrigErr always returns nil, satisfies awserr.Error interface.
+func (s *AccessDeniedException) OrigErr() error {
+ return nil
+}
+
+func (s *AccessDeniedException) Error() string {
+ return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
+}
+
+// Status code returns the HTTP status code for the request's response error.
+func (s *AccessDeniedException) StatusCode() int {
+ return s.RespMetadata.StatusCode
+}
+
+// RequestID returns the service's response RequestID for request.
+func (s *AccessDeniedException) RequestID() string {
+ return s.RespMetadata.RequestID
+}
+
// A block of data in an Amazon Elastic Block Store snapshot.
type Block struct {
_ struct{} `type:"structure"`
@@ -457,13 +864,240 @@ func (s *ChangedBlock) SetSecondBlockToken(v string) *ChangedBlock {
return s
}
-type GetSnapshotBlockInput struct {
+type CompleteSnapshotInput struct {
_ struct{} `type:"structure"`
- // The block index of the block from which to get data.
+ // The number of blocks that were written to the snapshot.
//
- // Obtain the BlockIndex by running the ListChangedBlocks or ListSnapshotBlocks
- // operations.
+ // ChangedBlocksCount is a required field
+ ChangedBlocksCount *int64 `location:"header" locationName:"x-amz-ChangedBlocksCount" type:"integer" required:"true"`
+
+ // An aggregated Base-64 SHA256 checksum based on the checksums of each written
+ // block.
+ //
+ // To generate the aggregated checksum using the linear aggregation method,
+ // arrange the checksums for each written block in ascending order of their
+ // block index, concatenate them to form a single string, and then generate
+ // the checksum on the entire string using the SHA256 algorithm.
+ Checksum *string `location:"header" locationName:"x-amz-Checksum" type:"string"`
+
+ // The aggregation method used to generate the checksum. Currently, the only
+ // supported aggregation method is LINEAR.
+ ChecksumAggregationMethod *string `location:"header" locationName:"x-amz-Checksum-Aggregation-Method" type:"string" enum:"ChecksumAggregationMethod"`
+
+ // The algorithm used to generate the checksum. Currently, the only supported
+ // algorithm is SHA256.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-Checksum-Algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
+ // The ID of the snapshot.
+ //
+ // SnapshotId is a required field
+ SnapshotId *string `location:"uri" locationName:"snapshotId" min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CompleteSnapshotInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CompleteSnapshotInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CompleteSnapshotInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CompleteSnapshotInput"}
+ if s.ChangedBlocksCount == nil {
+ invalidParams.Add(request.NewErrParamRequired("ChangedBlocksCount"))
+ }
+ if s.SnapshotId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
+ }
+ if s.SnapshotId != nil && len(*s.SnapshotId) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("SnapshotId", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetChangedBlocksCount sets the ChangedBlocksCount field's value.
+func (s *CompleteSnapshotInput) SetChangedBlocksCount(v int64) *CompleteSnapshotInput {
+ s.ChangedBlocksCount = &v
+ return s
+}
+
+// SetChecksum sets the Checksum field's value.
+func (s *CompleteSnapshotInput) SetChecksum(v string) *CompleteSnapshotInput {
+ s.Checksum = &v
+ return s
+}
+
+// SetChecksumAggregationMethod sets the ChecksumAggregationMethod field's value.
+func (s *CompleteSnapshotInput) SetChecksumAggregationMethod(v string) *CompleteSnapshotInput {
+ s.ChecksumAggregationMethod = &v
+ return s
+}
+
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *CompleteSnapshotInput) SetChecksumAlgorithm(v string) *CompleteSnapshotInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *CompleteSnapshotInput) SetSnapshotId(v string) *CompleteSnapshotInput {
+ s.SnapshotId = &v
+ return s
+}
+
+type CompleteSnapshotOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The status of the snapshot.
+ Status *string `type:"string" enum:"Status"`
+}
+
+// String returns the string representation
+func (s CompleteSnapshotOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CompleteSnapshotOutput) GoString() string {
+ return s.String()
+}
+
+// SetStatus sets the Status field's value.
+func (s *CompleteSnapshotOutput) SetStatus(v string) *CompleteSnapshotOutput {
+ s.Status = &v
+ return s
+}
+
+// You have reached the limit for concurrent API requests. For more information,
+// see Optimizing performance of the EBS direct APIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapi-performance)
+// in the Amazon Elastic Compute Cloud User Guide.
+type ConcurrentLimitExceededException struct {
+ _ struct{} `type:"structure"`
+ RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+
+ Message_ *string `locationName:"Message" type:"string"`
+}
+
+// String returns the string representation
+func (s ConcurrentLimitExceededException) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ConcurrentLimitExceededException) GoString() string {
+ return s.String()
+}
+
+func newErrorConcurrentLimitExceededException(v protocol.ResponseMetadata) error {
+ return &ConcurrentLimitExceededException{
+ RespMetadata: v,
+ }
+}
+
+// Code returns the exception type name.
+func (s *ConcurrentLimitExceededException) Code() string {
+ return "ConcurrentLimitExceededException"
+}
+
+// Message returns the exception's message.
+func (s *ConcurrentLimitExceededException) Message() string {
+ if s.Message_ != nil {
+ return *s.Message_
+ }
+ return ""
+}
+
+// OrigErr always returns nil, satisfies awserr.Error interface.
+func (s *ConcurrentLimitExceededException) OrigErr() error {
+ return nil
+}
+
+func (s *ConcurrentLimitExceededException) 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 *ConcurrentLimitExceededException) StatusCode() int {
+ return s.RespMetadata.StatusCode
+}
+
+// RequestID returns the service's response RequestID for request.
+func (s *ConcurrentLimitExceededException) RequestID() string {
+ return s.RespMetadata.RequestID
+}
+
+// The request uses the same client token as a previous, but non-identical request.
+type ConflictException struct {
+ _ struct{} `type:"structure"`
+ RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+
+ Message_ *string `locationName:"Message" type:"string"`
+}
+
+// String returns the string representation
+func (s ConflictException) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ConflictException) GoString() string {
+ return s.String()
+}
+
+func newErrorConflictException(v protocol.ResponseMetadata) error {
+ return &ConflictException{
+ RespMetadata: v,
+ }
+}
+
+// Code returns the exception type name.
+func (s *ConflictException) Code() string {
+ return "ConflictException"
+}
+
+// Message returns the exception's message.
+func (s *ConflictException) Message() string {
+ if s.Message_ != nil {
+ return *s.Message_
+ }
+ return ""
+}
+
+// OrigErr always returns nil, satisfies awserr.Error interface.
+func (s *ConflictException) OrigErr() error {
+ return nil
+}
+
+func (s *ConflictException) Error() string {
+ return fmt.Sprintf("%s: %s", 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 GetSnapshotBlockInput struct {
+ _ struct{} `type:"structure"`
+
+ // The block index of the block from which to get data.
+ //
+ // Obtain the BlockIndex by running the ListChangedBlocks or ListSnapshotBlocks
+ // operations.
//
// BlockIndex is a required field
BlockIndex *int64 `location:"uri" locationName:"blockIndex" type:"integer" required:"true"`
@@ -582,6 +1216,62 @@ func (s *GetSnapshotBlockOutput) SetDataLength(v int64) *GetSnapshotBlockOutput
return s
}
+// An internal error has occurred.
+type InternalServerException struct {
+ _ struct{} `type:"structure"`
+ RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+
+ Message_ *string `locationName:"Message" type:"string"`
+}
+
+// String returns the string representation
+func (s InternalServerException) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+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 ListChangedBlocksInput struct {
_ struct{} `type:"structure"`
@@ -691,7 +1381,7 @@ type ListChangedBlocksOutput struct {
NextToken *string `type:"string"`
// The size of the volume in GB.
- VolumeSize *int64 `type:"long"`
+ VolumeSize *int64 `min:"1" type:"long"`
}
// String returns the string representation
@@ -823,7 +1513,7 @@ type ListSnapshotBlocksOutput struct {
NextToken *string `type:"string"`
// The size of the volume in GB.
- VolumeSize *int64 `type:"long"`
+ VolumeSize *int64 `min:"1" type:"long"`
}
// String returns the string representation
@@ -866,32 +1556,270 @@ func (s *ListSnapshotBlocksOutput) SetVolumeSize(v int64) *ListSnapshotBlocksOut
return s
}
-// The specified resource does not exist.
-type ResourceNotFoundException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+type PutSnapshotBlockInput struct {
+ _ struct{} `type:"structure" payload:"BlockData"`
- Message_ *string `locationName:"Message" type:"string"`
+ // The data to write to the block.
+ //
+ // The block data is not signed as part of the Signature Version 4 signing process.
+ // As a result, you must generate and provide a Base64-encoded SHA256 checksum
+ // for the block data using the x-amz-Checksum header. Also, you must specify
+ // the checksum algorithm using the x-amz-Checksum-Algorithm header. The checksum
+ // that you provide is part of the Signature Version 4 signing process. It is
+ // validated against a checksum generated by Amazon EBS to ensure the validity
+ // and authenticity of the data. If the checksums do not correspond, the request
+ // fails. For more information, see Using checksums with the EBS direct APIs
+ // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapis-using-checksums)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ //
+ // To use an non-seekable io.Reader for this request wrap the io.Reader with
+ // "aws.ReadSeekCloser". The SDK will not retry request errors for non-seekable
+ // readers. This will allow the SDK to send the reader's payload as chunked
+ // transfer encoding.
+ //
+ // BlockData is a required field
+ BlockData io.ReadSeeker `type:"blob" required:"true" sensitive:"true"`
+
+ // The block index of the block in which to write the data. A block index is
+ // the offset position of a block within a snapshot, and it is used to identify
+ // the block. To identify the logical offset of the data in the logical volume,
+ // multiply the block index with the block size (Block index * 512 bytes).
+ //
+ // BlockIndex is a required field
+ BlockIndex *int64 `location:"uri" locationName:"blockIndex" type:"integer" required:"true"`
+
+ // A Base64-encoded SHA256 checksum of the data. Only SHA256 checksums are supported.
+ //
+ // Checksum is a required field
+ Checksum *string `location:"header" locationName:"x-amz-Checksum" type:"string" required:"true"`
+
+ // The algorithm used to generate the checksum. Currently, the only supported
+ // algorithm is SHA256.
+ //
+ // ChecksumAlgorithm is a required field
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-Checksum-Algorithm" type:"string" required:"true" enum:"ChecksumAlgorithm"`
+
+ // The size of the data to write to the block, in bytes. Currently, the only
+ // supported size is 524288.
+ //
+ // Valid values: 524288
+ //
+ // DataLength is a required field
+ DataLength *int64 `location:"header" locationName:"x-amz-Data-Length" type:"integer" required:"true"`
+
+ // The progress of the write process, as a percentage.
+ Progress *int64 `location:"header" locationName:"x-amz-Progress" type:"integer"`
+
+ // The ID of the snapshot.
+ //
+ // SnapshotId is a required field
+ SnapshotId *string `location:"uri" locationName:"snapshotId" min:"1" type:"string" required:"true"`
}
// String returns the string representation
-func (s ResourceNotFoundException) String() string {
+func (s PutSnapshotBlockInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
-func (s ResourceNotFoundException) GoString() string {
+func (s PutSnapshotBlockInput) GoString() string {
return s.String()
}
-func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
- return &ResourceNotFoundException{
- RespMetadata: v,
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutSnapshotBlockInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutSnapshotBlockInput"}
+ if s.BlockData == nil {
+ invalidParams.Add(request.NewErrParamRequired("BlockData"))
+ }
+ if s.BlockIndex == nil {
+ invalidParams.Add(request.NewErrParamRequired("BlockIndex"))
}
+ if s.Checksum == nil {
+ invalidParams.Add(request.NewErrParamRequired("Checksum"))
+ }
+ if s.ChecksumAlgorithm == nil {
+ invalidParams.Add(request.NewErrParamRequired("ChecksumAlgorithm"))
+ }
+ if s.DataLength == nil {
+ invalidParams.Add(request.NewErrParamRequired("DataLength"))
+ }
+ if s.SnapshotId == nil {
+ invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
+ }
+ if s.SnapshotId != nil && len(*s.SnapshotId) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("SnapshotId", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
}
-// Code returns the exception type name.
-func (s *ResourceNotFoundException) Code() string {
+// SetBlockData sets the BlockData field's value.
+func (s *PutSnapshotBlockInput) SetBlockData(v io.ReadSeeker) *PutSnapshotBlockInput {
+ s.BlockData = v
+ return s
+}
+
+// SetBlockIndex sets the BlockIndex field's value.
+func (s *PutSnapshotBlockInput) SetBlockIndex(v int64) *PutSnapshotBlockInput {
+ s.BlockIndex = &v
+ return s
+}
+
+// SetChecksum sets the Checksum field's value.
+func (s *PutSnapshotBlockInput) SetChecksum(v string) *PutSnapshotBlockInput {
+ s.Checksum = &v
+ return s
+}
+
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutSnapshotBlockInput) SetChecksumAlgorithm(v string) *PutSnapshotBlockInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
+// SetDataLength sets the DataLength field's value.
+func (s *PutSnapshotBlockInput) SetDataLength(v int64) *PutSnapshotBlockInput {
+ s.DataLength = &v
+ return s
+}
+
+// SetProgress sets the Progress field's value.
+func (s *PutSnapshotBlockInput) SetProgress(v int64) *PutSnapshotBlockInput {
+ s.Progress = &v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *PutSnapshotBlockInput) SetSnapshotId(v string) *PutSnapshotBlockInput {
+ s.SnapshotId = &v
+ return s
+}
+
+type PutSnapshotBlockOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The SHA256 checksum generated for the block data by Amazon EBS.
+ Checksum *string `location:"header" locationName:"x-amz-Checksum" type:"string"`
+
+ // The algorithm used by Amazon EBS to generate the checksum.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-Checksum-Algorithm" type:"string" enum:"ChecksumAlgorithm"`
+}
+
+// String returns the string representation
+func (s PutSnapshotBlockOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutSnapshotBlockOutput) GoString() string {
+ return s.String()
+}
+
+// SetChecksum sets the Checksum field's value.
+func (s *PutSnapshotBlockOutput) SetChecksum(v string) *PutSnapshotBlockOutput {
+ s.Checksum = &v
+ return s
+}
+
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutSnapshotBlockOutput) SetChecksumAlgorithm(v string) *PutSnapshotBlockOutput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
+// The number of API requests has exceed the maximum allowed API request throttling
+// limit.
+type RequestThrottledException struct {
+ _ struct{} `type:"structure"`
+ RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+
+ Message_ *string `locationName:"Message" type:"string"`
+
+ // The reason for the exception.
+ Reason *string `type:"string" enum:"RequestThrottledExceptionReason"`
+}
+
+// String returns the string representation
+func (s RequestThrottledException) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RequestThrottledException) GoString() string {
+ return s.String()
+}
+
+func newErrorRequestThrottledException(v protocol.ResponseMetadata) error {
+ return &RequestThrottledException{
+ RespMetadata: v,
+ }
+}
+
+// Code returns the exception type name.
+func (s *RequestThrottledException) Code() string {
+ return "RequestThrottledException"
+}
+
+// Message returns the exception's message.
+func (s *RequestThrottledException) Message() string {
+ if s.Message_ != nil {
+ return *s.Message_
+ }
+ return ""
+}
+
+// OrigErr always returns nil, satisfies awserr.Error interface.
+func (s *RequestThrottledException) OrigErr() error {
+ return nil
+}
+
+func (s *RequestThrottledException) 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 *RequestThrottledException) StatusCode() int {
+ return s.RespMetadata.StatusCode
+}
+
+// RequestID returns the service's response RequestID for request.
+func (s *RequestThrottledException) RequestID() string {
+ return s.RespMetadata.RequestID
+}
+
+// The specified resource does not exist.
+type ResourceNotFoundException struct {
+ _ struct{} `type:"structure"`
+ RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+
+ Message_ *string `locationName:"Message" type:"string"`
+
+ // The reason for the exception.
+ Reason *string `type:"string" enum:"ResourceNotFoundExceptionReason"`
+}
+
+// String returns the string representation
+func (s ResourceNotFoundException) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+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"
}
@@ -909,7 +1837,7 @@ func (s *ResourceNotFoundException) OrigErr() error {
}
func (s *ResourceNotFoundException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
+ 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.
@@ -922,6 +1850,362 @@ func (s *ResourceNotFoundException) RequestID() string {
return s.RespMetadata.RequestID
}
+// Your current service quotas do not allow you to perform this action.
+type ServiceQuotaExceededException struct {
+ _ struct{} `type:"structure"`
+ RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+
+ Message_ *string `locationName:"Message" type:"string"`
+
+ // The reason for the exception.
+ Reason *string `type:"string" enum:"ServiceQuotaExceededExceptionReason"`
+}
+
+// String returns the string representation
+func (s ServiceQuotaExceededException) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ServiceQuotaExceededException) GoString() string {
+ return s.String()
+}
+
+func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
+ return &ServiceQuotaExceededException{
+ RespMetadata: v,
+ }
+}
+
+// Code returns the exception type name.
+func (s *ServiceQuotaExceededException) Code() string {
+ return "ServiceQuotaExceededException"
+}
+
+// Message returns the exception's message.
+func (s *ServiceQuotaExceededException) Message() string {
+ if s.Message_ != nil {
+ return *s.Message_
+ }
+ return ""
+}
+
+// OrigErr always returns nil, satisfies awserr.Error interface.
+func (s *ServiceQuotaExceededException) OrigErr() error {
+ return nil
+}
+
+func (s *ServiceQuotaExceededException) 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 *ServiceQuotaExceededException) StatusCode() int {
+ return s.RespMetadata.StatusCode
+}
+
+// RequestID returns the service's response RequestID for request.
+func (s *ServiceQuotaExceededException) RequestID() string {
+ return s.RespMetadata.RequestID
+}
+
+type StartSnapshotInput struct {
+ _ struct{} `type:"structure"`
+
+ // A unique, case-sensitive identifier that you provide to ensure the idempotency
+ // of the request. Idempotency ensures that an API request completes only once.
+ // With an idempotent request, if the original request completes successfully.
+ // The subsequent retries with the same client token return the result from
+ // the original successful request and they have no additional effect.
+ //
+ // If you do not specify a client token, one is automatically generated by the
+ // AWS SDK.
+ //
+ // For more information, see Idempotency for StartSnapshot API (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-direct-api-idempotency.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ ClientToken *string `type:"string" idempotencyToken:"true"`
+
+ // A description for the snapshot.
+ Description *string `type:"string"`
+
+ // Indicates whether to encrypt the snapshot. To create an encrypted snapshot,
+ // specify true. To create an unencrypted snapshot, omit this parameter.
+ //
+ // If you specify a value for ParentSnapshotId, omit this parameter.
+ //
+ // If you specify true, the snapshot is encrypted using the CMK specified using
+ // the KmsKeyArn parameter. If no value is specified for KmsKeyArn, the default
+ // CMK for your account is used. If no default CMK has been specified for your
+ // account, the AWS managed CMK is used. To set a default CMK for your account,
+ // use ModifyEbsDefaultKmsKeyId (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyEbsDefaultKmsKeyId.html).
+ //
+ // If your account is enabled for encryption by default, you cannot set this
+ // parameter to false. In this case, you can omit this parameter.
+ //
+ // For more information, see Using encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapis-using-encryption)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ Encrypted *bool `type:"boolean"`
+
+ // The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS)
+ // customer master key (CMK) to be used to encrypt the snapshot. If you do not
+ // specify a CMK, the default AWS managed CMK is used.
+ //
+ // If you specify a ParentSnapshotId, omit this parameter; the snapshot will
+ // be encrypted using the same CMK that was used to encrypt the parent snapshot.
+ //
+ // If Encrypted is set to true, you must specify a CMK ARN.
+ KmsKeyArn *string `min:"1" type:"string" sensitive:"true"`
+
+ // The ID of the parent snapshot. If there is no parent snapshot, or if you
+ // are creating the first snapshot for an on-premises volume, omit this parameter.
+ //
+ // If your account is enabled for encryption by default, you cannot use an unencrypted
+ // snapshot as a parent snapshot. You must first create an encrypted copy of
+ // the parent snapshot using CopySnapshot (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopySnapshot.html).
+ ParentSnapshotId *string `min:"1" type:"string"`
+
+ // The tags to apply to the snapshot.
+ Tags []*Tag `type:"list"`
+
+ // The amount of time (in minutes) after which the snapshot is automatically
+ // cancelled if:
+ //
+ // * No blocks are written to the snapshot.
+ //
+ // * The snapshot is not completed after writing the last block of data.
+ //
+ // If no value is specified, the timeout defaults to 60 minutes.
+ Timeout *int64 `min:"10" type:"integer"`
+
+ // The size of the volume, in GiB. The maximum size is 16384 GiB (16 TiB).
+ //
+ // VolumeSize is a required field
+ VolumeSize *int64 `min:"1" type:"long" required:"true"`
+}
+
+// String returns the string representation
+func (s StartSnapshotInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StartSnapshotInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *StartSnapshotInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "StartSnapshotInput"}
+ if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 1))
+ }
+ if s.ParentSnapshotId != nil && len(*s.ParentSnapshotId) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("ParentSnapshotId", 1))
+ }
+ if s.Timeout != nil && *s.Timeout < 10 {
+ invalidParams.Add(request.NewErrParamMinValue("Timeout", 10))
+ }
+ if s.VolumeSize == nil {
+ invalidParams.Add(request.NewErrParamRequired("VolumeSize"))
+ }
+ if s.VolumeSize != nil && *s.VolumeSize < 1 {
+ invalidParams.Add(request.NewErrParamMinValue("VolumeSize", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *StartSnapshotInput) SetClientToken(v string) *StartSnapshotInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *StartSnapshotInput) SetDescription(v string) *StartSnapshotInput {
+ s.Description = &v
+ return s
+}
+
+// SetEncrypted sets the Encrypted field's value.
+func (s *StartSnapshotInput) SetEncrypted(v bool) *StartSnapshotInput {
+ s.Encrypted = &v
+ return s
+}
+
+// SetKmsKeyArn sets the KmsKeyArn field's value.
+func (s *StartSnapshotInput) SetKmsKeyArn(v string) *StartSnapshotInput {
+ s.KmsKeyArn = &v
+ return s
+}
+
+// SetParentSnapshotId sets the ParentSnapshotId field's value.
+func (s *StartSnapshotInput) SetParentSnapshotId(v string) *StartSnapshotInput {
+ s.ParentSnapshotId = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *StartSnapshotInput) SetTags(v []*Tag) *StartSnapshotInput {
+ s.Tags = v
+ return s
+}
+
+// SetTimeout sets the Timeout field's value.
+func (s *StartSnapshotInput) SetTimeout(v int64) *StartSnapshotInput {
+ s.Timeout = &v
+ return s
+}
+
+// SetVolumeSize sets the VolumeSize field's value.
+func (s *StartSnapshotInput) SetVolumeSize(v int64) *StartSnapshotInput {
+ s.VolumeSize = &v
+ return s
+}
+
+type StartSnapshotOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The size of the blocks in the snapshot, in bytes.
+ BlockSize *int64 `type:"integer"`
+
+ // The description of the snapshot.
+ Description *string `type:"string"`
+
+ // The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS)
+ // customer master key (CMK) used to encrypt the snapshot.
+ KmsKeyArn *string `min:"1" type:"string" sensitive:"true"`
+
+ // The AWS account ID of the snapshot owner.
+ OwnerId *string `min:"1" type:"string"`
+
+ // The ID of the parent snapshot.
+ ParentSnapshotId *string `min:"1" type:"string"`
+
+ // The ID of the snapshot.
+ SnapshotId *string `min:"1" type:"string"`
+
+ // The timestamp when the snapshot was created.
+ StartTime *time.Time `type:"timestamp"`
+
+ // The status of the snapshot.
+ Status *string `type:"string" enum:"Status"`
+
+ // The tags applied to the snapshot. You can specify up to 50 tags per snapshot.
+ // For more information, see Tagging your Amazon EC2 resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ Tags []*Tag `type:"list"`
+
+ // The size of the volume, in GiB.
+ VolumeSize *int64 `min:"1" type:"long"`
+}
+
+// String returns the string representation
+func (s StartSnapshotOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StartSnapshotOutput) GoString() string {
+ return s.String()
+}
+
+// SetBlockSize sets the BlockSize field's value.
+func (s *StartSnapshotOutput) SetBlockSize(v int64) *StartSnapshotOutput {
+ s.BlockSize = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *StartSnapshotOutput) SetDescription(v string) *StartSnapshotOutput {
+ s.Description = &v
+ return s
+}
+
+// SetKmsKeyArn sets the KmsKeyArn field's value.
+func (s *StartSnapshotOutput) SetKmsKeyArn(v string) *StartSnapshotOutput {
+ s.KmsKeyArn = &v
+ return s
+}
+
+// SetOwnerId sets the OwnerId field's value.
+func (s *StartSnapshotOutput) SetOwnerId(v string) *StartSnapshotOutput {
+ s.OwnerId = &v
+ return s
+}
+
+// SetParentSnapshotId sets the ParentSnapshotId field's value.
+func (s *StartSnapshotOutput) SetParentSnapshotId(v string) *StartSnapshotOutput {
+ s.ParentSnapshotId = &v
+ return s
+}
+
+// SetSnapshotId sets the SnapshotId field's value.
+func (s *StartSnapshotOutput) SetSnapshotId(v string) *StartSnapshotOutput {
+ s.SnapshotId = &v
+ return s
+}
+
+// SetStartTime sets the StartTime field's value.
+func (s *StartSnapshotOutput) SetStartTime(v time.Time) *StartSnapshotOutput {
+ s.StartTime = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *StartSnapshotOutput) SetStatus(v string) *StartSnapshotOutput {
+ s.Status = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *StartSnapshotOutput) SetTags(v []*Tag) *StartSnapshotOutput {
+ s.Tags = v
+ return s
+}
+
+// SetVolumeSize sets the VolumeSize field's value.
+func (s *StartSnapshotOutput) SetVolumeSize(v int64) *StartSnapshotOutput {
+ s.VolumeSize = &v
+ return s
+}
+
+// Describes a tag.
+type Tag struct {
+ _ struct{} `type:"structure"`
+
+ // The key of the tag.
+ Key *string `type:"string"`
+
+ // The value of the tag.
+ Value *string `type:"string"`
+}
+
+// String returns the string representation
+func (s Tag) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Tag) GoString() string {
+ return s.String()
+}
+
+// SetKey sets the Key field's value.
+func (s *Tag) SetKey(v string) *Tag {
+ s.Key = &v
+ return s
+}
+
+// SetValue sets the Value field's value.
+func (s *Tag) SetValue(v string) *Tag {
+ s.Value = &v
+ return s
+}
+
// The input fails to satisfy the constraints of the EBS direct APIs.
type ValidationException struct {
_ struct{} `type:"structure"`
@@ -981,11 +2265,56 @@ func (s *ValidationException) RequestID() string {
return s.RespMetadata.RequestID
}
+const (
+ // AccessDeniedExceptionReasonUnauthorizedAccount is a AccessDeniedExceptionReason enum value
+ AccessDeniedExceptionReasonUnauthorizedAccount = "UNAUTHORIZED_ACCOUNT"
+
+ // AccessDeniedExceptionReasonDependencyAccessDenied is a AccessDeniedExceptionReason enum value
+ AccessDeniedExceptionReasonDependencyAccessDenied = "DEPENDENCY_ACCESS_DENIED"
+)
+
+const (
+ // ChecksumAggregationMethodLinear is a ChecksumAggregationMethod enum value
+ ChecksumAggregationMethodLinear = "LINEAR"
+)
+
const (
// ChecksumAlgorithmSha256 is a ChecksumAlgorithm enum value
ChecksumAlgorithmSha256 = "SHA256"
)
+const (
+ // RequestThrottledExceptionReasonAccountThrottled is a RequestThrottledExceptionReason enum value
+ RequestThrottledExceptionReasonAccountThrottled = "ACCOUNT_THROTTLED"
+
+ // RequestThrottledExceptionReasonDependencyRequestThrottled is a RequestThrottledExceptionReason enum value
+ RequestThrottledExceptionReasonDependencyRequestThrottled = "DEPENDENCY_REQUEST_THROTTLED"
+)
+
+const (
+ // ResourceNotFoundExceptionReasonSnapshotNotFound is a ResourceNotFoundExceptionReason enum value
+ ResourceNotFoundExceptionReasonSnapshotNotFound = "SNAPSHOT_NOT_FOUND"
+
+ // ResourceNotFoundExceptionReasonDependencyResourceNotFound is a ResourceNotFoundExceptionReason enum value
+ ResourceNotFoundExceptionReasonDependencyResourceNotFound = "DEPENDENCY_RESOURCE_NOT_FOUND"
+)
+
+const (
+ // ServiceQuotaExceededExceptionReasonDependencyServiceQuotaExceeded is a ServiceQuotaExceededExceptionReason enum value
+ ServiceQuotaExceededExceptionReasonDependencyServiceQuotaExceeded = "DEPENDENCY_SERVICE_QUOTA_EXCEEDED"
+)
+
+const (
+ // StatusCompleted is a Status enum value
+ StatusCompleted = "completed"
+
+ // StatusPending is a Status enum value
+ StatusPending = "pending"
+
+ // StatusError is a Status enum value
+ StatusError = "error"
+)
+
const (
// ValidationExceptionReasonInvalidCustomerKey is a ValidationExceptionReason enum value
ValidationExceptionReasonInvalidCustomerKey = "INVALID_CUSTOMER_KEY"
@@ -1001,4 +2330,22 @@ const (
// ValidationExceptionReasonUnrelatedSnapshots is a ValidationExceptionReason enum value
ValidationExceptionReasonUnrelatedSnapshots = "UNRELATED_SNAPSHOTS"
+
+ // ValidationExceptionReasonInvalidBlock is a ValidationExceptionReason enum value
+ ValidationExceptionReasonInvalidBlock = "INVALID_BLOCK"
+
+ // ValidationExceptionReasonInvalidContentEncoding is a ValidationExceptionReason enum value
+ ValidationExceptionReasonInvalidContentEncoding = "INVALID_CONTENT_ENCODING"
+
+ // ValidationExceptionReasonInvalidTag is a ValidationExceptionReason enum value
+ ValidationExceptionReasonInvalidTag = "INVALID_TAG"
+
+ // ValidationExceptionReasonInvalidDependencyRequest is a ValidationExceptionReason enum value
+ ValidationExceptionReasonInvalidDependencyRequest = "INVALID_DEPENDENCY_REQUEST"
+
+ // ValidationExceptionReasonInvalidParameterValue is a ValidationExceptionReason enum value
+ ValidationExceptionReasonInvalidParameterValue = "INVALID_PARAMETER_VALUE"
+
+ // ValidationExceptionReasonInvalidVolumeSize is a ValidationExceptionReason enum value
+ ValidationExceptionReasonInvalidVolumeSize = "INVALID_VOLUME_SIZE"
)
diff --git a/service/ebs/doc.go b/service/ebs/doc.go
index 96b6a6651c4..73783f49513 100644
--- a/service/ebs/doc.go
+++ b/service/ebs/doc.go
@@ -7,7 +7,7 @@
// read the data on your EBS snapshots, and identify the difference between
// two snapshots. You can view the details of blocks in an EBS snapshot, compare
// the block difference between two snapshots, and directly access the data
-// in a snapshot. If you’re an independent software vendor (ISV) who offers
+// in a snapshot. If you're an independent software vendor (ISV) who offers
// backup services for EBS, the EBS direct APIs make it easier and more cost-effective
// to track incremental changes on your EBS volumes via EBS snapshots. This
// can be done without having to create new volumes from EBS snapshots.
diff --git a/service/ebs/ebsiface/interface.go b/service/ebs/ebsiface/interface.go
index 83fcfcf237e..f03d055491e 100644
--- a/service/ebs/ebsiface/interface.go
+++ b/service/ebs/ebsiface/interface.go
@@ -26,7 +26,7 @@ import (
// // myFunc uses an SDK service client to make a request to
// // Amazon Elastic Block Store.
// func myFunc(svc ebsiface.EBSAPI) bool {
-// // Make svc.GetSnapshotBlock request
+// // Make svc.CompleteSnapshot request
// }
//
// func main() {
@@ -42,7 +42,7 @@ import (
// type mockEBSClient struct {
// ebsiface.EBSAPI
// }
-// func (m *mockEBSClient) GetSnapshotBlock(input *ebs.GetSnapshotBlockInput) (*ebs.GetSnapshotBlockOutput, error) {
+// func (m *mockEBSClient) CompleteSnapshot(input *ebs.CompleteSnapshotInput) (*ebs.CompleteSnapshotOutput, 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 EBSAPI interface {
+ CompleteSnapshot(*ebs.CompleteSnapshotInput) (*ebs.CompleteSnapshotOutput, error)
+ CompleteSnapshotWithContext(aws.Context, *ebs.CompleteSnapshotInput, ...request.Option) (*ebs.CompleteSnapshotOutput, error)
+ CompleteSnapshotRequest(*ebs.CompleteSnapshotInput) (*request.Request, *ebs.CompleteSnapshotOutput)
+
GetSnapshotBlock(*ebs.GetSnapshotBlockInput) (*ebs.GetSnapshotBlockOutput, error)
GetSnapshotBlockWithContext(aws.Context, *ebs.GetSnapshotBlockInput, ...request.Option) (*ebs.GetSnapshotBlockOutput, error)
GetSnapshotBlockRequest(*ebs.GetSnapshotBlockInput) (*request.Request, *ebs.GetSnapshotBlockOutput)
@@ -77,6 +81,14 @@ type EBSAPI interface {
ListSnapshotBlocksPages(*ebs.ListSnapshotBlocksInput, func(*ebs.ListSnapshotBlocksOutput, bool) bool) error
ListSnapshotBlocksPagesWithContext(aws.Context, *ebs.ListSnapshotBlocksInput, func(*ebs.ListSnapshotBlocksOutput, bool) bool, ...request.Option) error
+
+ PutSnapshotBlock(*ebs.PutSnapshotBlockInput) (*ebs.PutSnapshotBlockOutput, error)
+ PutSnapshotBlockWithContext(aws.Context, *ebs.PutSnapshotBlockInput, ...request.Option) (*ebs.PutSnapshotBlockOutput, error)
+ PutSnapshotBlockRequest(*ebs.PutSnapshotBlockInput) (*request.Request, *ebs.PutSnapshotBlockOutput)
+
+ StartSnapshot(*ebs.StartSnapshotInput) (*ebs.StartSnapshotOutput, error)
+ StartSnapshotWithContext(aws.Context, *ebs.StartSnapshotInput, ...request.Option) (*ebs.StartSnapshotOutput, error)
+ StartSnapshotRequest(*ebs.StartSnapshotInput) (*request.Request, *ebs.StartSnapshotOutput)
}
var _ EBSAPI = (*ebs.EBS)(nil)
diff --git a/service/ebs/errors.go b/service/ebs/errors.go
index c2de81dd733..033dd43bf73 100644
--- a/service/ebs/errors.go
+++ b/service/ebs/errors.go
@@ -8,12 +8,51 @@ import (
const (
+ // ErrCodeAccessDeniedException for service response error code
+ // "AccessDeniedException".
+ //
+ // You do not have sufficient access to perform this action.
+ ErrCodeAccessDeniedException = "AccessDeniedException"
+
+ // ErrCodeConcurrentLimitExceededException for service response error code
+ // "ConcurrentLimitExceededException".
+ //
+ // You have reached the limit for concurrent API requests. For more information,
+ // see Optimizing performance of the EBS direct APIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapi-performance)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ ErrCodeConcurrentLimitExceededException = "ConcurrentLimitExceededException"
+
+ // ErrCodeConflictException for service response error code
+ // "ConflictException".
+ //
+ // The request uses the same client token as a previous, but non-identical request.
+ ErrCodeConflictException = "ConflictException"
+
+ // ErrCodeInternalServerException for service response error code
+ // "InternalServerException".
+ //
+ // An internal error has occurred.
+ ErrCodeInternalServerException = "InternalServerException"
+
+ // ErrCodeRequestThrottledException for service response error code
+ // "RequestThrottledException".
+ //
+ // The number of API requests has exceed the maximum allowed API request throttling
+ // limit.
+ ErrCodeRequestThrottledException = "RequestThrottledException"
+
// ErrCodeResourceNotFoundException for service response error code
// "ResourceNotFoundException".
//
// The specified resource does not exist.
ErrCodeResourceNotFoundException = "ResourceNotFoundException"
+ // ErrCodeServiceQuotaExceededException for service response error code
+ // "ServiceQuotaExceededException".
+ //
+ // Your current service quotas do not allow you to perform this action.
+ ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException"
+
// ErrCodeValidationException for service response error code
// "ValidationException".
//
@@ -22,6 +61,12 @@ const (
)
var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{
- "ResourceNotFoundException": newErrorResourceNotFoundException,
- "ValidationException": newErrorValidationException,
+ "AccessDeniedException": newErrorAccessDeniedException,
+ "ConcurrentLimitExceededException": newErrorConcurrentLimitExceededException,
+ "ConflictException": newErrorConflictException,
+ "InternalServerException": newErrorInternalServerException,
+ "RequestThrottledException": newErrorRequestThrottledException,
+ "ResourceNotFoundException": newErrorResourceNotFoundException,
+ "ServiceQuotaExceededException": newErrorServiceQuotaExceededException,
+ "ValidationException": newErrorValidationException,
}
diff --git a/service/eventbridge/api.go b/service/eventbridge/api.go
index 757cc30964e..b20ab80ff7c 100644
--- a/service/eventbridge/api.go
+++ b/service/eventbridge/api.go
@@ -81,6 +81,9 @@ func (c *EventBridge) ActivateEventSourceRequest(input *ActivateEventSourceInput
// * InternalException
// This exception occurs due to unexpected causes.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ActivateEventSource
func (c *EventBridge) ActivateEventSource(input *ActivateEventSourceInput) (*ActivateEventSourceOutput, error) {
req, out := c.ActivateEventSourceRequest(input)
@@ -178,6 +181,9 @@ func (c *EventBridge) CreateEventBusRequest(input *CreateEventBusInput) (req *re
// * LimitExceededException
// You tried to create more rules or add more targets to a rule than is allowed.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/CreateEventBus
func (c *EventBridge) CreateEventBus(input *CreateEventBusInput) (*CreateEventBusOutput, error) {
req, out := c.CreateEventBusRequest(input)
@@ -290,6 +296,9 @@ func (c *EventBridge) CreatePartnerEventSourceRequest(input *CreatePartnerEventS
// * LimitExceededException
// You tried to create more rules or add more targets to a rule than is allowed.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/CreatePartnerEventSource
func (c *EventBridge) CreatePartnerEventSource(input *CreatePartnerEventSourceInput) (*CreatePartnerEventSourceOutput, error) {
req, out := c.CreatePartnerEventSourceRequest(input)
@@ -385,6 +394,9 @@ func (c *EventBridge) DeactivateEventSourceRequest(input *DeactivateEventSourceI
// * InternalException
// This exception occurs due to unexpected causes.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DeactivateEventSource
func (c *EventBridge) DeactivateEventSource(input *DeactivateEventSourceInput) (*DeactivateEventSourceOutput, error) {
req, out := c.DeactivateEventSourceRequest(input)
@@ -557,6 +569,9 @@ func (c *EventBridge) DeletePartnerEventSourceRequest(input *DeletePartnerEventS
// * ConcurrentModificationException
// There is concurrent modification on a rule or target.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DeletePartnerEventSource
func (c *EventBridge) DeletePartnerEventSource(input *DeletePartnerEventSourceInput) (*DeletePartnerEventSourceOutput, error) {
req, out := c.DeletePartnerEventSourceRequest(input)
@@ -835,6 +850,9 @@ func (c *EventBridge) DescribeEventSourceRequest(input *DescribeEventSourceInput
// * InternalException
// This exception occurs due to unexpected causes.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DescribeEventSource
func (c *EventBridge) DescribeEventSource(input *DescribeEventSourceInput) (*DescribeEventSourceOutput, error) {
req, out := c.DescribeEventSourceRequest(input)
@@ -920,6 +938,9 @@ func (c *EventBridge) DescribePartnerEventSourceRequest(input *DescribePartnerEv
// * InternalException
// This exception occurs due to unexpected causes.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/DescribePartnerEventSource
func (c *EventBridge) DescribePartnerEventSource(input *DescribePartnerEventSourceInput) (*DescribePartnerEventSourceOutput, error) {
req, out := c.DescribePartnerEventSourceRequest(input)
@@ -1362,6 +1383,9 @@ func (c *EventBridge) ListEventSourcesRequest(input *ListEventSourcesInput) (req
// * InternalException
// This exception occurs due to unexpected causes.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListEventSources
func (c *EventBridge) ListEventSources(input *ListEventSourcesInput) (*ListEventSourcesOutput, error) {
req, out := c.ListEventSourcesRequest(input)
@@ -1446,6 +1470,9 @@ func (c *EventBridge) ListPartnerEventSourceAccountsRequest(input *ListPartnerEv
// * InternalException
// This exception occurs due to unexpected causes.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListPartnerEventSourceAccounts
func (c *EventBridge) ListPartnerEventSourceAccounts(input *ListPartnerEventSourceAccountsInput) (*ListPartnerEventSourceAccountsOutput, error) {
req, out := c.ListPartnerEventSourceAccountsRequest(input)
@@ -1526,6 +1553,9 @@ func (c *EventBridge) ListPartnerEventSourcesRequest(input *ListPartnerEventSour
// * InternalException
// This exception occurs due to unexpected causes.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/ListPartnerEventSources
func (c *EventBridge) ListPartnerEventSources(input *ListPartnerEventSourcesInput) (*ListPartnerEventSourcesOutput, error) {
req, out := c.ListPartnerEventSourcesRequest(input)
@@ -2020,6 +2050,9 @@ func (c *EventBridge) PutPartnerEventsRequest(input *PutPartnerEventsInput) (req
// * InternalException
// This exception occurs due to unexpected causes.
//
+// * OperationDisabledException
+// The operation you are attempting is not available in this region.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/PutPartnerEvents
func (c *EventBridge) PutPartnerEvents(input *PutPartnerEventsInput) (*PutPartnerEventsOutput, error) {
req, out := c.PutPartnerEventsRequest(input)
@@ -2088,8 +2121,9 @@ func (c *EventBridge) PutPermissionRequest(input *PutPermissionInput) (req *requ
// PutPermission API operation for Amazon EventBridge.
//
// Running PutPermission permits the specified AWS account or AWS organization
-// to put events to the specified event bus. CloudWatch Events rules in your
-// account are triggered by these events arriving to an event bus in your account.
+// to put events to the specified event bus. Amazon EventBridge (CloudWatch
+// Events) rules in your account are triggered by these events arriving to an
+// event bus in your account.
//
// For another account to send events to your account, that external account
// must have an EventBridge rule with your account's event bus as a target.
@@ -2383,6 +2417,8 @@ func (c *EventBridge) PutTargetsRequest(input *PutTargetsInput) (req *request.Re
//
// * The default event bus of another AWS account
//
+// * Amazon API Gateway REST APIs
+//
// Creating rules with built-in targets is supported only in the AWS Management
// Console. The built-in targets are EC2 CreateSnapshot API call, EC2 RebootInstances
// API call, EC2 StopInstances API call, and EC2 TerminateInstances API call.
@@ -2393,12 +2429,13 @@ func (c *EventBridge) PutTargetsRequest(input *PutTargetsInput) (req *request.Re
// on multiple EC2 instances with one rule, you can use the RunCommandParameters
// field.
//
-// To be able to make API calls against the resources that you own, Amazon CloudWatch
-// Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources,
-// EventBridge relies on resource-based policies. For EC2 instances, Kinesis
-// data streams, and AWS Step Functions state machines, EventBridge relies on
-// IAM roles that you specify in the RoleARN argument in PutTargets. For more
-// information, see Authentication and Access Control (https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html)
+// To be able to make API calls against the resources that you own, Amazon EventBridge
+// (CloudWatch Events) needs the appropriate permissions. For AWS Lambda and
+// Amazon SNS resources, EventBridge relies on resource-based policies. For
+// EC2 instances, Kinesis data streams, AWS Step Functions state machines and
+// API Gateway REST APIs, EventBridge relies on IAM roles that you specify in
+// the RoleARN argument in PutTargets. For more information, see Authentication
+// and Access Control (https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html)
// in the Amazon EventBridge User Guide.
//
// If another AWS account is in the same region and has granted you permission
@@ -2408,7 +2445,8 @@ func (c *EventBridge) PutTargetsRequest(input *PutTargetsInput) (req *request.Re
// you run PutTargets. If your account sends events to another account, your
// account is charged for each sent event. Each event sent to another account
// is charged as a custom event. The account receiving the event is not charged.
-// For more information, see Amazon CloudWatch Pricing (https://aws.amazon.com/cloudwatch/pricing/).
+// For more information, see Amazon EventBridge (CloudWatch Events) Pricing
+// (https://aws.amazon.com/eventbridge/pricing/).
//
// Input, InputPath, and InputTransformer are not available with PutTarget if
// the target is an event bus of a different AWS account.
@@ -2936,8 +2974,8 @@ func (c *EventBridge) UntagResourceRequest(input *UntagResourceInput) (req *requ
// UntagResource API operation for Amazon EventBridge.
//
-// Removes one or more tags from the specified EventBridge resource. In CloudWatch
-// Events, rules and event buses can be tagged.
+// Removes one or more tags from the specified EventBridge resource. In Amazon
+// EventBridge (CloudWatch Events, rules and event buses can be tagged.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -4611,6 +4649,52 @@ func (s *EventSource) SetState(v string) *EventSource {
return s
}
+// These are custom parameter to be used when the target is an API Gateway REST
+// APIs.
+type HttpParameters struct {
+ _ struct{} `type:"structure"`
+
+ // The headers that need to be sent as part of request invoking the API Gateway
+ // REST API.
+ HeaderParameters map[string]*string `type:"map"`
+
+ // The path parameter values to be used to populate API Gateway REST API path
+ // wildcards ("*").
+ PathParameterValues []*string `type:"list"`
+
+ // The query string keys/values that need to be sent as part of request invoking
+ // the API Gateway REST API.
+ QueryStringParameters map[string]*string `type:"map"`
+}
+
+// String returns the string representation
+func (s HttpParameters) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s HttpParameters) GoString() string {
+ return s.String()
+}
+
+// SetHeaderParameters sets the HeaderParameters field's value.
+func (s *HttpParameters) SetHeaderParameters(v map[string]*string) *HttpParameters {
+ s.HeaderParameters = v
+ return s
+}
+
+// SetPathParameterValues sets the PathParameterValues field's value.
+func (s *HttpParameters) SetPathParameterValues(v []*string) *HttpParameters {
+ s.PathParameterValues = v
+ return s
+}
+
+// SetQueryStringParameters sets the QueryStringParameters field's value.
+func (s *HttpParameters) SetQueryStringParameters(v map[string]*string) *HttpParameters {
+ s.QueryStringParameters = v
+ return s
+}
+
// Contains the parameters needed for you to provide custom input to a target
// based on one or more pieces of data extracted from the event.
type InputTransformer struct {
@@ -5863,6 +5947,62 @@ func (s *NetworkConfiguration) SetAwsvpcConfiguration(v *AwsVpcConfiguration) *N
return s
}
+// The operation you are attempting is not available in this region.
+type OperationDisabledException struct {
+ _ struct{} `type:"structure"`
+ RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+
+ Message_ *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s OperationDisabledException) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s OperationDisabledException) GoString() string {
+ return s.String()
+}
+
+func newErrorOperationDisabledException(v protocol.ResponseMetadata) error {
+ return &OperationDisabledException{
+ RespMetadata: v,
+ }
+}
+
+// Code returns the exception type name.
+func (s *OperationDisabledException) Code() string {
+ return "OperationDisabledException"
+}
+
+// Message returns the exception's message.
+func (s *OperationDisabledException) Message() string {
+ if s.Message_ != nil {
+ return *s.Message_
+ }
+ return ""
+}
+
+// OrigErr always returns nil, satisfies awserr.Error interface.
+func (s *OperationDisabledException) OrigErr() error {
+ return nil
+}
+
+func (s *OperationDisabledException) Error() string {
+ return fmt.Sprintf("%s: %s", s.Code(), s.Message())
+}
+
+// Status code returns the HTTP status code for the request's response error.
+func (s *OperationDisabledException) StatusCode() int {
+ return s.RespMetadata.StatusCode
+}
+
+// RequestID returns the service's response RequestID for request.
+func (s *OperationDisabledException) RequestID() string {
+ return s.RespMetadata.RequestID
+}
+
// A partner event source is created by an SaaS partner. If a customer creates
// a partner event bus that matches this event source, that AWS account can
// receive events from the partner's applications or services.
@@ -7611,6 +7751,14 @@ type Target struct {
// in the Amazon EC2 Container Service Developer Guide.
EcsParameters *EcsParameters `type:"structure"`
+ // Contains the HTTP parameters to use when the target is a API Gateway REST
+ // endpoint.
+ //
+ // If you specify an API Gateway REST API as a target, you can use this parameter
+ // to specify headers, path parameter, query string keys/values as part of your
+ // target invoking request.
+ HttpParameters *HttpParameters `type:"structure"`
+
// The ID of the target.
//
// Id is a required field
@@ -7729,6 +7877,12 @@ func (s *Target) SetEcsParameters(v *EcsParameters) *Target {
return s
}
+// SetHttpParameters sets the HttpParameters field's value.
+func (s *Target) SetHttpParameters(v *HttpParameters) *Target {
+ s.HttpParameters = v
+ return s
+}
+
// SetId sets the Id field's value.
func (s *Target) SetId(v string) *Target {
s.Id = &v
diff --git a/service/eventbridge/errors.go b/service/eventbridge/errors.go
index bb458f1dbef..8146c948a3e 100644
--- a/service/eventbridge/errors.go
+++ b/service/eventbridge/errors.go
@@ -49,6 +49,12 @@ const (
// or UntagResource.
ErrCodeManagedRuleException = "ManagedRuleException"
+ // ErrCodeOperationDisabledException for service response error code
+ // "OperationDisabledException".
+ //
+ // The operation you are attempting is not available in this region.
+ ErrCodeOperationDisabledException = "OperationDisabledException"
+
// ErrCodePolicyLengthExceededException for service response error code
// "PolicyLengthExceededException".
//
@@ -75,6 +81,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{
"InvalidStateException": newErrorInvalidStateException,
"LimitExceededException": newErrorLimitExceededException,
"ManagedRuleException": newErrorManagedRuleException,
+ "OperationDisabledException": newErrorOperationDisabledException,
"PolicyLengthExceededException": newErrorPolicyLengthExceededException,
"ResourceAlreadyExistsException": newErrorResourceAlreadyExistsException,
"ResourceNotFoundException": newErrorResourceNotFoundException,
diff --git a/service/sagemaker/api.go b/service/sagemaker/api.go
index 22a06ab6bb5..ef9d7ee7931 100644
--- a/service/sagemaker/api.go
+++ b/service/sagemaker/api.go
@@ -306,12 +306,10 @@ func (c *SageMaker) CreateAppRequest(input *CreateAppInput) (req *request.Reques
// CreateApp API operation for Amazon SageMaker Service.
//
-// Creates a running App for the specified UserProfile. Supported Apps are JupyterServer,
-// KernelGateway, and TensorBoard. This operation is automatically invoked by
-// Amazon SageMaker Studio upon access to the associated Domain, and when new
-// kernel configurations are selected by the user. A user may have multiple
-// Apps active simultaneously. UserProfiles are limited to 5 concurrently running
-// Apps at a time.
+// Creates a running App for the specified UserProfile. Supported Apps are JupyterServer
+// and KernelGateway. This operation is automatically invoked by Amazon SageMaker
+// Studio upon access to the associated Domain, and when new kernel configurations
+// are selected by the user. A user may have multiple Apps active simultaneously.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -3441,6 +3439,90 @@ func (c *SageMaker) DeleteFlowDefinitionWithContext(ctx aws.Context, input *Dele
return out, req.Send()
}
+const opDeleteHumanTaskUi = "DeleteHumanTaskUi"
+
+// DeleteHumanTaskUiRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteHumanTaskUi operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteHumanTaskUi for more information on using the DeleteHumanTaskUi
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteHumanTaskUiRequest method.
+// req, resp := client.DeleteHumanTaskUiRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteHumanTaskUi
+func (c *SageMaker) DeleteHumanTaskUiRequest(input *DeleteHumanTaskUiInput) (req *request.Request, output *DeleteHumanTaskUiOutput) {
+ op := &request.Operation{
+ Name: opDeleteHumanTaskUi,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteHumanTaskUiInput{}
+ }
+
+ output = &DeleteHumanTaskUiOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteHumanTaskUi API operation for Amazon SageMaker Service.
+//
+// Use this operation to delete a worker task template (HumanTaskUi).
+//
+// To see a list of human task user interfaces (work task templates) in your
+// account, use . When you delete a worker task template, it no longer appears
+// when you call ListHumanTaskUis.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon SageMaker Service's
+// API operation DeleteHumanTaskUi for usage and error information.
+//
+// Returned Error Types:
+// * ResourceNotFound
+// Resource being access is not found.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteHumanTaskUi
+func (c *SageMaker) DeleteHumanTaskUi(input *DeleteHumanTaskUiInput) (*DeleteHumanTaskUiOutput, error) {
+ req, out := c.DeleteHumanTaskUiRequest(input)
+ return out, req.Send()
+}
+
+// DeleteHumanTaskUiWithContext is the same as DeleteHumanTaskUi with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteHumanTaskUi for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *SageMaker) DeleteHumanTaskUiWithContext(ctx aws.Context, input *DeleteHumanTaskUiInput, opts ...request.Option) (*DeleteHumanTaskUiOutput, error) {
+ req, out := c.DeleteHumanTaskUiRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opDeleteModel = "DeleteModel"
// DeleteModelRequest generates a "aws/request.Request" representing the
@@ -5060,7 +5142,8 @@ func (c *SageMaker) DescribeHumanTaskUiRequest(input *DescribeHumanTaskUiInput)
// DescribeHumanTaskUi API operation for Amazon SageMaker Service.
//
-// Returns information about the requested human task user interface.
+// Returns information about the requested human task user interface (worker
+// task template).
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -12745,7 +12828,7 @@ func (c *SageMaker) UpdateWorkforceRequest(input *UpdateWorkforceInput) (req *re
//
// Restricts access to tasks assigned to workers in the specified workforce
// to those within specific ranges of IP addresses. You specify allowed IP addresses
-// by creating a list of up to four CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html).
+// by creating a list of up to ten CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html).
//
// By default, a workforce isn't restricted to specific IP addresses. If you
// specify a range of IP addresses, workers who attempt to access tasks using
@@ -13384,16 +13467,20 @@ func (s *AlgorithmValidationSpecification) SetValidationRole(v string) *Algorith
return s
}
-// Configures how labels are consolidated across human workers.
+// Configures how labels are consolidated across human workers and processes
+// output data.
type AnnotationConsolidationConfig struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of a Lambda function implements the logic
- // for annotation consolidation.
+ // for annotation consolidation (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html)
+ // and to process output data.
//
- // For the built-in bounding box, image classification, semantic segmentation,
- // and text classification task types, Amazon SageMaker Ground Truth provides
- // the following Lambda functions:
+ // This parameter is required for all labeling jobs. For built-in task types
+ // (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html), use
+ // one of the following Amazon SageMaker Ground Truth Lambda function ARNs for
+ // AnnotationConsolidationLambdaArn. For custom labeling workflows, see Post-annotation
+ // Lambda (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step3.html#sms-custom-templates-step3-postlambda).
//
// Bounding box - Finds the most similar boxes from different workers based
// on the Jaccard index of the boxes.
@@ -13496,22 +13583,81 @@ type AnnotationConsolidationConfig struct {
// arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-NamedEntityRecognition
// arn:aws:lambda:ca-central-1:918755190332:function:ACS-NamedEntityRecognition
//
- // Bounding box verification - Uses a variant of the Expectation Maximization
- // approach to estimate the true class of verification judgement for bounding
- // box labels based on annotations from individual workers.
+ // 3D point cloud object detection - Use this task type when you want workers
+ // to classify objects in a 3D point cloud by drawing 3D cuboids around objects.
+ // For example, you can use this task type to ask workers to identify different
+ // types of objects in a point cloud, such as cars, bikes, and pedestrians.
+ //
+ // * arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudObjectDetection
+ // arn:aws:lambda:us-east-2:266458841044:function:ACS-3DPointCloudObjectDetection
+ // arn:aws:lambda:us-west-2:081040173940:function:ACS-3DPointCloudObjectDetection
+ // arn:aws:lambda:eu-west-1:568282634449:function:ACS-3DPointCloudObjectDetection
+ // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-3DPointCloudObjectDetection
+ // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-3DPointCloudObjectDetection
+ // arn:aws:lambda:ap-south-1:565803892007:function:ACS-3DPointCloudObjectDetection
+ // arn:aws:lambda:eu-central-1:203001061592:function:ACS-3DPointCloudObjectDetection
+ // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-3DPointCloudObjectDetection
+ // arn:aws:lambda:eu-west-2:487402164563:function:ACS-3DPointCloudObjectDetection
+ // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-3DPointCloudObjectDetection
+ // arn:aws:lambda:ca-central-1:918755190332:function:ACS-3DPointCloudObjectDetection
+ //
+ // 3D point cloud object tracking - Use this task type when you want workers
+ // to draw 3D cuboids around objects that appear in a sequence of 3D point cloud
+ // frames. For example, you can use this task type to ask workers to track the
+ // movement of vehicles across multiple point cloud frames.
+ //
+ // * arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudObjectTracking
+ // arn:aws:lambda:us-east-2:266458841044:function:ACS-3DPointCloudObjectTracking
+ // arn:aws:lambda:us-west-2:081040173940:function:ACS-3DPointCloudObjectTracking
+ // arn:aws:lambda:eu-west-1:568282634449:function:ACS-3DPointCloudObjectTracking
+ // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-3DPointCloudObjectTracking
+ // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-3DPointCloudObjectTracking
+ // arn:aws:lambda:ap-south-1:565803892007:function:ACS-3DPointCloudObjectTracking
+ // arn:aws:lambda:eu-central-1:203001061592:function:ACS-3DPointCloudObjectTracking
+ // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-3DPointCloudObjectTracking
+ // arn:aws:lambda:eu-west-2:487402164563:function:ACS-3DPointCloudObjectTracking
+ // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-3DPointCloudObjectTracking
+ // arn:aws:lambda:ca-central-1:918755190332:function:ACS-3DPointCloudObjectTracking
+ //
+ // 3D point cloud semantic segmentation - Use this task type when you want workers
+ // to create a point-level semantic segmentation masks by painting objects in
+ // a 3D point cloud using different colors where each color is assigned to one
+ // of the classes you specify.
+ //
+ // * arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:us-east-2:266458841044:function:ACS-3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:us-west-2:081040173940:function:ACS-3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:eu-west-1:568282634449:function:ACS-3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:ap-south-1:565803892007:function:ACS-3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:eu-central-1:203001061592:function:ACS-3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:eu-west-2:487402164563:function:ACS-3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:ca-central-1:918755190332:function:ACS-3DPointCloudSemanticSegmentation
+ //
+ // Use the following ARNs for Label Verification and Adjustment Jobs
+ //
+ // Use label verification and adjustment jobs to review and adjust labels. To
+ // learn more, see Verify and Adjust Labels (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-verification-data.html).
//
- // * arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationBoundingBox
- // arn:aws:lambda:us-east-2:266458841044:function:ACS-VerificationBoundingBox
- // arn:aws:lambda:us-west-2:081040173940:function:ACS-VerificationBoundingBox
- // arn:aws:lambda:eu-west-1:568282634449:function:ACS-VerificationBoundingBox
- // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VerificationBoundingBox
- // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VerificationBoundingBox
- // arn:aws:lambda:ap-south-1:565803892007:function:ACS-VerificationBoundingBox
- // arn:aws:lambda:eu-central-1:203001061592:function:ACS-VerificationBoundingBox
- // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VerificationBoundingBox
- // arn:aws:lambda:eu-west-2:487402164563:function:ACS-VerificationBoundingBox
- // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VerificationBoundingBox
- // arn:aws:lambda:ca-central-1:918755190332:function:ACS-VerificationBoundingBox
+ // Semantic segmentation adjustment - Treats each pixel in an image as a multi-class
+ // classification and treats pixel adjusted annotations from workers as "votes"
+ // for the correct label.
+ //
+ // * arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentSemanticSegmentation
+ // arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentSemanticSegmentation
+ // arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentSemanticSegmentation
+ // arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentSemanticSegmentation
+ // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-AdjustmentSemanticSegmentation
+ // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-AdjustmentSemanticSegmentation
+ // arn:aws:lambda:ap-south-1:565803892007:function:ACS-AdjustmentSemanticSegmentation
+ // arn:aws:lambda:eu-central-1:203001061592:function:ACS-AdjustmentSemanticSegmentation
+ // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-AdjustmentSemanticSegmentation
+ // arn:aws:lambda:eu-west-2:487402164563:function:ACS-AdjustmentSemanticSegmentation
+ // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentSemanticSegmentation
+ // arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentSemanticSegmentation
//
// Semantic segmentation verification - Uses a variant of the Expectation Maximization
// approach to estimate the true class of verification judgment for semantic
@@ -13530,6 +13676,23 @@ type AnnotationConsolidationConfig struct {
// arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VerificationSemanticSegmentation
// arn:aws:lambda:ca-central-1:918755190332:function:ACS-VerificationSemanticSegmentation
//
+ // Bounding box verification - Uses a variant of the Expectation Maximization
+ // approach to estimate the true class of verification judgement for bounding
+ // box labels based on annotations from individual workers.
+ //
+ // * arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationBoundingBox
+ // arn:aws:lambda:us-east-2:266458841044:function:ACS-VerificationBoundingBox
+ // arn:aws:lambda:us-west-2:081040173940:function:ACS-VerificationBoundingBox
+ // arn:aws:lambda:eu-west-1:568282634449:function:ACS-VerificationBoundingBox
+ // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VerificationBoundingBox
+ // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VerificationBoundingBox
+ // arn:aws:lambda:ap-south-1:565803892007:function:ACS-VerificationBoundingBox
+ // arn:aws:lambda:eu-central-1:203001061592:function:ACS-VerificationBoundingBox
+ // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VerificationBoundingBox
+ // arn:aws:lambda:eu-west-2:487402164563:function:ACS-VerificationBoundingBox
+ // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VerificationBoundingBox
+ // arn:aws:lambda:ca-central-1:918755190332:function:ACS-VerificationBoundingBox
+ //
// Bounding box adjustment - Finds the most similar boxes from different workers
// based on the Jaccard index of the adjusted annotations.
//
@@ -13546,24 +13709,55 @@ type AnnotationConsolidationConfig struct {
// arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentBoundingBox
// arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentBoundingBox
//
- // Semantic segmentation adjustment - Treats each pixel in an image as a multi-class
- // classification and treats pixel adjusted annotations from workers as "votes"
- // for the correct label.
- //
- // * arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentSemanticSegmentation
- // arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentSemanticSegmentation
- // arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentSemanticSegmentation
- // arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentSemanticSegmentation
- // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-AdjustmentSemanticSegmentation
- // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-AdjustmentSemanticSegmentation
- // arn:aws:lambda:ap-south-1:565803892007:function:ACS-AdjustmentSemanticSegmentation
- // arn:aws:lambda:eu-central-1:203001061592:function:ACS-AdjustmentSemanticSegmentation
- // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-AdjustmentSemanticSegmentation
- // arn:aws:lambda:eu-west-2:487402164563:function:ACS-AdjustmentSemanticSegmentation
- // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentSemanticSegmentation
- // arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentSemanticSegmentation
- //
- // For more information, see Annotation Consolidation (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html).
+ // 3D point cloud object detection adjustment - Use this task type when you
+ // want workers to adjust 3D cuboids around objects in a 3D point cloud.
+ //
+ // * arn:aws:lambda:us-east-1:432418664414:function:ACS-Adjustment3DPointCloudObjectDetection
+ // arn:aws:lambda:us-east-2:266458841044:function:ACS-Adjustment3DPointCloudObjectDetection
+ // arn:aws:lambda:us-west-2:081040173940:function:ACS-Adjustment3DPointCloudObjectDetection
+ // arn:aws:lambda:eu-west-1:568282634449:function:ACS-Adjustment3DPointCloudObjectDetection
+ // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-Adjustment3DPointCloudObjectDetection
+ // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-Adjustment3DPointCloudObjectDetection
+ // arn:aws:lambda:ap-south-1:565803892007:function:ACS-Adjustment3DPointCloudObjectDetection
+ // arn:aws:lambda:eu-central-1:203001061592:function:ACS-Adjustment3DPointCloudObjectDetection
+ // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-Adjustment3DPointCloudObjectDetection
+ // arn:aws:lambda:eu-west-2:487402164563:function:ACS-Adjustment3DPointCloudObjectDetection
+ // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-Adjustment3DPointCloudObjectDetection
+ // arn:aws:lambda:ca-central-1:918755190332:function:ACS-Adjustment3DPointCloudObjectDetection
+ //
+ // 3D point cloud object tracking adjustment - Use this task type when you want
+ // workers to adjust 3D cuboids around objects that appear in a sequence of
+ // 3D point cloud frames.
+ //
+ // * arn:aws:lambda:us-east-1:432418664414:function:ACS-Adjustment3DPointCloudObjectTracking
+ // arn:aws:lambda:us-east-2:266458841044:function:ACS-Adjustment3DPointCloudObjectTracking
+ // arn:aws:lambda:us-west-2:081040173940:function:ACS-Adjustment3DPointCloudObjectTracking
+ // arn:aws:lambda:eu-west-1:568282634449:function:ACS-Adjustment3DPointCloudObjectTracking
+ // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-Adjustment3DPointCloudObjectTracking
+ // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-Adjustment3DPointCloudObjectTracking
+ // arn:aws:lambda:ap-south-1:565803892007:function:ACS-Adjustment3DPointCloudObjectTracking
+ // arn:aws:lambda:eu-central-1:203001061592:function:ACS-Adjustment3DPointCloudObjectTracking
+ // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-Adjustment3DPointCloudObjectTracking
+ // arn:aws:lambda:eu-west-2:487402164563:function:ACS-Adjustment3DPointCloudObjectTracking
+ // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-Adjustment3DPointCloudObjectTracking
+ // arn:aws:lambda:ca-central-1:918755190332:function:ACS-Adjustment3DPointCloudObjectTracking
+ //
+ // 3D point cloud semantic segmentation adjustment - Use this task type when
+ // you want workers to adjust a point-level semantic segmentation masks using
+ // a paint tool.
+ //
+ // * arn:aws:lambda:us-east-1:432418664414:function:ACS-Adjustment3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:us-east-2:266458841044:function:ACS-Adjustment3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:us-west-2:081040173940:function:ACS-Adjustment3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:eu-west-1:568282634449:function:ACS-Adjustment3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-Adjustment3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-Adjustment3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:ap-south-1:565803892007:function:ACS-Adjustment3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:eu-central-1:203001061592:function:ACS-Adjustment3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-Adjustment3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:eu-west-2:487402164563:function:ACS-Adjustment3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-Adjustment3DPointCloudSemanticSegmentation
+ // arn:aws:lambda:ca-central-1:918755190332:function:ACS-Adjustment3DPointCloudSemanticSegmentation
//
// AnnotationConsolidationLambdaArn is a required field
AnnotationConsolidationLambdaArn *string `type:"string" required:"true"`
@@ -17484,7 +17678,14 @@ type CreateLabelingJobInput struct {
// The S3 URL of the file that defines the categories used to label the data
// objects.
//
- // The file is a JSON structure in the following format:
+ // For 3D point cloud task types, see Create a Labeling Category Configuration
+ // File for 3D Point Cloud Labeling Jobs (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-label-category-config.html).
+ //
+ // For all other built-in task types (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html)
+ // and custom tasks (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html),
+ // your label category configuration file must be a JSON file in the following
+ // format. Identify the labels you want to use by replacing label_1, label_2,...,label_n
+ // with your label categories.
//
// {
//
@@ -17494,13 +17695,13 @@ type CreateLabelingJobInput struct {
//
// {
//
- // "label": "label 1"
+ // "label": "label_1"
//
// },
//
// {
//
- // "label": "label 2"
+ // "label": "label_2"
//
// },
//
@@ -17508,7 +17709,7 @@ type CreateLabelingJobInput struct {
//
// {
//
- // "label": "label n"
+ // "label": "label_n"
//
// }
//
@@ -21150,6 +21351,62 @@ func (s DeleteFlowDefinitionOutput) GoString() string {
return s.String()
}
+type DeleteHumanTaskUiInput struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the human task user interface (work task template) you want to
+ // delete.
+ //
+ // HumanTaskUiName is a required field
+ HumanTaskUiName *string `min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteHumanTaskUiInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteHumanTaskUiInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteHumanTaskUiInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteHumanTaskUiInput"}
+ if s.HumanTaskUiName == nil {
+ invalidParams.Add(request.NewErrParamRequired("HumanTaskUiName"))
+ }
+ if s.HumanTaskUiName != nil && len(*s.HumanTaskUiName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("HumanTaskUiName", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetHumanTaskUiName sets the HumanTaskUiName field's value.
+func (s *DeleteHumanTaskUiInput) SetHumanTaskUiName(v string) *DeleteHumanTaskUiInput {
+ s.HumanTaskUiName = &v
+ return s
+}
+
+type DeleteHumanTaskUiOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteHumanTaskUiOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteHumanTaskUiOutput) GoString() string {
+ return s.String()
+}
+
type DeleteModelInput struct {
_ struct{} `type:"structure"`
@@ -23379,6 +23636,7 @@ type DescribeFlowDefinitionOutput struct {
// CreationTime is a required field
CreationTime *time.Time `type:"timestamp" required:"true"`
+ // The reason your flow definition failed.
FailureReason *string `type:"string"`
// The Amazon Resource Name (ARN) of the flow defintion.
@@ -23494,7 +23752,8 @@ func (s *DescribeFlowDefinitionOutput) SetRoleArn(v string) *DescribeFlowDefinit
type DescribeHumanTaskUiInput struct {
_ struct{} `type:"structure"`
- // The name of the human task user interface you want information about.
+ // The name of the human task user interface (worker task template) you want
+ // information about.
//
// HumanTaskUiName is a required field
HumanTaskUiName *string `min:"1" type:"string" required:"true"`
@@ -23540,16 +23799,21 @@ type DescribeHumanTaskUiOutput struct {
// CreationTime is a required field
CreationTime *time.Time `type:"timestamp" required:"true"`
- // The Amazon Resource Name (ARN) of the human task user interface.
+ // The Amazon Resource Name (ARN) of the human task user interface (worker task
+ // template).
//
// HumanTaskUiArn is a required field
HumanTaskUiArn *string `type:"string" required:"true"`
- // The name of the human task user interface.
+ // The name of the human task user interface (worker task template).
//
// HumanTaskUiName is a required field
HumanTaskUiName *string `min:"1" type:"string" required:"true"`
+ // The status of the human task user interface (worker task template). Valid
+ // values are listed below.
+ HumanTaskUiStatus *string `type:"string" enum:"HumanTaskUiStatus"`
+
// Container for user interface template information.
//
// UiTemplate is a required field
@@ -23584,6 +23848,12 @@ func (s *DescribeHumanTaskUiOutput) SetHumanTaskUiName(v string) *DescribeHumanT
return s
}
+// SetHumanTaskUiStatus sets the HumanTaskUiStatus field's value.
+func (s *DescribeHumanTaskUiOutput) SetHumanTaskUiStatus(v string) *DescribeHumanTaskUiOutput {
+ s.HumanTaskUiStatus = &v
+ return s
+}
+
// SetUiTemplate sets the UiTemplate field's value.
func (s *DescribeHumanTaskUiOutput) SetUiTemplate(v *UiTemplateInfo) *DescribeHumanTaskUiOutput {
s.UiTemplate = v
@@ -23593,7 +23863,7 @@ func (s *DescribeHumanTaskUiOutput) SetUiTemplate(v *UiTemplateInfo) *DescribeHu
type DescribeHyperParameterTuningJobInput struct {
_ struct{} `type:"structure"`
- // The name of the tuning job to describe.
+ // The name of the tuning job.
//
// HyperParameterTuningJobName is a required field
HyperParameterTuningJobName *string `min:"1" type:"string" required:"true"`
@@ -28545,9 +28815,10 @@ type HumanTaskConfig struct {
// data object is sent to a human worker. Use this function to provide input
// to a custom labeling job.
//
- // For the built-in bounding box, image classification, semantic segmentation,
- // and text classification task types, Amazon SageMaker Ground Truth provides
- // the following Lambda functions:
+ // For built-in task types (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html),
+ // use one of the following Amazon SageMaker Ground Truth Lambda function ARNs
+ // for PreHumanTaskLambdaArn. For custom labeling workflows, see Pre-annotation
+ // Lambda (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step3.html#sms-custom-templates-step3-prelambda).
//
// Bounding box - Finds the most similar boxes from different workers based
// on the Jaccard index of the boxes.
@@ -28741,33 +29012,131 @@ type HumanTaskConfig struct {
//
// * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-NamedEntityRecognition
//
+ // 3D Point Cloud Modalities
+ //
+ // Use the following pre-annotation lambdas for 3D point cloud labeling modality
+ // tasks. See 3D Point Cloud Task types (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-task-types.html)
+ // to learn more.
+ //
+ // 3D Point Cloud Object Detection - Use this task type when you want workers
+ // to classify objects in a 3D point cloud by drawing 3D cuboids around objects.
+ // For example, you can use this task type to ask workers to identify different
+ // types of objects in a point cloud, such as cars, bikes, and pedestrians.
+ //
+ // * arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudObjectDetection
+ //
+ // 3D Point Cloud Object Tracking - Use this task type when you want workers
+ // to draw 3D cuboids around objects that appear in a sequence of 3D point cloud
+ // frames. For example, you can use this task type to ask workers to track the
+ // movement of vehicles across multiple point cloud frames.
+ //
+ // * arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudObjectTracking
+ //
+ // 3D Point Cloud Semantic Segmentation - Use this task type when you want workers
+ // to create a point-level semantic segmentation masks by painting objects in
+ // a 3D point cloud using different colors where each color is assigned to one
+ // of the classes you specify.
+ //
+ // * arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudSemanticSegmentation
+ //
+ // Use the following ARNs for Label Verification and Adjustment Jobs
+ //
+ // Use label verification and adjustment jobs to review and adjust labels. To
+ // learn more, see Verify and Adjust Labels (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-verification-data.html).
+ //
// Bounding box verification - Uses a variant of the Expectation Maximization
// approach to estimate the true class of verification judgement for bounding
// box labels based on annotations from individual workers.
//
- // * arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationBoundingBox
+ // * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudObjectTracking
//
- // * arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationBoundingBox
+ // * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudObjectTracking
//
- // * arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationBoundingBox
+ // * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudObjectTracking
//
- // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationBoundingBox
+ // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudObjectTracking
//
- // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationBoundingBox
+ // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudObjectTracking
//
- // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationBoundingBox
+ // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudObjectTracking
//
- // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationBoundingBox
+ // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudObjectTracking
//
- // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VerificationBoundingBox
+ // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudObjectTracking
//
- // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationBoundingBox
+ // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudObjectTracking
//
- // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationBoundingBox
+ // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudObjectTracking
//
- // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VerificationBoundingBox
+ // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudObjectTracking
//
- // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VerificationBoundingBox
+ // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudObjectTracking
//
// Bounding box adjustment - Finds the most similar boxes from different workers
// based on the Jaccard index of the adjusted annotations.
@@ -28852,6 +29221,87 @@ type HumanTaskConfig struct {
//
// * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentSemanticSegmentation
//
+ // 3D point cloud object detection adjustment - Adjust 3D cuboids in a point
+ // cloud frame.
+ //
+ // * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudObjectDetection
+ //
+ // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudObjectDetection
+ //
+ // 3D point cloud object tracking adjustment - Adjust 3D cuboids across a sequence
+ // of point cloud frames.
+ //
+ // * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudObjectTracking
+ //
+ // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudObjectTracking
+ //
+ // 3D point cloud semantic segmentation adjustment - Adjust semantic segmentation
+ // masks in a 3D point cloud.
+ //
+ // * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudSemanticSegmentation
+ //
+ // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudSemanticSegmentation
+ //
// PreHumanTaskLambdaArn is a required field
PreHumanTaskLambdaArn *string `type:"string" required:"true"`
@@ -39408,6 +39858,8 @@ type RenderUiTemplateInput struct {
// The HumanTaskUiArn of the worker UI that you want to render. Do not provide
// a HumanTaskUiArn if you use the UiTemplate parameter.
+ //
+ // See a list of available Human Ui Amazon Resource Names (ARNs) in UiConfig.
HumanTaskUiArn *string `type:"string"`
// The Amazon Resource Name (ARN) that has access to the S3 objects that are
@@ -40111,18 +40563,22 @@ type S3DataSource struct {
// Depending on the value specified for the S3DataType, identifies either a
// key name prefix or a manifest. For example:
//
- // * A key name prefix might look like this: s3://bucketname/exampleprefix.
+ // * A key name prefix might look like this: s3://bucketname/exampleprefix
//
- // * A manifest might look like this: s3://bucketname/example.manifest The
- // manifest is an S3 object which is a JSON file with the following format:
- // The preceding JSON matches the following s3Uris: [ {"prefix": "s3://customer_bucket/some/prefix/"},
+ // * A manifest might look like this: s3://bucketname/example.manifest A
+ // manifest is an S3 object which is a JSON file consisting of an array of
+ // elements. The first element is a prefix which is followed by one or more
+ // suffixes. SageMaker appends the suffix elements to the prefix to get a
+ // full set of S3Uri. Note that the prefix must be a valid non-empty S3Uri
+ // that precludes users from specifying a manifest whose individual S3Uri
+ // is sourced from different S3 buckets. The following code example shows
+ // a valid manifest format: [ {"prefix": "s3://customer_bucket/some/prefix/"},
// "relative/path/to/custdata-1", "relative/path/custdata-2", ... "relative/path/custdata-N"
- // ] The preceding JSON matches the following s3Uris: s3://customer_bucket/some/prefix/relative/path/to/custdata-1
+ // ] This JSON is equivalent to the following S3Uri list: s3://customer_bucket/some/prefix/relative/path/to/custdata-1
// s3://customer_bucket/some/prefix/relative/path/custdata-2 ... s3://customer_bucket/some/prefix/relative/path/custdata-N
- // The complete set of s3uris in this manifest is the input data for the
- // channel for this datasource. The object that each s3uris points to must
- // be readable by the IAM role that Amazon SageMaker uses to perform tasks
- // on your behalf.
+ // The complete set of S3Uri in this manifest is the input data for the channel
+ // for this data source. The object that each S3Uri points to must be readable
+ // by the IAM role that Amazon SageMaker uses to perform tasks on your behalf.
//
// S3Uri is a required field
S3Uri *string `type:"string" required:"true"`
@@ -40917,10 +41373,10 @@ func (s *SourceAlgorithmSpecification) SetSourceAlgorithms(v []*SourceAlgorithm)
type SourceIpConfig struct {
_ struct{} `type:"structure"`
- // A list of one to four Classless Inter-Domain Routing (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
+ // A list of one to ten Classless Inter-Domain Routing (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
// (CIDR) values.
//
- // Maximum: Four CIDR values
+ // Maximum: Ten CIDR values
//
// The following Length Constraints apply to individual CIDR values in the CIDR
// value list.
@@ -41634,6 +42090,7 @@ func (s *StoppingCondition) SetMaxWaitTimeInSeconds(v int64) *StoppingCondition
type SubscribedWorkteam struct {
_ struct{} `type:"structure"`
+ // Marketplace product listing ID.
ListingId *string `type:"string"`
// The description of the vendor from the Amazon Marketplace.
@@ -44345,7 +44802,28 @@ type UiConfig struct {
_ struct{} `type:"structure"`
// The ARN of the worker task template used to render the worker UI and tools
- // for labeling job tasks. Do not use this parameter if you use UiTemplateS3Uri.
+ // for labeling job tasks.
+ //
+ // Use this parameter when you are creating a labeling job for 3D point cloud
+ // labeling modalities. Use your labeling job task type to select one of the
+ // following ARN's and use it with this parameter when you create a labeling
+ // job. Replace aws-region with the AWS region you are creating your labeling
+ // job in.
+ //
+ // Use this HumanTaskUiArn for 3D point cloud object detection and 3D point
+ // cloud object detection adjustment labeling jobs.
+ //
+ // * arn:aws:sagemaker:aws-region:394669845002:human-task-ui/PointCloudObjectDetection
+ //
+ // Use this HumanTaskUiArn for 3D point cloud object tracking and 3D point cloud
+ // object tracking adjustment labeling jobs.
+ //
+ // * arn:aws:sagemaker:aws-region:394669845002:human-task-ui/PointCloudObjectTracking
+ //
+ // Use this HumanTaskUiArn for 3D point cloud semantic segmentation and 3D point
+ // cloud semantic segmentation adjustment labeling jobs.
+ //
+ // * arn:aws:sagemaker:aws-region:394669845002:human-task-ui/PointCloudSemanticSegmentation
HumanTaskUiArn *string `type:"string"`
// The Amazon S3 bucket location of the UI template, or worker task template.
@@ -45641,10 +46119,10 @@ func (s *UpdateUserProfileOutput) SetUserProfileArn(v string) *UpdateUserProfile
type UpdateWorkforceInput struct {
_ struct{} `type:"structure"`
- // A list of one to four worker IP address ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html))
+ // A list of one to ten worker IP address ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html))
// that can be used to access tasks assigned to this workforce.
//
- // Maximum: Four CIDR values
+ // Maximum: Ten CIDR values
SourceIpConfig *SourceIpConfig `type:"structure"`
// The name of the private workforce whose access you want to restrict. WorkforceName
@@ -46151,7 +46629,7 @@ type Workforce struct {
// to a private workforce's allow list.
LastUpdatedDate *time.Time `type:"timestamp"`
- // A list of one to four IP address ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html))
+ // A list of one to ten IP address ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html))
// to be added to the workforce allow list.
SourceIpConfig *SourceIpConfig `type:"structure"`
@@ -46891,6 +47369,14 @@ const (
FrameworkTflite = "TFLITE"
)
+const (
+ // HumanTaskUiStatusActive is a HumanTaskUiStatus enum value
+ HumanTaskUiStatusActive = "Active"
+
+ // HumanTaskUiStatusDeleting is a HumanTaskUiStatus enum value
+ HumanTaskUiStatusDeleting = "Deleting"
+)
+
const (
// HyperParameterScalingTypeAuto is a HyperParameterScalingType enum value
HyperParameterScalingTypeAuto = "Auto"
diff --git a/service/sagemaker/sagemakeriface/interface.go b/service/sagemaker/sagemakeriface/interface.go
index 0ef62e25a85..e928be3c75a 100644
--- a/service/sagemaker/sagemakeriface/interface.go
+++ b/service/sagemaker/sagemakeriface/interface.go
@@ -208,6 +208,10 @@ type SageMakerAPI interface {
DeleteFlowDefinitionWithContext(aws.Context, *sagemaker.DeleteFlowDefinitionInput, ...request.Option) (*sagemaker.DeleteFlowDefinitionOutput, error)
DeleteFlowDefinitionRequest(*sagemaker.DeleteFlowDefinitionInput) (*request.Request, *sagemaker.DeleteFlowDefinitionOutput)
+ DeleteHumanTaskUi(*sagemaker.DeleteHumanTaskUiInput) (*sagemaker.DeleteHumanTaskUiOutput, error)
+ DeleteHumanTaskUiWithContext(aws.Context, *sagemaker.DeleteHumanTaskUiInput, ...request.Option) (*sagemaker.DeleteHumanTaskUiOutput, error)
+ DeleteHumanTaskUiRequest(*sagemaker.DeleteHumanTaskUiInput) (*request.Request, *sagemaker.DeleteHumanTaskUiOutput)
+
DeleteModel(*sagemaker.DeleteModelInput) (*sagemaker.DeleteModelOutput, error)
DeleteModelWithContext(aws.Context, *sagemaker.DeleteModelInput, ...request.Option) (*sagemaker.DeleteModelOutput, error)
DeleteModelRequest(*sagemaker.DeleteModelInput) (*request.Request, *sagemaker.DeleteModelOutput)
diff --git a/service/secretsmanager/api.go b/service/secretsmanager/api.go
index 7dfecc65803..c6e769105bc 100644
--- a/service/secretsmanager/api.go
+++ b/service/secretsmanager/api.go
@@ -58,28 +58,28 @@ func (c *SecretsManager) CancelRotateSecretRequest(input *CancelRotateSecretInpu
// CancelRotateSecret API operation for AWS Secrets Manager.
//
// Disables automatic scheduled rotation and cancels the rotation of a secret
-// if one is currently in progress.
+// if currently in progress.
//
// To re-enable scheduled rotation, call RotateSecret with AutomaticallyRotateAfterDays
-// set to a value greater than 0. This will immediately rotate your secret and
-// then enable the automatic schedule.
+// set to a value greater than 0. This immediately rotates your secret and then
+// enables the automatic schedule.
//
-// If you cancel a rotation that is in progress, it can leave the VersionStage
-// labels in an unexpected state. Depending on what step of the rotation was
-// in progress, you might need to remove the staging label AWSPENDING from the
-// partially created version, specified by the VersionId response value. You
-// should also evaluate the partially rotated new version to see if it should
-// be deleted, which you can do by removing all staging labels from the new
-// version's VersionStage field.
+// If you cancel a rotation while in progress, it can leave the VersionStage
+// labels in an unexpected state. Depending on the step of the rotation in progress,
+// you might need to remove the staging label AWSPENDING from the partially
+// created version, specified by the VersionId response value. You should also
+// evaluate the partially rotated new version to see if it should be deleted,
+// which you can do by removing all staging labels from the new version VersionStage
+// field.
//
// To successfully start a rotation, the staging label AWSPENDING must be in
// one of the following states:
//
-// * Not be attached to any version at all
+// * Not attached to any version at all
//
// * Attached to the same version as the staging label AWSCURRENT
//
-// If the staging label AWSPENDING is attached to a different version than the
+// If the staging label AWSPENDING attached to a different version than the
// version with AWSCURRENT then the attempt to rotate fails.
//
// Minimum permissions
@@ -205,7 +205,7 @@ func (c *SecretsManager) CreateSecretRequest(input *CreateSecretInput) (req *req
// labels" that identify where the version is in the rotation cycle. The SecretVersionsToStages
// field of the secret contains the mapping of staging labels to the active
// versions of the secret. Versions without a staging label are considered deprecated
-// and are not included in the list.
+// and not included in the list.
//
// You provide the secret data to be encrypted by putting text in either the
// SecretString parameter or binary data in the SecretBinary parameter, but
@@ -213,20 +213,19 @@ func (c *SecretsManager) CreateSecretRequest(input *CreateSecretInput) (req *req
// also creates an initial secret version and automatically attaches the staging
// label AWSCURRENT to the new version.
//
-// * If you call an operation that needs to encrypt or decrypt the SecretString
-// or SecretBinary for a secret in the same account as the calling user and
-// that secret doesn't specify a AWS KMS encryption key, Secrets Manager
-// uses the account's default AWS managed customer master key (CMK) with
-// the alias aws/secretsmanager. If this key doesn't already exist in your
-// account then Secrets Manager creates it for you automatically. All users
-// and roles in the same AWS account automatically have access to use the
-// default CMK. Note that if an Secrets Manager API call results in AWS having
-// to create the account's AWS-managed CMK, it can result in a one-time significant
-// delay in returning the result.
-//
-// * If the secret is in a different AWS account from the credentials calling
-// an API that requires encryption or decryption of the secret value then
-// you must create and use a custom AWS KMS CMK because you can't access
+// * If you call an operation to encrypt or decrypt the SecretString or SecretBinary
+// for a secret in the same account as the calling user and that secret doesn't
+// specify a AWS KMS encryption key, Secrets Manager uses the account's default
+// AWS managed customer master key (CMK) with the alias aws/secretsmanager.
+// If this key doesn't already exist in your account then Secrets Manager
+// creates it for you automatically. All users and roles in the same AWS
+// account automatically have access to use the default CMK. Note that if
+// an Secrets Manager API call results in AWS creating the account's AWS-managed
+// CMK, it can result in a one-time significant delay in returning the result.
+//
+// * If the secret resides in a different AWS account from the credentials
+// calling an API that requires encryption or decryption of the secret value
+// then you must create and use a custom AWS KMS CMK because you can't access
// the default CMK for the account using credentials from a different AWS
// account. Store the ARN of the CMK in the secret when you create the secret
// or when you update it by including it in the KMSKeyId. If you call an
@@ -243,10 +242,10 @@ func (c *SecretsManager) CreateSecretRequest(input *CreateSecretInput) (req *req
//
// * kms:GenerateDataKey - needed only if you use a customer-managed AWS
// KMS key to encrypt the secret. You do not need this permission to use
-// the account's default AWS managed CMK for Secrets Manager.
+// the account default AWS managed CMK for Secrets Manager.
//
// * kms:Decrypt - needed only if you use a customer-managed AWS KMS key
-// to encrypt the secret. You do not need this permission to use the account's
+// to encrypt the secret. You do not need this permission to use the account
// default AWS managed CMK for Secrets Manager.
//
// * secretsmanager:TagResource - needed only if you include the Tags parameter.
@@ -384,7 +383,7 @@ func (c *SecretsManager) DeleteResourcePolicyRequest(input *DeleteResourcePolicy
// DeleteResourcePolicy API operation for AWS Secrets Manager.
//
-// Deletes the resource-based permission policy that's attached to the secret.
+// Deletes the resource-based permission policy attached to the secret.
//
// Minimum permissions
//
@@ -628,7 +627,7 @@ func (c *SecretsManager) DescribeSecretRequest(input *DescribeSecretInput) (req
// DescribeSecret API operation for AWS Secrets Manager.
//
// Retrieves the details of a secret. It does not include the encrypted fields.
-// Only those fields that are populated with a value are returned in the response.
+// Secrets Manager only returns fields populated with a value in the response.
//
// Minimum permissions
//
@@ -831,10 +830,10 @@ func (c *SecretsManager) GetResourcePolicyRequest(input *GetResourcePolicyInput)
// GetResourcePolicy API operation for AWS Secrets Manager.
//
-// Retrieves the JSON text of the resource-based policy document that's attached
-// to the specified secret. The JSON request string input and response output
-// are shown formatted with white space and line breaks for better readability.
-// Submit your input as a single line JSON string.
+// Retrieves the JSON text of the resource-based policy document attached to
+// the specified secret. The JSON request string input and response output displays
+// formatted code with white space and line breaks for better readability. Submit
+// your input as a single line JSON string.
//
// Minimum permissions
//
@@ -846,8 +845,7 @@ func (c *SecretsManager) GetResourcePolicyRequest(input *GetResourcePolicyInput)
//
// * To attach a resource policy to a secret, use PutResourcePolicy.
//
-// * To delete the resource-based policy that's attached to a secret, use
-// DeleteResourcePolicy.
+// * To delete the resource-based policy attached to a secret, use DeleteResourcePolicy.
//
// * To list all of the currently available secrets, use ListSecrets.
//
@@ -1077,7 +1075,7 @@ func (c *SecretsManager) ListSecretVersionIdsRequest(input *ListSecretVersionIds
//
// Always check the NextToken response parameter when calling any of the List*
// operations. These operations can occasionally return an empty or shorter
-// than expected list of results even when there are more results available.
+// than expected list of results even when there more results become available.
// When this happens, the NextToken response parameter contains a value to pass
// to the next call to the same API to request the next part of the list.
//
@@ -1239,7 +1237,7 @@ func (c *SecretsManager) ListSecretsRequest(input *ListSecretsInput) (req *reque
//
// Always check the NextToken response parameter when calling any of the List*
// operations. These operations can occasionally return an empty or shorter
-// than expected list of results even when there are more results available.
+// than expected list of results even when there more results become available.
// When this happens, the NextToken response parameter contains a value to pass
// to the next call to the same API to request the next part of the list.
//
@@ -1408,7 +1406,7 @@ func (c *SecretsManager) PutResourcePolicyRequest(input *PutResourcePolicyInput)
//
// Related operations
//
-// * To retrieve the resource policy that's attached to a secret, use GetResourcePolicy.
+// * To retrieve the resource policy attached to a secret, use GetResourcePolicy.
//
// * To delete the resource-based policy that's attached to a secret, use
// DeleteResourcePolicy.
@@ -1448,6 +1446,9 @@ func (c *SecretsManager) PutResourcePolicyRequest(input *PutResourcePolicyInput)
// Lambda function ARN configured and you didn't include such an ARN as a
// parameter in this call.
//
+// * PublicPolicyException
+// The resource policy did not prevent broad access to the secret.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/PutResourcePolicy
func (c *SecretsManager) PutResourcePolicy(input *PutResourcePolicyInput) (*PutResourcePolicyOutput, error) {
req, out := c.PutResourcePolicyRequest(input)
@@ -1542,20 +1543,19 @@ func (c *SecretsManager) PutSecretValueRequest(input *PutSecretValueInput) (req
// However, if the secret data is different, then the operation fails because
// you cannot modify an existing version; you can only create new ones.
//
-// * If you call an operation that needs to encrypt or decrypt the SecretString
-// or SecretBinary for a secret in the same account as the calling user and
-// that secret doesn't specify a AWS KMS encryption key, Secrets Manager
-// uses the account's default AWS managed customer master key (CMK) with
-// the alias aws/secretsmanager. If this key doesn't already exist in your
-// account then Secrets Manager creates it for you automatically. All users
-// and roles in the same AWS account automatically have access to use the
-// default CMK. Note that if an Secrets Manager API call results in AWS having
-// to create the account's AWS-managed CMK, it can result in a one-time significant
-// delay in returning the result.
-//
-// * If the secret is in a different AWS account from the credentials calling
-// an API that requires encryption or decryption of the secret value then
-// you must create and use a custom AWS KMS CMK because you can't access
+// * If you call an operation to encrypt or decrypt the SecretString or SecretBinary
+// for a secret in the same account as the calling user and that secret doesn't
+// specify a AWS KMS encryption key, Secrets Manager uses the account's default
+// AWS managed customer master key (CMK) with the alias aws/secretsmanager.
+// If this key doesn't already exist in your account then Secrets Manager
+// creates it for you automatically. All users and roles in the same AWS
+// account automatically have access to use the default CMK. Note that if
+// an Secrets Manager API call results in AWS creating the account's AWS-managed
+// CMK, it can result in a one-time significant delay in returning the result.
+//
+// * If the secret resides in a different AWS account from the credentials
+// calling an API that requires encryption or decryption of the secret value
+// then you must create and use a custom AWS KMS CMK because you can't access
// the default CMK for the account using credentials from a different AWS
// account. Store the ARN of the CMK in the secret when you create the secret
// or when you update it by including it in the KMSKeyId. If you call an
@@ -1821,7 +1821,7 @@ func (c *SecretsManager) RotateSecretRequest(input *RotateSecretInput) (req *req
// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html)
// in the AWS Secrets Manager User Guide.
//
-// Secrets Manager schedules the next rotation when the previous one is complete.
+// Secrets Manager schedules the next rotation when the previous one completes.
// Secrets Manager schedules the date by adding the rotation interval (number
// of days) to the actual date of the last rotation. The service chooses the
// hour within that 24-hour date window randomly. The minute is also chosen
@@ -1836,10 +1836,9 @@ func (c *SecretsManager) RotateSecretRequest(input *RotateSecretInput) (req *req
//
// * The AWSPENDING staging label is not attached to any version of the secret.
//
-// If instead the AWSPENDING staging label is present but is not attached to
-// the same version as AWSCURRENT then any later invocation of RotateSecret
-// assumes that a previous rotation request is still in progress and returns
-// an error.
+// If the AWSPENDING staging label is present but not attached to the same version
+// as AWSCURRENT then any later invocation of RotateSecret assumes that a previous
+// rotation request is still in progress and returns an error.
//
// Minimum permissions
//
@@ -1973,14 +1972,14 @@ func (c *SecretsManager) TagResourceRequest(input *TagResourceInput) (req *reque
//
// * Tag keys and values are case sensitive.
//
-// * Do not use the aws: prefix in your tag names or values because it is
-// reserved for AWS use. You can't edit or delete tag names or values with
-// this prefix. Tags with this prefix do not count against your tags per
-// secret limit.
+// * Do not use the aws: prefix in your tag names or values because AWS reserves
+// it for AWS use. You can't edit or delete tag names or values with this
+// prefix. Tags with this prefix do not count against your tags per secret
+// limit.
//
-// * If your tagging schema will be used across multiple services and resources,
-// remember that other services might have restrictions on allowed characters.
-// Generally allowed characters are: letters, spaces, and numbers representable
+// * If you use your tagging schema across multiple services and resources,
+// remember other services might have restrictions on allowed characters.
+// Generally allowed characters: letters, spaces, and numbers representable
// in UTF-8, plus the following special characters: + - = . _ : / @.
//
// If you use tags as part of your security strategy, then adding or removing
@@ -2236,20 +2235,19 @@ func (c *SecretsManager) UpdateSecretRequest(input *UpdateSecretInput) (req *req
// Secrets Manager automatically attaches the staging label AWSCURRENT to
// the new version.
//
-// * If you call an operation that needs to encrypt or decrypt the SecretString
-// or SecretBinary for a secret in the same account as the calling user and
-// that secret doesn't specify a AWS KMS encryption key, Secrets Manager
-// uses the account's default AWS managed customer master key (CMK) with
-// the alias aws/secretsmanager. If this key doesn't already exist in your
-// account then Secrets Manager creates it for you automatically. All users
-// and roles in the same AWS account automatically have access to use the
-// default CMK. Note that if an Secrets Manager API call results in AWS having
-// to create the account's AWS-managed CMK, it can result in a one-time significant
-// delay in returning the result.
-//
-// * If the secret is in a different AWS account from the credentials calling
-// an API that requires encryption or decryption of the secret value then
-// you must create and use a custom AWS KMS CMK because you can't access
+// * If you call an operation to encrypt or decrypt the SecretString or SecretBinary
+// for a secret in the same account as the calling user and that secret doesn't
+// specify a AWS KMS encryption key, Secrets Manager uses the account's default
+// AWS managed customer master key (CMK) with the alias aws/secretsmanager.
+// If this key doesn't already exist in your account then Secrets Manager
+// creates it for you automatically. All users and roles in the same AWS
+// account automatically have access to use the default CMK. Note that if
+// an Secrets Manager API call results in AWS creating the account's AWS-managed
+// CMK, it can result in a one-time significant delay in returning the result.
+//
+// * If the secret resides in a different AWS account from the credentials
+// calling an API that requires encryption or decryption of the secret value
+// then you must create and use a custom AWS KMS CMK because you can't access
// the default CMK for the account using credentials from a different AWS
// account. Store the ARN of the CMK in the secret when you create the secret
// or when you update it by including it in the KMSKeyId. If you call an
@@ -2487,12 +2485,115 @@ func (c *SecretsManager) UpdateSecretVersionStageWithContext(ctx aws.Context, in
return out, req.Send()
}
+const opValidateResourcePolicy = "ValidateResourcePolicy"
+
+// ValidateResourcePolicyRequest generates a "aws/request.Request" representing the
+// client's request for the ValidateResourcePolicy operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ValidateResourcePolicy for more information on using the ValidateResourcePolicy
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ValidateResourcePolicyRequest method.
+// req, resp := client.ValidateResourcePolicyRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/ValidateResourcePolicy
+func (c *SecretsManager) ValidateResourcePolicyRequest(input *ValidateResourcePolicyInput) (req *request.Request, output *ValidateResourcePolicyOutput) {
+ op := &request.Operation{
+ Name: opValidateResourcePolicy,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ValidateResourcePolicyInput{}
+ }
+
+ output = &ValidateResourcePolicyOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ValidateResourcePolicy API operation for AWS Secrets Manager.
+//
+// Validates the JSON text of the resource-based policy document attached to
+// the specified secret. The JSON request string input and response output displays
+// formatted code with white space and line breaks for better readability. Submit
+// your input as a single line JSON string. A resource-based policy is optional.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS Secrets Manager's
+// API operation ValidateResourcePolicy for usage and error information.
+//
+// Returned Error Types:
+// * MalformedPolicyDocumentException
+// The policy document that you provided isn't valid.
+//
+// * ResourceNotFoundException
+// We can't find the resource that you asked for.
+//
+// * InvalidParameterException
+// You provided an invalid value for a parameter.
+//
+// * InternalServiceError
+// An error occurred on the server side.
+//
+// * InvalidRequestException
+// You provided a parameter value that is not valid for the current state of
+// the resource.
+//
+// Possible causes:
+//
+// * You tried to perform the operation on a secret that's currently marked
+// deleted.
+//
+// * You tried to enable rotation on a secret that doesn't already have a
+// Lambda function ARN configured and you didn't include such an ARN as a
+// parameter in this call.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/ValidateResourcePolicy
+func (c *SecretsManager) ValidateResourcePolicy(input *ValidateResourcePolicyInput) (*ValidateResourcePolicyOutput, error) {
+ req, out := c.ValidateResourcePolicyRequest(input)
+ return out, req.Send()
+}
+
+// ValidateResourcePolicyWithContext is the same as ValidateResourcePolicy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ValidateResourcePolicy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *SecretsManager) ValidateResourcePolicyWithContext(ctx aws.Context, input *ValidateResourcePolicyInput, opts ...request.Option) (*ValidateResourcePolicyOutput, error) {
+ req, out := c.ValidateResourcePolicyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
type CancelRotateSecretInput struct {
_ struct{} `type:"structure"`
- // Specifies the secret for which you want to cancel a rotation request. You
- // can specify either the Amazon Resource Name (ARN) or the friendly name of
- // the secret.
+ // Specifies the secret to cancel a rotation request. You can specify either
+ // the Amazon Resource Name (ARN) or the friendly name of the secret.
//
// If you specify an ARN, we generally recommend that you specify a complete
// ARN. You can specify a partial ARN too—for example, if you don’t include
@@ -2504,7 +2605,12 @@ type CancelRotateSecretInput struct {
// a partial ARN, then those characters cause Secrets Manager to assume that
// you’re specifying a complete ARN. This confusion can cause unexpected results.
// To avoid this situation, we recommend that you don’t create secret names
- // that end with a hyphen followed by six characters.
+ // ending with a hyphen followed by six characters.
+ //
+ // If you specify an incomplete ARN without the random suffix, and instead provide
+ // the 'friendly name', you must not include the random suffix. If you do include
+ // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException
+ // or an AccessDeniedException error, depending on your permissions.
//
// SecretId is a required field
SecretId *string `min:"1" type:"string" required:"true"`
@@ -2551,11 +2657,11 @@ type CancelRotateSecretOutput struct {
// The friendly name of the secret for which rotation was canceled.
Name *string `min:"1" type:"string"`
- // The unique identifier of the version of the secret that was created during
- // the rotation. This version might not be complete, and should be evaluated
- // for possible deletion. At the very least, you should remove the VersionStage
- // value AWSPENDING to enable this version to be deleted. Failing to clean up
- // a cancelled rotation can block you from successfully starting future rotations.
+ // The unique identifier of the version of the secret created during the rotation.
+ // This version might not be complete, and should be evaluated for possible
+ // deletion. At the very least, you should remove the VersionStage value AWSPENDING
+ // to enable this version to be deleted. Failing to clean up a cancelled rotation
+ // can block you from successfully starting future rotations.
VersionId *string `min:"32" type:"string"`
}
@@ -2599,7 +2705,7 @@ type CreateSecretInput struct {
// for you and includes it as the value for this parameter in the request. If
// you don't use the SDK and instead generate a raw HTTP request to the Secrets
// Manager service endpoint, then you must generate a ClientRequestToken yourself
- // for the new version and include that value in the request.
+ // for the new version and include the value in the request.
//
// This value helps ensure idempotency. Secrets Manager uses this value to prevent
// the accidental creation of duplicate versions if there are failures and retries
@@ -2609,9 +2715,9 @@ type CreateSecretInput struct {
// * If the ClientRequestToken value isn't already associated with a version
// of the secret then a new version of the secret is created.
//
- // * If a version with this value already exists and that version's SecretString
+ // * If a version with this value already exists and the version SecretString
// and SecretBinary values are the same as those in the request, then the
- // request is ignored (the operation is idempotent).
+ // request is ignored.
//
// * If a version with this value already exists and that version's SecretString
// and SecretBinary values are different from those in the request then the
@@ -2638,9 +2744,9 @@ type CreateSecretInput struct {
// you automatically the first time it needs to encrypt a version's SecretString
// or SecretBinary fields.
//
- // You can use the account's default CMK to encrypt and decrypt only if you
- // call this operation using credentials from the same account that owns the
- // secret. If the secret is in a different account, then you must create a custom
+ // You can use the account default CMK to encrypt and decrypt only if you call
+ // this operation using credentials from the same account that owns the secret.
+ // If the secret resides in a different account, then you must create a custom
// CMK and specify the ARN in this field.
KmsKeyId *string `type:"string"`
@@ -2649,10 +2755,10 @@ type CreateSecretInput struct {
// The secret name must be ASCII letters, digits, or the following characters
// : /_+=.@-
//
- // Don't end your secret name with a hyphen followed by six characters. If you
- // do so, you risk confusion and unexpected results when searching for a secret
- // by partial ARN. This is because Secrets Manager automatically adds a hyphen
- // and six random characters at the end of the ARN.
+ // Do not end your secret name with a hyphen followed by six characters. If
+ // you do so, you risk confusion and unexpected results when searching for a
+ // secret by partial ARN. Secrets Manager automatically adds a hyphen and six
+ // random characters at the end of the ARN.
//
// Name is a required field
Name *string `min:"1" type:"string" required:"true"`
@@ -2688,7 +2794,7 @@ type CreateSecretInput struct {
// JSON for Parameters (https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json)
// in the AWS CLI User Guide. For example:
//
- // [{"username":"bob"},{"password":"abc123xyz456"}]
+ // {"username":"bob","password":"abc123xyz456"}
//
// If your command-line tool or SDK requires quotation marks around the parameter,
// you should use single quotes to avoid confusion with the double quotes required
@@ -2729,14 +2835,14 @@ type CreateSecretInput struct {
//
// * Tag keys and values are case sensitive.
//
- // * Do not use the aws: prefix in your tag names or values because it is
- // reserved for AWS use. You can't edit or delete tag names or values with
- // this prefix. Tags with this prefix do not count against your tags per
- // secret limit.
+ // * Do not use the aws: prefix in your tag names or values because AWS reserves
+ // it for AWS use. You can't edit or delete tag names or values with this
+ // prefix. Tags with this prefix do not count against your tags per secret
+ // limit.
//
- // * If your tagging schema will be used across multiple services and resources,
- // remember that other services might have restrictions on allowed characters.
- // Generally allowed characters are: letters, spaces, and numbers representable
+ // * If you use your tagging schema across multiple services and resources,
+ // remember other services might have restrictions on allowed characters.
+ // Generally allowed characters: letters, spaces, and numbers representable
// in UTF-8, plus the following special characters: + - = . _ : / @.
Tags []*Tag `type:"list"`
}
@@ -2838,8 +2944,8 @@ type CreateSecretOutput struct {
// The friendly name of the secret that you just created.
Name *string `min:"1" type:"string"`
- // The unique identifier that's associated with the version of the secret you
- // just created.
+ // The unique identifier associated with the version of the secret you just
+ // created.
VersionId *string `min:"32" type:"string"`
}
@@ -2945,7 +3051,12 @@ type DeleteResourcePolicyInput struct {
// a partial ARN, then those characters cause Secrets Manager to assume that
// you’re specifying a complete ARN. This confusion can cause unexpected results.
// To avoid this situation, we recommend that you don’t create secret names
- // that end with a hyphen followed by six characters.
+ // ending with a hyphen followed by six characters.
+ //
+ // If you specify an incomplete ARN without the random suffix, and instead provide
+ // the 'friendly name', you must not include the random suffix. If you do include
+ // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException
+ // or an AccessDeniedException error, depending on your permissions.
//
// SecretId is a required field
SecretId *string `min:"1" type:"string" required:"true"`
@@ -3055,7 +3166,12 @@ type DeleteSecretInput struct {
// a partial ARN, then those characters cause Secrets Manager to assume that
// you’re specifying a complete ARN. This confusion can cause unexpected results.
// To avoid this situation, we recommend that you don’t create secret names
- // that end with a hyphen followed by six characters.
+ // ending with a hyphen followed by six characters.
+ //
+ // If you specify an incomplete ARN without the random suffix, and instead provide
+ // the 'friendly name', you must not include the random suffix. If you do include
+ // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException
+ // or an AccessDeniedException error, depending on your permissions.
//
// SecretId is a required field
SecretId *string `min:"1" type:"string" required:"true"`
@@ -3165,7 +3281,12 @@ type DescribeSecretInput struct {
// a partial ARN, then those characters cause Secrets Manager to assume that
// you’re specifying a complete ARN. This confusion can cause unexpected results.
// To avoid this situation, we recommend that you don’t create secret names
- // that end with a hyphen followed by six characters.
+ // ending with a hyphen followed by six characters.
+ //
+ // If you specify an incomplete ARN without the random suffix, and instead provide
+ // the 'friendly name', you must not include the random suffix. If you do include
+ // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException
+ // or an AccessDeniedException error, depending on your permissions.
//
// SecretId is a required field
SecretId *string `min:"1" type:"string" required:"true"`
@@ -3209,6 +3330,9 @@ type DescribeSecretOutput struct {
// The ARN of the secret.
ARN *string `min:"20" type:"string"`
+ // The date that the secret was created.
+ CreatedDate *time.Time `type:"timestamp"`
+
// This value exists if the secret is scheduled for deletion. Some time after
// the specified date and time, Secrets Manager deletes the secret and all of
// its versions.
@@ -3288,6 +3412,12 @@ func (s *DescribeSecretOutput) SetARN(v string) *DescribeSecretOutput {
return s
}
+// SetCreatedDate sets the CreatedDate field's value.
+func (s *DescribeSecretOutput) SetCreatedDate(v time.Time) *DescribeSecretOutput {
+ s.CreatedDate = &v
+ return s
+}
+
// SetDeletedDate sets the DeletedDate field's value.
func (s *DescribeSecretOutput) SetDeletedDate(v time.Time) *DescribeSecretOutput {
s.DeletedDate = &v
@@ -3425,6 +3555,52 @@ func (s *EncryptionFailure) RequestID() string {
return s.RespMetadata.RequestID
}
+// Allows you to filter your list of secrets.
+type Filter struct {
+ _ struct{} `type:"structure"`
+
+ // Filters your list of secrets by a specific key.
+ Key *string `type:"string" enum:"FilterNameStringType"`
+
+ // Filters your list of secrets by a specific value.
+ Values []*string `min:"1" type:"list"`
+}
+
+// String returns the string representation
+func (s Filter) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Filter) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *Filter) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "Filter"}
+ if s.Values != nil && len(s.Values) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Values", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetKey sets the Key field's value.
+func (s *Filter) SetKey(v string) *Filter {
+ s.Key = &v
+ return s
+}
+
+// SetValues sets the Values field's value.
+func (s *Filter) SetValues(v []*string) *Filter {
+ s.Values = v
+ return s
+}
+
type GetRandomPasswordInput struct {
_ struct{} `type:"structure"`
@@ -3584,7 +3760,12 @@ type GetResourcePolicyInput struct {
// a partial ARN, then those characters cause Secrets Manager to assume that
// you’re specifying a complete ARN. This confusion can cause unexpected results.
// To avoid this situation, we recommend that you don’t create secret names
- // that end with a hyphen followed by six characters.
+ // ending with a hyphen followed by six characters.
+ //
+ // If you specify an incomplete ARN without the random suffix, and instead provide
+ // the 'friendly name', you must not include the random suffix. If you do include
+ // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException
+ // or an AccessDeniedException error, depending on your permissions.
//
// SecretId is a required field
SecretId *string `min:"1" type:"string" required:"true"`
@@ -3687,7 +3868,12 @@ type GetSecretValueInput struct {
// a partial ARN, then those characters cause Secrets Manager to assume that
// you’re specifying a complete ARN. This confusion can cause unexpected results.
// To avoid this situation, we recommend that you don’t create secret names
- // that end with a hyphen followed by six characters.
+ // ending with a hyphen followed by six characters.
+ //
+ // If you specify an incomplete ARN without the random suffix, and instead provide
+ // the 'friendly name', you must not include the random suffix. If you do include
+ // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException
+ // or an AccessDeniedException error, depending on your permissions.
//
// SecretId is a required field
SecretId *string `min:"1" type:"string" required:"true"`
@@ -4162,7 +4348,7 @@ type ListSecretVersionIdsInput struct {
// deprecated and are subject to deletion by Secrets Manager as needed.
IncludeDeprecated *bool `type:"boolean"`
- // (Optional) Limits the number of results that you want to include in the response.
+ // (Optional) Limits the number of results you want to include in the response.
// If you don't include this parameter, it defaults to a value that's specific
// to the operation. If additional items exist beyond the maximum you specify,
// the NextToken response element is present and has a value (isn't null). Include
@@ -4174,9 +4360,9 @@ type ListSecretVersionIdsInput struct {
MaxResults *int64 `min:"1" type:"integer"`
// (Optional) Use this parameter in a request if you receive a NextToken response
- // in a previous request that indicates that there's more output available.
- // In a subsequent call, set it to the value of the previous call's NextToken
- // response to indicate where the output should continue from.
+ // in a previous request indicating there's more output available. In a subsequent
+ // call, set it to the value of the previous call NextToken response to indicate
+ // where the output should continue from.
NextToken *string `min:"1" type:"string"`
// The identifier for the secret containing the versions you want to list. You
@@ -4193,7 +4379,12 @@ type ListSecretVersionIdsInput struct {
// a partial ARN, then those characters cause Secrets Manager to assume that
// you’re specifying a complete ARN. This confusion can cause unexpected results.
// To avoid this situation, we recommend that you don’t create secret names
- // that end with a hyphen followed by six characters.
+ // ending with a hyphen followed by six characters.
+ //
+ // If you specify an incomplete ARN without the random suffix, and instead provide
+ // the 'friendly name', you must not include the random suffix. If you do include
+ // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException
+ // or an AccessDeniedException error, depending on your permissions.
//
// SecretId is a required field
SecretId *string `min:"1" type:"string" required:"true"`
@@ -4272,8 +4463,8 @@ type ListSecretVersionIdsOutput struct {
Name *string `min:"1" type:"string"`
// If present in the response, this value indicates that there's more output
- // available than what's included in the current response. This can occur even
- // when the response includes no values at all, such as when you ask for a filtered
+ // available than included in the current response. This can occur even when
+ // the response includes no values at all, such as when you ask for a filtered
// view of a very long list. Use this value in the NextToken request parameter
// in a subsequent call to the operation to continue processing and get the
// next part of the output. You should repeat this until the NextToken response
@@ -4321,7 +4512,10 @@ func (s *ListSecretVersionIdsOutput) SetVersions(v []*SecretVersionsListEntry) *
type ListSecretsInput struct {
_ struct{} `type:"structure"`
- // (Optional) Limits the number of results that you want to include in the response.
+ // Lists the secret request filters.
+ Filters []*Filter `type:"list"`
+
+ // (Optional) Limits the number of results you want to include in the response.
// If you don't include this parameter, it defaults to a value that's specific
// to the operation. If additional items exist beyond the maximum you specify,
// the NextToken response element is present and has a value (isn't null). Include
@@ -4333,10 +4527,13 @@ type ListSecretsInput struct {
MaxResults *int64 `min:"1" type:"integer"`
// (Optional) Use this parameter in a request if you receive a NextToken response
- // in a previous request that indicates that there's more output available.
- // In a subsequent call, set it to the value of the previous call's NextToken
- // response to indicate where the output should continue from.
+ // in a previous request indicating there's more output available. In a subsequent
+ // call, set it to the value of the previous call NextToken response to indicate
+ // where the output should continue from.
NextToken *string `min:"1" type:"string"`
+
+ // Lists secrets in the requested order.
+ SortOrder *string `type:"string" enum:"SortOrderType"`
}
// String returns the string representation
@@ -4358,6 +4555,16 @@ func (s *ListSecretsInput) Validate() error {
if s.NextToken != nil && len(*s.NextToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
}
+ if s.Filters != nil {
+ for i, v := range s.Filters {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
if invalidParams.Len() > 0 {
return invalidParams
@@ -4365,6 +4572,12 @@ func (s *ListSecretsInput) Validate() error {
return nil
}
+// SetFilters sets the Filters field's value.
+func (s *ListSecretsInput) SetFilters(v []*Filter) *ListSecretsInput {
+ s.Filters = v
+ return s
+}
+
// SetMaxResults sets the MaxResults field's value.
func (s *ListSecretsInput) SetMaxResults(v int64) *ListSecretsInput {
s.MaxResults = &v
@@ -4377,12 +4590,18 @@ func (s *ListSecretsInput) SetNextToken(v string) *ListSecretsInput {
return s
}
+// SetSortOrder sets the SortOrder field's value.
+func (s *ListSecretsInput) SetSortOrder(v string) *ListSecretsInput {
+ s.SortOrder = &v
+ return s
+}
+
type ListSecretsOutput struct {
_ struct{} `type:"structure"`
// If present in the response, this value indicates that there's more output
- // available than what's included in the current response. This can occur even
- // when the response includes no values at all, such as when you ask for a filtered
+ // available than included in the current response. This can occur even when
+ // the response includes no values at all, such as when you ask for a filtered
// view of a very long list. Use this value in the NextToken request parameter
// in a subsequent call to the operation to continue processing and get the
// next part of the output. You should repeat this until the NextToken response
@@ -4527,9 +4746,69 @@ func (s *PreconditionNotMetException) RequestID() string {
return s.RespMetadata.RequestID
}
+// The resource policy did not prevent broad access to the secret.
+type PublicPolicyException struct {
+ _ struct{} `type:"structure"`
+ RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
+
+ Message_ *string `locationName:"Message" type:"string"`
+}
+
+// String returns the string representation
+func (s PublicPolicyException) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PublicPolicyException) GoString() string {
+ return s.String()
+}
+
+func newErrorPublicPolicyException(v protocol.ResponseMetadata) error {
+ return &PublicPolicyException{
+ RespMetadata: v,
+ }
+}
+
+// Code returns the exception type name.
+func (s *PublicPolicyException) Code() string {
+ return "PublicPolicyException"
+}
+
+// Message returns the exception's message.
+func (s *PublicPolicyException) Message() string {
+ if s.Message_ != nil {
+ return *s.Message_
+ }
+ return ""
+}
+
+// OrigErr always returns nil, satisfies awserr.Error interface.
+func (s *PublicPolicyException) OrigErr() error {
+ return nil
+}
+
+func (s *PublicPolicyException) Error() string {
+ return fmt.Sprintf("%s: %s", s.Code(), s.Message())
+}
+
+// Status code returns the HTTP status code for the request's response error.
+func (s *PublicPolicyException) StatusCode() int {
+ return s.RespMetadata.StatusCode
+}
+
+// RequestID returns the service's response RequestID for request.
+func (s *PublicPolicyException) RequestID() string {
+ return s.RespMetadata.RequestID
+}
+
type PutResourcePolicyInput struct {
_ struct{} `type:"structure"`
+ // Makes an optional API call to Zelkova to validate the Resource Policy to
+ // prevent broad access to your secret.
+ BlockPublicPolicy *bool `type:"boolean"`
+
// A JSON-formatted string that's constructed according to the grammar and syntax
// for an AWS resource-based policy. The policy in the string identifies who
// can access or manage this secret and its versions. For information on how
@@ -4553,7 +4832,12 @@ type PutResourcePolicyInput struct {
// a partial ARN, then those characters cause Secrets Manager to assume that
// you’re specifying a complete ARN. This confusion can cause unexpected results.
// To avoid this situation, we recommend that you don’t create secret names
- // that end with a hyphen followed by six characters.
+ // ending with a hyphen followed by six characters.
+ //
+ // If you specify an incomplete ARN without the random suffix, and instead provide
+ // the 'friendly name', you must not include the random suffix. If you do include
+ // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException
+ // or an AccessDeniedException error, depending on your permissions.
//
// SecretId is a required field
SecretId *string `min:"1" type:"string" required:"true"`
@@ -4591,6 +4875,12 @@ func (s *PutResourcePolicyInput) Validate() error {
return nil
}
+// SetBlockPublicPolicy sets the BlockPublicPolicy field's value.
+func (s *PutResourcePolicyInput) SetBlockPublicPolicy(v bool) *PutResourcePolicyInput {
+ s.BlockPublicPolicy = &v
+ return s
+}
+
// SetResourcePolicy sets the ResourcePolicy field's value.
func (s *PutResourcePolicyInput) SetResourcePolicy(v string) *PutResourcePolicyInput {
s.ResourcePolicy = &v
@@ -4606,11 +4896,11 @@ func (s *PutResourcePolicyInput) SetSecretId(v string) *PutResourcePolicyInput {
type PutResourcePolicyOutput struct {
_ struct{} `type:"structure"`
- // The ARN of the secret that the resource-based policy was retrieved for.
+ // The ARN of the secret retrieved by the resource-based policy.
ARN *string `min:"20" type:"string"`
- // The friendly name of the secret that the resource-based policy was retrieved
- // for.
+ // The friendly name of the secret that the retrieved by the resource-based
+ // policy.
Name *string `min:"1" type:"string"`
}
@@ -4661,7 +4951,7 @@ type PutSecretValueInput struct {
// or SecretBinary values are the same as those in the request then the request
// is ignored (the operation is idempotent).
//
- // * If a version with this value already exists and that version's SecretString
+ // * If a version with this value already exists and the version of the SecretString
// and SecretBinary values are different from those in the request then the
// request fails because you cannot modify an existing secret version. You
// can only create new versions to store new secret values.
@@ -4696,7 +4986,12 @@ type PutSecretValueInput struct {
// a partial ARN, then those characters cause Secrets Manager to assume that
// you’re specifying a complete ARN. This confusion can cause unexpected results.
// To avoid this situation, we recommend that you don’t create secret names
- // that end with a hyphen followed by six characters.
+ // ending with a hyphen followed by six characters.
+ //
+ // If you specify an incomplete ARN without the random suffix, and instead provide
+ // the 'friendly name', you must not include the random suffix. If you do include
+ // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException
+ // or an AccessDeniedException error, depending on your permissions.
//
// SecretId is a required field
SecretId *string `min:"1" type:"string" required:"true"`
@@ -4983,7 +5278,12 @@ type RestoreSecretInput struct {
// a partial ARN, then those characters cause Secrets Manager to assume that
// you’re specifying a complete ARN. This confusion can cause unexpected results.
// To avoid this situation, we recommend that you don’t create secret names
- // that end with a hyphen followed by six characters.
+ // ending with a hyphen followed by six characters.
+ //
+ // If you specify an incomplete ARN without the random suffix, and instead provide
+ // the 'friendly name', you must not include the random suffix. If you do include
+ // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException
+ // or an AccessDeniedException error, depending on your permissions.
//
// SecretId is a required field
SecretId *string `min:"1" type:"string" required:"true"`
@@ -5066,9 +5366,9 @@ type RotateSecretInput struct {
// service endpoint, then you must generate a ClientRequestToken yourself for
// new versions and include that value in the request.
//
- // You only need to specify your own value if you are implementing your own
- // retry logic and want to ensure that a given secret is not created twice.
- // We recommend that you generate a UUID-type (https://wikipedia.org/wiki/Universally_unique_identifier)
+ // You only need to specify your own value if you implement your own retry logic
+ // and want to ensure that a given secret is not created twice. We recommend
+ // that you generate a UUID-type (https://wikipedia.org/wiki/Universally_unique_identifier)
// value to ensure uniqueness within the specified secret.
//
// Secrets Manager uses this value to prevent the accidental creation of duplicate
@@ -5095,7 +5395,12 @@ type RotateSecretInput struct {
// a partial ARN, then those characters cause Secrets Manager to assume that
// you’re specifying a complete ARN. This confusion can cause unexpected results.
// To avoid this situation, we recommend that you don’t create secret names
- // that end with a hyphen followed by six characters.
+ // ending with a hyphen followed by six characters.
+ //
+ // If you specify an incomplete ARN without the random suffix, and instead provide
+ // the 'friendly name', you must not include the random suffix. If you do include
+ // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException
+ // or an AccessDeniedException error, depending on your permissions.
//
// SecretId is a required field
SecretId *string `min:"1" type:"string" required:"true"`
@@ -5259,7 +5564,10 @@ type SecretListEntry struct {
// in the AWS Secrets Manager User Guide.
ARN *string `min:"20" type:"string"`
- // The date and time on which this secret was deleted. Not present on active
+ // The date and time when a secret was created.
+ CreatedDate *time.Time `type:"timestamp"`
+
+ // The date and time the deletion of the secret occurred. Not present on active
// secrets. The secret can be recovered until the number of days in the recovery
// window has passed, as specified in the RecoveryWindowInDays parameter of
// the DeleteSecret operation.
@@ -5268,10 +5576,10 @@ type SecretListEntry struct {
// The user-provided description of the secret.
Description *string `type:"string"`
- // The ARN or alias of the AWS KMS customer master key (CMK) that's used to
- // encrypt the SecretString and SecretBinary fields in each version of the secret.
- // If you don't provide a key, then Secrets Manager defaults to encrypting the
- // secret fields with the default KMS CMK (the one named awssecretsmanager)
+ // The ARN or alias of the AWS KMS customer master key (CMK) used to encrypt
+ // the SecretString and SecretBinary fields in each version of the secret. If
+ // you don't provide a key, then Secrets Manager defaults to encrypting the
+ // secret fields with the default KMS CMK, the key named awssecretsmanager,
// for this account.
KmsKeyId *string `type:"string"`
@@ -5297,24 +5605,24 @@ type SecretListEntry struct {
// Indicates whether automatic, scheduled rotation is enabled for this secret.
RotationEnabled *bool `type:"boolean"`
- // The ARN of an AWS Lambda function that's invoked by Secrets Manager to rotate
- // and expire the secret either automatically per the schedule or manually by
- // a call to RotateSecret.
+ // The ARN of an AWS Lambda function invoked by Secrets Manager to rotate and
+ // expire the secret either automatically per the schedule or manually by a
+ // call to RotateSecret.
RotationLambdaARN *string `type:"string"`
// A structure that defines the rotation configuration for the secret.
RotationRules *RotationRulesType `type:"structure"`
// A list of all of the currently assigned SecretVersionStage staging labels
- // and the SecretVersionId that each is attached to. Staging labels are used
- // to keep track of the different versions during the rotation process.
+ // and the SecretVersionId attached to each one. Staging labels are used to
+ // keep track of the different versions during the rotation process.
//
// A version that does not have any SecretVersionStage is considered deprecated
// and subject to deletion. Such versions are not included in this list.
SecretVersionsToStages map[string][]*string `type:"map"`
- // The list of user-defined tags that are associated with the secret. To add
- // tags to a secret, use TagResource. To remove tags, use UntagResource.
+ // The list of user-defined tags associated with the secret. To add tags to
+ // a secret, use TagResource. To remove tags, use UntagResource.
Tags []*Tag `type:"list"`
}
@@ -5334,6 +5642,12 @@ func (s *SecretListEntry) SetARN(v string) *SecretListEntry {
return s
}
+// SetCreatedDate sets the CreatedDate field's value.
+func (s *SecretListEntry) SetCreatedDate(v time.Time) *SecretListEntry {
+ s.CreatedDate = &v
+ return s
+}
+
// SetDeletedDate sets the DeletedDate field's value.
func (s *SecretListEntry) SetDeletedDate(v time.Time) *SecretListEntry {
s.DeletedDate = &v
@@ -5472,7 +5786,7 @@ type Tag struct {
// The key identifier, or name, of the tag.
Key *string `min:"1" type:"string"`
- // The string value that's associated with the key of the tag.
+ // The string value associated with the key of the tag.
Value *string `type:"string"`
}
@@ -5527,7 +5841,12 @@ type TagResourceInput struct {
// a partial ARN, then those characters cause Secrets Manager to assume that
// you’re specifying a complete ARN. This confusion can cause unexpected results.
// To avoid this situation, we recommend that you don’t create secret names
- // that end with a hyphen followed by six characters.
+ // ending with a hyphen followed by six characters.
+ //
+ // If you specify an incomplete ARN without the random suffix, and instead provide
+ // the 'friendly name', you must not include the random suffix. If you do include
+ // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException
+ // or an AccessDeniedException error, depending on your permissions.
//
// SecretId is a required field
SecretId *string `min:"1" type:"string" required:"true"`
@@ -5627,7 +5946,12 @@ type UntagResourceInput struct {
// a partial ARN, then those characters cause Secrets Manager to assume that
// you’re specifying a complete ARN. This confusion can cause unexpected results.
// To avoid this situation, we recommend that you don’t create secret names
- // that end with a hyphen followed by six characters.
+ // ending with a hyphen followed by six characters.
+ //
+ // If you specify an incomplete ARN without the random suffix, and instead provide
+ // the 'friendly name', you must not include the random suffix. If you do include
+ // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException
+ // or an AccessDeniedException error, depending on your permissions.
//
// SecretId is a required field
SecretId *string `min:"1" type:"string" required:"true"`
@@ -5776,7 +6100,12 @@ type UpdateSecretInput struct {
// a partial ARN, then those characters cause Secrets Manager to assume that
// you’re specifying a complete ARN. This confusion can cause unexpected results.
// To avoid this situation, we recommend that you don’t create secret names
- // that end with a hyphen followed by six characters.
+ // ending with a hyphen followed by six characters.
+ //
+ // If you specify an incomplete ARN without the random suffix, and instead provide
+ // the 'friendly name', you must not include the random suffix. If you do include
+ // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException
+ // or an AccessDeniedException error, depending on your permissions.
//
// SecretId is a required field
SecretId *string `min:"1" type:"string" required:"true"`
@@ -5926,7 +6255,7 @@ func (s *UpdateSecretOutput) SetVersionId(v string) *UpdateSecretOutput {
type UpdateSecretVersionStageInput struct {
_ struct{} `type:"structure"`
- // (Optional) The secret version ID that you want to add the staging label to.
+ // (Optional) The secret version ID that you want to add the staging label.
// If you want to remove a label from a version, then do not specify this parameter.
//
// If the staging label is already attached to a different version of the secret,
@@ -5941,9 +6270,9 @@ type UpdateSecretVersionStageInput struct {
// the version ID does not match, then the operation fails.
RemoveFromVersionId *string `min:"32" type:"string"`
- // Specifies the secret with the version whose list of staging labels you want
- // to modify. You can specify either the Amazon Resource Name (ARN) or the friendly
- // name of the secret.
+ // Specifies the secret with the version with the list of staging labels you
+ // want to modify. You can specify either the Amazon Resource Name (ARN) or
+ // the friendly name of the secret.
//
// If you specify an ARN, we generally recommend that you specify a complete
// ARN. You can specify a partial ARN too—for example, if you don’t include
@@ -5955,7 +6284,12 @@ type UpdateSecretVersionStageInput struct {
// a partial ARN, then those characters cause Secrets Manager to assume that
// you’re specifying a complete ARN. This confusion can cause unexpected results.
// To avoid this situation, we recommend that you don’t create secret names
- // that end with a hyphen followed by six characters.
+ // ending with a hyphen followed by six characters.
+ //
+ // If you specify an incomplete ARN without the random suffix, and instead provide
+ // the 'friendly name', you must not include the random suffix. If you do include
+ // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException
+ // or an AccessDeniedException error, depending on your permissions.
//
// SecretId is a required field
SecretId *string `min:"1" type:"string" required:"true"`
@@ -6031,10 +6365,10 @@ func (s *UpdateSecretVersionStageInput) SetVersionStage(v string) *UpdateSecretV
type UpdateSecretVersionStageOutput struct {
_ struct{} `type:"structure"`
- // The ARN of the secret with the staging label that was modified.
+ // The ARN of the secret with the modified staging label.
ARN *string `min:"20" type:"string"`
- // The friendly name of the secret with the staging label that was modified.
+ // The friendly name of the secret with the modified staging label.
Name *string `min:"1" type:"string"`
}
@@ -6059,3 +6393,166 @@ func (s *UpdateSecretVersionStageOutput) SetName(v string) *UpdateSecretVersionS
s.Name = &v
return s
}
+
+type ValidateResourcePolicyInput struct {
+ _ struct{} `type:"structure"`
+
+ // Identifies the Resource Policy attached to the secret.
+ //
+ // ResourcePolicy is a required field
+ ResourcePolicy *string `min:"1" type:"string" required:"true"`
+
+ // The identifier for the secret that you want to validate a resource policy.
+ // You can specify either the Amazon Resource Name (ARN) or the friendly name
+ // of the secret.
+ //
+ // If you specify an ARN, we generally recommend that you specify a complete
+ // ARN. You can specify a partial ARN too—for example, if you don’t include
+ // the final hyphen and six random characters that Secrets Manager adds at the
+ // end of the ARN when you created the secret. A partial ARN match can work
+ // as long as it uniquely matches only one secret. However, if your secret has
+ // a name that ends in a hyphen followed by six characters (before Secrets Manager
+ // adds the hyphen and six characters to the ARN) and you try to use that as
+ // a partial ARN, then those characters cause Secrets Manager to assume that
+ // you’re specifying a complete ARN. This confusion can cause unexpected results.
+ // To avoid this situation, we recommend that you don’t create secret names
+ // ending with a hyphen followed by six characters.
+ //
+ // If you specify an incomplete ARN without the random suffix, and instead provide
+ // the 'friendly name', you must not include the random suffix. If you do include
+ // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException
+ // or an AccessDeniedException error, depending on your permissions.
+ SecretId *string `min:"1" type:"string"`
+}
+
+// String returns the string representation
+func (s ValidateResourcePolicyInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ValidateResourcePolicyInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ValidateResourcePolicyInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ValidateResourcePolicyInput"}
+ if s.ResourcePolicy == nil {
+ invalidParams.Add(request.NewErrParamRequired("ResourcePolicy"))
+ }
+ if s.ResourcePolicy != nil && len(*s.ResourcePolicy) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("ResourcePolicy", 1))
+ }
+ if s.SecretId != nil && len(*s.SecretId) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("SecretId", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetResourcePolicy sets the ResourcePolicy field's value.
+func (s *ValidateResourcePolicyInput) SetResourcePolicy(v string) *ValidateResourcePolicyInput {
+ s.ResourcePolicy = &v
+ return s
+}
+
+// SetSecretId sets the SecretId field's value.
+func (s *ValidateResourcePolicyInput) SetSecretId(v string) *ValidateResourcePolicyInput {
+ s.SecretId = &v
+ return s
+}
+
+type ValidateResourcePolicyOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Returns a message stating that your Reource Policy passed validation.
+ PolicyValidationPassed *bool `type:"boolean"`
+
+ // Returns an error message if your policy doesn't pass validatation.
+ ValidationErrors []*ValidationErrorsEntry `type:"list"`
+}
+
+// String returns the string representation
+func (s ValidateResourcePolicyOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ValidateResourcePolicyOutput) GoString() string {
+ return s.String()
+}
+
+// SetPolicyValidationPassed sets the PolicyValidationPassed field's value.
+func (s *ValidateResourcePolicyOutput) SetPolicyValidationPassed(v bool) *ValidateResourcePolicyOutput {
+ s.PolicyValidationPassed = &v
+ return s
+}
+
+// SetValidationErrors sets the ValidationErrors field's value.
+func (s *ValidateResourcePolicyOutput) SetValidationErrors(v []*ValidationErrorsEntry) *ValidateResourcePolicyOutput {
+ s.ValidationErrors = v
+ return s
+}
+
+// Displays errors that occurred during validation of the resource policy.
+type ValidationErrorsEntry struct {
+ _ struct{} `type:"structure"`
+
+ // Checks the name of the policy.
+ CheckName *string `min:"1" type:"string"`
+
+ // Displays error messages if validation encounters problems during validation
+ // of the resource policy.
+ ErrorMessage *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ValidationErrorsEntry) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ValidationErrorsEntry) GoString() string {
+ return s.String()
+}
+
+// SetCheckName sets the CheckName field's value.
+func (s *ValidationErrorsEntry) SetCheckName(v string) *ValidationErrorsEntry {
+ s.CheckName = &v
+ return s
+}
+
+// SetErrorMessage sets the ErrorMessage field's value.
+func (s *ValidationErrorsEntry) SetErrorMessage(v string) *ValidationErrorsEntry {
+ s.ErrorMessage = &v
+ return s
+}
+
+const (
+ // FilterNameStringTypeDescription is a FilterNameStringType enum value
+ FilterNameStringTypeDescription = "description"
+
+ // FilterNameStringTypeName is a FilterNameStringType enum value
+ FilterNameStringTypeName = "name"
+
+ // FilterNameStringTypeTagKey is a FilterNameStringType enum value
+ FilterNameStringTypeTagKey = "tag-key"
+
+ // FilterNameStringTypeTagValue is a FilterNameStringType enum value
+ FilterNameStringTypeTagValue = "tag-value"
+
+ // FilterNameStringTypeAll is a FilterNameStringType enum value
+ FilterNameStringTypeAll = "all"
+)
+
+const (
+ // SortOrderTypeAsc is a SortOrderType enum value
+ SortOrderTypeAsc = "asc"
+
+ // SortOrderTypeDesc is a SortOrderType enum value
+ SortOrderTypeDesc = "desc"
+)
diff --git a/service/secretsmanager/doc.go b/service/secretsmanager/doc.go
index b931ba87c0a..71cfce04145 100644
--- a/service/secretsmanager/doc.go
+++ b/service/secretsmanager/doc.go
@@ -3,7 +3,7 @@
// Package secretsmanager provides the client and types for making API
// requests to AWS Secrets Manager.
//
-// AWS Secrets Manager is a web service that enables you to store, manage, and
+// AWS Secrets Manager provides a service to enable you to store, manage, and
// retrieve, secrets.
//
// This guide provides descriptions of the Secrets Manager API. For more information
@@ -14,25 +14,25 @@
// This version of the Secrets Manager API Reference documents the Secrets Manager
// API version 2017-10-17.
//
-// As an alternative to using the API directly, you can use one of the AWS SDKs,
-// which consist of libraries and sample code for various programming languages
-// and platforms (such as Java, Ruby, .NET, iOS, and Android). The SDKs provide
-// a convenient way to create programmatic access to AWS Secrets Manager. For
-// example, the SDKs take care of cryptographically signing requests, managing
-// errors, and retrying requests automatically. For more information about the
-// AWS SDKs, including how to download and install them, see Tools for Amazon
-// Web Services (http://aws.amazon.com/tools/).
-//
-// We recommend that you use the AWS SDKs to make programmatic API calls to
-// Secrets Manager. However, you also can use the Secrets Manager HTTP Query
-// API to make direct calls to the Secrets Manager web service. To learn more
-// about the Secrets Manager HTTP Query API, see Making Query Requests (https://docs.aws.amazon.com/secretsmanager/latest/userguide/query-requests.html)
+// As an alternative to using the API, you can use one of the AWS SDKs, which
+// consist of libraries and sample code for various programming languages and
+// platforms such as Java, Ruby, .NET, iOS, and Android. The SDKs provide a
+// convenient way to create programmatic access to AWS Secrets Manager. For
+// example, the SDKs provide cryptographically signing requests, managing errors,
+// and retrying requests automatically. For more information about the AWS SDKs,
+// including downloading and installing them, see Tools for Amazon Web Services
+// (http://aws.amazon.com/tools/).
+//
+// We recommend you use the AWS SDKs to make programmatic API calls to Secrets
+// Manager. However, you also can use the Secrets Manager HTTP Query API to
+// make direct calls to the Secrets Manager web service. To learn more about
+// the Secrets Manager HTTP Query API, see Making Query Requests (https://docs.aws.amazon.com/secretsmanager/latest/userguide/query-requests.html)
// in the AWS Secrets Manager User Guide.
//
-// Secrets Manager supports GET and POST requests for all actions. That is,
-// the API doesn't require you to use GET for some actions and POST for others.
-// However, GET requests are subject to the limitation size of a URL. Therefore,
-// for operations that require larger sizes, use a POST request.
+// Secrets Manager API supports GET and POST requests for all actions, and doesn't
+// require you to use GET for some actions and POST for others. However, GET
+// requests are subject to the limitation size of a URL. Therefore, for operations
+// that require larger sizes, use a POST request.
//
// Support and Feedback for AWS Secrets Manager
//
@@ -44,25 +44,24 @@
// How examples are presented
//
// The JSON that AWS Secrets Manager expects as your request parameters and
-// that the service returns as a response to HTTP query requests are single,
+// the service returns as a response to HTTP query requests contain single,
// long strings without line breaks or white space formatting. The JSON shown
-// in the examples is formatted with both line breaks and white space to improve
-// readability. When example input parameters would also result in long strings
-// that extend beyond the screen, we insert line breaks to enhance readability.
-// You should always submit the input as a single JSON text string.
+// in the examples displays the code formatted with both line breaks and white
+// space to improve readability. When example input parameters can also cause
+// long strings extending beyond the screen, you can insert line breaks to enhance
+// readability. You should always submit the input as a single JSON text string.
//
// Logging API Requests
//
// AWS Secrets Manager supports AWS CloudTrail, a service that records AWS API
// calls for your AWS account and delivers log files to an Amazon S3 bucket.
// By using information that's collected by AWS CloudTrail, you can determine
-// which requests were successfully made to Secrets Manager, who made the request,
-// when it was made, and so on. For more about AWS Secrets Manager and its support
+// the requests successfully made to Secrets Manager, who made the request,
+// when it was made, and so on. For more about AWS Secrets Manager and support
// for AWS CloudTrail, see Logging AWS Secrets Manager Events with AWS CloudTrail
// (http://docs.aws.amazon.com/secretsmanager/latest/userguide/monitoring.html#monitoring_cloudtrail)
// in the AWS Secrets Manager User Guide. To learn more about CloudTrail, including
-// how to turn it on and find your log files, see the AWS CloudTrail User Guide
-// (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html).
+// enabling it and find your log files, see the AWS CloudTrail User Guide (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html).
//
// See https://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17 for more information on this service.
//
diff --git a/service/secretsmanager/errors.go b/service/secretsmanager/errors.go
index df82716bb59..ab90196bb65 100644
--- a/service/secretsmanager/errors.go
+++ b/service/secretsmanager/errors.go
@@ -77,6 +77,12 @@ const (
// The request failed because you did not complete all the prerequisite steps.
ErrCodePreconditionNotMetException = "PreconditionNotMetException"
+ // ErrCodePublicPolicyException for service response error code
+ // "PublicPolicyException".
+ //
+ // The resource policy did not prevent broad access to the secret.
+ ErrCodePublicPolicyException = "PublicPolicyException"
+
// ErrCodeResourceExistsException for service response error code
// "ResourceExistsException".
//
@@ -100,6 +106,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{
"LimitExceededException": newErrorLimitExceededException,
"MalformedPolicyDocumentException": newErrorMalformedPolicyDocumentException,
"PreconditionNotMetException": newErrorPreconditionNotMetException,
+ "PublicPolicyException": newErrorPublicPolicyException,
"ResourceExistsException": newErrorResourceExistsException,
"ResourceNotFoundException": newErrorResourceNotFoundException,
}
diff --git a/service/secretsmanager/examples_test.go b/service/secretsmanager/examples_test.go
index a532e32d8ee..d008015249f 100644
--- a/service/secretsmanager/examples_test.go
+++ b/service/secretsmanager/examples_test.go
@@ -417,6 +417,8 @@ func ExampleSecretsManager_PutResourcePolicy_shared00() {
fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
case secretsmanager.ErrCodeInvalidRequestException:
fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
+ case secretsmanager.ErrCodePublicPolicyException:
+ fmt.Println(secretsmanager.ErrCodePublicPolicyException, aerr.Error())
default:
fmt.Println(aerr.Error())
}
@@ -943,3 +945,41 @@ func ExampleSecretsManager_UpdateSecretVersionStage_shared02() {
fmt.Println(result)
}
+
+// To validate a resource-based policy to a secret
+//
+// The following example shows how to validate a resource-based policy to a secret.
+func ExampleSecretsManager_ValidateResourcePolicy_shared00() {
+ svc := secretsmanager.New(session.New())
+ input := &secretsmanager.ValidateResourcePolicyInput{
+ ResourcePolicy: aws.String("{\n\"Version\":\"2012-10-17\",\n\"Statement\":[{\n\"Effect\":\"Allow\",\n\"Principal\":{\n\"AWS\":\"arn:aws:iam::123456789012:root\"\n},\n\"Action\":\"secretsmanager:GetSecretValue\",\n\"Resource\":\"*\"\n}]\n}"),
+ SecretId: aws.String("MyTestDatabaseSecret"),
+ }
+
+ result, err := svc.ValidateResourcePolicy(input)
+ if err != nil {
+ if aerr, ok := err.(awserr.Error); ok {
+ switch aerr.Code() {
+ case secretsmanager.ErrCodeMalformedPolicyDocumentException:
+ fmt.Println(secretsmanager.ErrCodeMalformedPolicyDocumentException, aerr.Error())
+ case secretsmanager.ErrCodeResourceNotFoundException:
+ fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
+ case secretsmanager.ErrCodeInvalidParameterException:
+ fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
+ case secretsmanager.ErrCodeInternalServiceError:
+ fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
+ case secretsmanager.ErrCodeInvalidRequestException:
+ fmt.Println(secretsmanager.ErrCodeInvalidRequestException, 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/secretsmanager/secretsmanageriface/interface.go b/service/secretsmanager/secretsmanageriface/interface.go
index cf7b46f96e0..fe386bd5820 100644
--- a/service/secretsmanager/secretsmanageriface/interface.go
+++ b/service/secretsmanager/secretsmanageriface/interface.go
@@ -137,6 +137,10 @@ type SecretsManagerAPI interface {
UpdateSecretVersionStage(*secretsmanager.UpdateSecretVersionStageInput) (*secretsmanager.UpdateSecretVersionStageOutput, error)
UpdateSecretVersionStageWithContext(aws.Context, *secretsmanager.UpdateSecretVersionStageInput, ...request.Option) (*secretsmanager.UpdateSecretVersionStageOutput, error)
UpdateSecretVersionStageRequest(*secretsmanager.UpdateSecretVersionStageInput) (*request.Request, *secretsmanager.UpdateSecretVersionStageOutput)
+
+ ValidateResourcePolicy(*secretsmanager.ValidateResourcePolicyInput) (*secretsmanager.ValidateResourcePolicyOutput, error)
+ ValidateResourcePolicyWithContext(aws.Context, *secretsmanager.ValidateResourcePolicyInput, ...request.Option) (*secretsmanager.ValidateResourcePolicyOutput, error)
+ ValidateResourcePolicyRequest(*secretsmanager.ValidateResourcePolicyInput) (*request.Request, *secretsmanager.ValidateResourcePolicyOutput)
}
var _ SecretsManagerAPI = (*secretsmanager.SecretsManager)(nil)
diff --git a/service/sns/api.go b/service/sns/api.go
index 780b1884323..8fd2eba3ed1 100644
--- a/service/sns/api.go
+++ b/service/sns/api.go
@@ -341,22 +341,33 @@ func (c *SNS) CreatePlatformApplicationRequest(input *CreatePlatformApplicationI
// CreatePlatformApplication API operation for Amazon Simple Notification Service.
//
// Creates a platform application object for one of the supported push notification
-// services, such as APNS and FCM, to which devices and mobile apps may register.
-// You must specify PlatformPrincipal and PlatformCredential attributes when
-// using the CreatePlatformApplication action. The PlatformPrincipal is received
-// from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is
-// "SSL certificate". For FCM, PlatformPrincipal is not applicable. For ADM,
-// PlatformPrincipal is "client id". The PlatformCredential is also received
-// from the notification service. For WNS, PlatformPrincipal is "Package Security
-// Identifier". For MPNS, PlatformPrincipal is "TLS certificate". For Baidu,
-// PlatformPrincipal is "API key".
-//
-// For APNS/APNS_SANDBOX, PlatformCredential is "private key". For FCM, PlatformCredential
-// is "API key". For ADM, PlatformCredential is "client secret". For WNS, PlatformCredential
-// is "secret key". For MPNS, PlatformCredential is "private key". For Baidu,
-// PlatformCredential is "secret key". The PlatformApplicationArn that is returned
-// when using CreatePlatformApplication is then used as an attribute for the
-// CreatePlatformEndpoint action.
+// services, such as APNS and GCM (Firebase Cloud Messaging), to which devices
+// and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential
+// attributes when using the CreatePlatformApplication action.
+//
+// PlatformPrincipal and PlatformCredential are received from the notification
+// service.
+//
+// * For ADM, PlatformPrincipal is client id and PlatformCredential is client
+// secret.
+//
+// * For Baidu, PlatformPrincipal is API key and PlatformCredential is secret
+// key.
+//
+// * For APNS and APNS_SANDBOX, PlatformPrincipal is SSL certificate and
+// PlatformCredential is private key.
+//
+// * For GCM (Firebase Cloud Messaging), there is no PlatformPrincipal and
+// the PlatformCredential is API key.
+//
+// * For MPNS, PlatformPrincipal is TLS certificate and PlatformCredential
+// is private key.
+//
+// * For WNS, PlatformPrincipal is Package Security Identifier and PlatformCredential
+// is secret key.
+//
+// You can use the returned PlatformApplicationArn as an attribute for the CreatePlatformEndpoint
+// action.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -442,11 +453,10 @@ func (c *SNS) CreatePlatformEndpointRequest(input *CreatePlatformEndpointInput)
// CreatePlatformEndpoint API operation for Amazon Simple Notification Service.
//
// Creates an endpoint for a device and mobile app on one of the supported push
-// notification services, such as FCM and APNS. CreatePlatformEndpoint requires
-// the PlatformApplicationArn that is returned from CreatePlatformApplication.
-// The EndpointArn that is returned when using CreatePlatformEndpoint can then
-// be used by the Publish action to send a message to a mobile app or by the
-// Subscribe action for subscription to a topic. The CreatePlatformEndpoint
+// notification services, such as GCM (Firebase Cloud Messaging) and APNS. CreatePlatformEndpoint
+// requires the PlatformApplicationArn that is returned from CreatePlatformApplication.
+// You can use the returned EndpointArn to send a message to a mobile app or
+// by the Subscribe action for subscription to a topic. The CreatePlatformEndpoint
// action is idempotent, so if the requester already owns an endpoint with the
// same device token and attributes, that endpoint's ARN is returned without
// creating a new endpoint. For more information, see Using Amazon SNS Mobile
@@ -543,10 +553,10 @@ func (c *SNS) CreateTopicRequest(input *CreateTopicInput) (req *request.Request,
// CreateTopic API operation for Amazon Simple Notification Service.
//
// Creates a topic to which notifications can be published. Users can create
-// at most 100,000 topics. For more information, see https://aws.amazon.com/sns
-// (http://aws.amazon.com/sns/). This action is idempotent, so if the requester
-// already owns a topic with the specified name, that topic's ARN is returned
-// without creating a new topic.
+// at most 100,000 standard topics (at most 1,000 FIFO topics). For more information,
+// see https://aws.amazon.com/sns (http://aws.amazon.com/sns/). This action
+// is idempotent, so if the requester already owns a topic with the specified
+// name, that topic's ARN is returned without creating a new topic.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -746,8 +756,8 @@ func (c *SNS) DeletePlatformApplicationRequest(input *DeletePlatformApplicationI
// DeletePlatformApplication API operation for Amazon Simple Notification Service.
//
// Deletes a platform application object for one of the supported push notification
-// services, such as APNS and FCM. For more information, see Using Amazon SNS
-// Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
+// services, such as APNS and GCM (Firebase Cloud Messaging). For more information,
+// see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -937,8 +947,8 @@ func (c *SNS) GetEndpointAttributesRequest(input *GetEndpointAttributesInput) (r
// GetEndpointAttributes API operation for Amazon Simple Notification Service.
//
// Retrieves the endpoint attributes for a device on one of the supported push
-// notification services, such as FCM and APNS. For more information, see Using
-// Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
+// notification services, such as GCM (Firebase Cloud Messaging) and APNS. For
+// more information, see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -1027,8 +1037,8 @@ func (c *SNS) GetPlatformApplicationAttributesRequest(input *GetPlatformApplicat
// GetPlatformApplicationAttributes API operation for Amazon Simple Notification Service.
//
// Retrieves the attributes of the platform application object for the supported
-// push notification services, such as APNS and FCM. For more information, see
-// Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
+// push notification services, such as APNS and GCM (Firebase Cloud Messaging).
+// For more information, see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -1395,12 +1405,13 @@ func (c *SNS) ListEndpointsByPlatformApplicationRequest(input *ListEndpointsByPl
// ListEndpointsByPlatformApplication API operation for Amazon Simple Notification Service.
//
// Lists the endpoints and endpoint attributes for devices in a supported push
-// notification service, such as FCM and APNS. The results for ListEndpointsByPlatformApplication
-// are paginated and return a limited list of endpoints, up to 100. If additional
-// records are available after the first page results, then a NextToken string
-// will be returned. To receive the next page, you call ListEndpointsByPlatformApplication
-// again using the NextToken string received from the previous call. When there
-// are no more records to return, NextToken will be null. For more information,
+// notification service, such as GCM (Firebase Cloud Messaging) and APNS. The
+// results for ListEndpointsByPlatformApplication are paginated and return a
+// limited list of endpoints, up to 100. If additional records are available
+// after the first page results, then a NextToken string will be returned. To
+// receive the next page, you call ListEndpointsByPlatformApplication again
+// using the NextToken string received from the previous call. When there are
+// no more records to return, NextToken will be null. For more information,
// see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
//
// This action is throttled at 30 transactions per second (TPS).
@@ -1647,13 +1658,13 @@ func (c *SNS) ListPlatformApplicationsRequest(input *ListPlatformApplicationsInp
// ListPlatformApplications API operation for Amazon Simple Notification Service.
//
// Lists the platform application objects for the supported push notification
-// services, such as APNS and FCM. The results for ListPlatformApplications
-// are paginated and return a limited list of applications, up to 100. If additional
-// records are available after the first page results, then a NextToken string
-// will be returned. To receive the next page, you call ListPlatformApplications
-// using the NextToken string received from the previous call. When there are
-// no more records to return, NextToken will be null. For more information,
-// see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
+// services, such as APNS and GCM (Firebase Cloud Messaging). The results for
+// ListPlatformApplications are paginated and return a limited list of applications,
+// up to 100. If additional records are available after the first page results,
+// then a NextToken string will be returned. To receive the next page, you call
+// ListPlatformApplications using the NextToken string received from the previous
+// call. When there are no more records to return, NextToken will be null. For
+// more information, see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
//
// This action is throttled at 15 transactions per second (TPS).
//
@@ -2426,8 +2437,9 @@ func (c *SNS) PublishRequest(input *PublishInput) (req *request.Request, output
// Publish API operation for Amazon Simple Notification Service.
//
-// Sends a message to an Amazon SNS topic or sends a text message (SMS message)
-// directly to a phone number.
+// Sends a message to an Amazon SNS topic, a text message (SMS message) directly
+// to a phone number, or a message to a mobile platform endpoint (when you specify
+// the TargetArn).
//
// If you send a message to a topic, Amazon SNS delivers the message to each
// endpoint that is subscribed to the topic. The format of the message depends
@@ -2444,6 +2456,8 @@ func (c *SNS) PublishRequest(input *PublishInput) (req *request.Request, output
// For more information about formatting messages, see Send Custom Platform-Specific
// Payloads in Messages to Mobile Devices (https://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-custommessage.html).
//
+// You can publish messages only to topics and endpoints in the same AWS Region.
+//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
@@ -2660,8 +2674,8 @@ func (c *SNS) SetEndpointAttributesRequest(input *SetEndpointAttributesInput) (r
// SetEndpointAttributes API operation for Amazon Simple Notification Service.
//
// Sets the attributes for an endpoint for a device on one of the supported
-// push notification services, such as FCM and APNS. For more information, see
-// Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
+// push notification services, such as GCM (Firebase Cloud Messaging) and APNS.
+// For more information, see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -2751,8 +2765,8 @@ func (c *SNS) SetPlatformApplicationAttributesRequest(input *SetPlatformApplicat
// SetPlatformApplicationAttributes API operation for Amazon Simple Notification Service.
//
// Sets the attributes of the platform application object for the supported
-// push notification services, such as APNS and FCM. For more information, see
-// Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
+// push notification services, such as APNS and GCM (Firebase Cloud Messaging).
+// For more information, see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
// For information on configuring attributes for message delivery status, see
// Using Amazon SNS Application Attributes for Message Delivery Status (https://docs.aws.amazon.com/sns/latest/dg/sns-msg-status.html).
//
@@ -3126,10 +3140,12 @@ func (c *SNS) SubscribeRequest(input *SubscribeInput) (req *request.Request, out
// Subscribe API operation for Amazon Simple Notification Service.
//
-// Prepares to subscribe an endpoint by sending the endpoint a confirmation
-// message. To actually create a subscription, the endpoint owner must call
-// the ConfirmSubscription action with the token from the confirmation message.
-// Confirmation tokens are valid for three days.
+// Subscribes an endpoint to an Amazon SNS topic. If the endpoint type is HTTP/S
+// or email, or if the endpoint and the topic are not in the same AWS account,
+// the endpoint owner must the ConfirmSubscription action to confirm the subscription.
+//
+// You call the ConfirmSubscription action with the token from the subscription
+// response. Confirmation tokens are valid for three days.
//
// This action is throttled at 100 transactions per second (TPS).
//
@@ -3782,7 +3798,7 @@ type CreatePlatformApplicationInput struct {
Name *string `type:"string" required:"true"`
// The following platforms are supported: ADM (Amazon Device Messaging), APNS
- // (Apple Push Notification Service), APNS_SANDBOX, and FCM (Firebase Cloud
+ // (Apple Push Notification Service), APNS_SANDBOX, and GCM (Firebase Cloud
// Messaging).
//
// Platform is a required field
@@ -3880,8 +3896,9 @@ type CreatePlatformEndpointInput struct {
// Unique identifier created by the notification service for an app on a device.
// The specific name for Token will vary, depending on which notification service
// is being used. For example, when using APNS as the notification service,
- // you need the device token. Alternatively, when using FCM or ADM, the device
- // token equivalent is called the registration ID.
+ // you need the device token. Alternatively, when using GCM (Firebase Cloud
+ // Messaging) or ADM, the device token equivalent is called the registration
+ // ID.
//
// Token is a required field
Token *string `type:"string" required:"true"`
@@ -3975,15 +3992,30 @@ type CreateTopicInput struct {
//
// * DisplayName – The display name to use for a topic with SMS subscriptions.
//
+ // * FifoTopic – Set to true to create a FIFO topic.
+ //
// * Policy – The policy that defines who can access your topic. By default,
// only the topic owner can publish or subscribe to the topic.
//
// The following attribute applies only to server-side-encryption (https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html):
//
- // * KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK)
+ // * KmsMasterKeyId – The ID of an AWS-managed customer master key (CMK)
// for Amazon SNS or a custom CMK. For more information, see Key Terms (https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms).
// For more examples, see KeyId (https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters)
// in the AWS Key Management Service API Reference.
+ //
+ // The following attribute applies only to FIFO topics:
+ //
+ // * ContentBasedDeduplication – Enables content-based deduplication. Amazon
+ // SNS uses a SHA-256 hash to generate the MessageDeduplicationId using the
+ // body of the message (but not the attributes of the message).
+ //
+ // * When ContentBasedDeduplication is in effect, messages with identical
+ // content sent within the deduplication interval are treated as duplicates
+ // and only one copy of the message is delivered.
+ //
+ // * If the queue has ContentBasedDeduplication set, your MessageDeduplicationId
+ // overrides the generated one.
Attributes map[string]*string `type:"map"`
// The name of the topic you want to create.
@@ -3992,6 +4024,8 @@ type CreateTopicInput struct {
// ASCII letters, numbers, underscores, and hyphens, and must be between 1 and
// 256 characters long.
//
+ // For a FIFO (first-in-first-out) topic, the name must end with the .fifo suffix.
+ //
// Name is a required field
Name *string `type:"string" required:"true"`
@@ -4531,6 +4565,8 @@ type GetSubscriptionAttributesOutput struct {
// account system defaults.
//
// * FilterPolicy – The filter policy JSON that is assigned to the subscription.
+ // For more information, see Amazon SNS Message Filtering (https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html)
+ // in the Amazon SNS Developer Guide.
//
// * Owner – The AWS account ID of the subscription's owner.
//
@@ -4636,7 +4672,7 @@ type GetTopicAttributesOutput struct {
//
// * TopicArn – The topic's ARN.
//
- // * EffectiveDeliveryPolicy – Yhe JSON serialization of the effective
+ // * EffectiveDeliveryPolicy – The JSON serialization of the effective
// delivery policy, taking system defaults into account.
//
// The following attribute applies only to server-side-encryption (https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html):
@@ -5641,27 +5677,27 @@ type SetPlatformApplicationAttributesInput struct {
// the following:
//
// * PlatformCredential – The credential received from the notification
- // service. For APNS/APNS_SANDBOX, PlatformCredential is private key. For
- // FCM, PlatformCredential is "API key". For ADM, PlatformCredential is "client
- // secret".
+ // service. For APNS and APNS_SANDBOX, PlatformCredential is private key.
+ // For GCM (Firebase Cloud Messaging), PlatformCredential is API key. For
+ // ADM, PlatformCredential is client secret.
//
// * PlatformPrincipal – The principal received from the notification service.
- // For APNS/APNS_SANDBOX, PlatformPrincipal is SSL certificate. For FCM,
- // PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is "client
- // id".
+ // For APNS and APNS_SANDBOX, PlatformPrincipal is SSL certificate. For GCM
+ // (Firebase Cloud Messaging), there is no PlatformPrincipal. For ADM, PlatformPrincipal
+ // is client id.
//
// * EventEndpointCreated – Topic ARN to which EndpointCreated event notifications
- // should be sent.
+ // are sent.
//
// * EventEndpointDeleted – Topic ARN to which EndpointDeleted event notifications
- // should be sent.
+ // are sent.
//
// * EventEndpointUpdated – Topic ARN to which EndpointUpdate event notifications
- // should be sent.
+ // are sent.
//
// * EventDeliveryFailure – Topic ARN to which DeliveryFailure event notifications
- // should be sent upon Direct Publish delivery failure (permanent) to one
- // of the application's endpoints.
+ // are sent upon Direct Publish delivery failure (permanent) to one of the
+ // application's endpoints.
//
// * SuccessFeedbackRoleArn – IAM role ARN used to give Amazon SNS write
// access to use CloudWatch Logs on your behalf.
@@ -5977,11 +6013,24 @@ type SetTopicAttributesInput struct {
//
// The following attribute applies only to server-side-encryption (https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html):
//
- // * KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK)
+ // * KmsMasterKeyId – The ID of an AWS-managed customer master key (CMK)
// for Amazon SNS or a custom CMK. For more information, see Key Terms (https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms).
// For more examples, see KeyId (https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters)
// in the AWS Key Management Service API Reference.
//
+ // The following attribute applies only to FIFO topics:
+ //
+ // * ContentBasedDeduplication – Enables content-based deduplication. Amazon
+ // SNS uses a SHA-256 hash to generate the MessageDeduplicationId using the
+ // body of the message (but not the attributes of the message).
+ //
+ // * When ContentBasedDeduplication is in effect, messages with identical
+ // content sent within the deduplication interval are treated as duplicates
+ // and only one copy of the message is delivered.
+ //
+ // * If the queue has ContentBasedDeduplication set, your MessageDeduplicationId
+ // overrides the generated one.
+ //
// AttributeName is a required field
AttributeName *string `type:"string" required:"true"`
@@ -6083,9 +6132,11 @@ type SubscribeInput struct {
// The endpoint that you want to receive notifications. Endpoints vary by protocol:
//
- // * For the http protocol, the endpoint is an URL beginning with http://
+ // * For the http protocol, the (public) endpoint is a URL beginning with
+ // http://
//
- // * For the https protocol, the endpoint is a URL beginning with https://
+ // * For the https protocol, the (public) endpoint is a URL beginning with
+ // https://
//
// * For the email protocol, the endpoint is an email address
//
@@ -6128,17 +6179,13 @@ type SubscribeInput struct {
// Sets whether the response from the Subscribe request includes the subscription
// ARN, even if the subscription is not yet confirmed.
//
- // * If you have the subscription ARN returned, the response includes the
- // ARN in all cases, even if the subscription is not yet confirmed.
- //
- // * If you don't have the subscription ARN returned, in addition to the
- // ARN for confirmed subscriptions, the response also includes the pending
- // subscription ARN value for subscriptions that aren't yet confirmed. A
- // subscription becomes confirmed when the subscriber calls the ConfirmSubscription
+ // * If you set this parameter to true, the response includes the ARN in
+ // all cases, even if the subscription is not yet confirmed. In addition
+ // to the ARN for confirmed subscriptions, the response also includes the
+ // pending subscription ARN value for subscriptions that aren't yet confirmed.
+ // A subscription becomes confirmed when the subscriber calls the ConfirmSubscription
// action with a confirmation token.
//
- // If you set this parameter to true, .
- //
// The default value is false.
ReturnSubscriptionArn *bool `type:"boolean"`
diff --git a/service/wafv2/api.go b/service/wafv2/api.go
index 68de2cffaa7..0d66b127f2e 100644
--- a/service/wafv2/api.go
+++ b/service/wafv2/api.go
@@ -3509,7 +3509,15 @@ func (c *WAFV2) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req
// 2019. For information, including how to migrate your AWS WAF resources from
// the prior release, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
//
-// Retrieves the TagInfoForResource for the specified resource.
+// Retrieves the TagInfoForResource for the specified resource. Tags are key:value
+// pairs that you can use to categorize and manage your resources, for purposes
+// like billing. For example, you might set the tag key to "customer" and the
+// value to the customer name or ID. You can specify one or more tags to add
+// to each AWS resource, up to 50 tags for a resource.
+//
+// You can tag the AWS resources that you manage through AWS WAF: web ACLs,
+// rule groups, IP sets, and regex pattern sets. You can't manage or view tags
+// through the AWS WAF console.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -3738,6 +3746,9 @@ func (c *WAFV2) PutLoggingConfigurationRequest(input *PutLoggingConfigurationInp
// operating. If you are capturing logs for Amazon CloudFront, always create
// the firehose in US East (N. Virginia).
//
+// Give the data firehose a name that starts with the prefix aws-waf-logs-.
+// For example, aws-waf-logs-us-east-2-analytics.
+//
// Do not create the data firehose using a Kinesis stream as your source.
//
// Associate that firehose to your web ACL using a PutLoggingConfiguration request.
@@ -3798,6 +3809,12 @@ func (c *WAFV2) PutLoggingConfigurationRequest(input *PutLoggingConfigurationInp
// * WAFInvalidOperationException
// The operation isn't valid.
//
+// * WAFLimitsExceededException
+// AWS WAF couldn’t perform the operation because you exceeded your resource
+// limit. For example, the maximum number of WebACL objects that you can create
+// for an AWS account. For more information, see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html)
+// in the AWS WAF Developer Guide.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutLoggingConfiguration
func (c *WAFV2) PutLoggingConfiguration(input *PutLoggingConfigurationInput) (*PutLoggingConfigurationOutput, error) {
req, out := c.PutLoggingConfigurationRequest(input)
@@ -4002,10 +4019,14 @@ func (c *WAFV2) TagResourceRequest(input *TagResourceInput) (req *request.Reques
// the prior release, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
//
// Associates tags with the specified AWS resource. Tags are key:value pairs
-// that you can associate with AWS resources. For example, the tag key might
-// be "customer" and the tag value might be "companyA." You can specify one
-// or more tags to add to each container. You can add up to 50 tags to each
-// AWS resource.
+// that you can use to categorize and manage your resources, for purposes like
+// billing. For example, you might set the tag key to "customer" and the value
+// to the customer name or ID. You can specify one or more tags to add to each
+// AWS resource, up to 50 tags for a resource.
+//
+// You can tag the AWS resources that you manage through AWS WAF: web ACLs,
+// rule groups, IP sets, and regex pattern sets. You can't manage or view tags
+// through the AWS WAF console.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -7183,6 +7204,88 @@ func (s *FirewallManagerStatement) SetRuleGroupReferenceStatement(v *RuleGroupRe
return s
}
+// The configuration for inspecting IP addresses in an HTTP header that you
+// specify, instead of using the IP address that's reported by the web request
+// origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify
+// any header name.
+//
+// If the specified header isn't present in the request, AWS WAF doesn't apply
+// the rule to the web request at all.
+//
+// This configuration is used for GeoMatchStatement and RateBasedStatement.
+// For IPSetReferenceStatement, use IPSetForwardedIPConfig instead.
+//
+// AWS WAF only evaluates the first IP address found in the specified HTTP header.
+type ForwardedIPConfig struct {
+ _ struct{} `type:"structure"`
+
+ // The match status to assign to the web request if the request doesn't have
+ // a valid IP address in the specified position.
+ //
+ // If the specified header isn't present in the request, AWS WAF doesn't apply
+ // the rule to the web request at all.
+ //
+ // You can specify the following fallback behaviors:
+ //
+ // * MATCH - Treat the web request as matching the rule statement. AWS WAF
+ // applies the rule action to the request.
+ //
+ // * NO_MATCH - Treat the web request as not matching the rule statement.
+ //
+ // FallbackBehavior is a required field
+ FallbackBehavior *string `type:"string" required:"true" enum:"FallbackBehavior"`
+
+ // The name of the HTTP header to use for the IP address. For example, to use
+ // the X-Forwarded-For (XFF) header, set this to X-Forwarded-For.
+ //
+ // If the specified header isn't present in the request, AWS WAF doesn't apply
+ // the rule to the web request at all.
+ //
+ // HeaderName is a required field
+ HeaderName *string `min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ForwardedIPConfig) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ForwardedIPConfig) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ForwardedIPConfig) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ForwardedIPConfig"}
+ if s.FallbackBehavior == nil {
+ invalidParams.Add(request.NewErrParamRequired("FallbackBehavior"))
+ }
+ if s.HeaderName == nil {
+ invalidParams.Add(request.NewErrParamRequired("HeaderName"))
+ }
+ if s.HeaderName != nil && len(*s.HeaderName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("HeaderName", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetFallbackBehavior sets the FallbackBehavior field's value.
+func (s *ForwardedIPConfig) SetFallbackBehavior(v string) *ForwardedIPConfig {
+ s.FallbackBehavior = &v
+ return s
+}
+
+// SetHeaderName sets the HeaderName field's value.
+func (s *ForwardedIPConfig) SetHeaderName(v string) *ForwardedIPConfig {
+ s.HeaderName = &v
+ return s
+}
+
//
// This is the latest version of AWS WAF, named AWS WAFV2, released in November,
// 2019. For information, including how to migrate your AWS WAF resources from
@@ -7195,6 +7298,15 @@ type GeoMatchStatement struct {
// An array of two-character country codes, for example, [ "US", "CN" ], from
// the alpha-2 country ISO codes of the ISO 3166 international standard.
CountryCodes []*string `min:"1" type:"list"`
+
+ // The configuration for inspecting IP addresses in an HTTP header that you
+ // specify, instead of using the IP address that's reported by the web request
+ // origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify
+ // any header name.
+ //
+ // If the specified header isn't present in the request, AWS WAF doesn't apply
+ // the rule to the web request at all.
+ ForwardedIPConfig *ForwardedIPConfig `type:"structure"`
}
// String returns the string representation
@@ -7213,6 +7325,11 @@ func (s *GeoMatchStatement) Validate() error {
if s.CountryCodes != nil && len(s.CountryCodes) < 1 {
invalidParams.Add(request.NewErrParamMinLen("CountryCodes", 1))
}
+ if s.ForwardedIPConfig != nil {
+ if err := s.ForwardedIPConfig.Validate(); err != nil {
+ invalidParams.AddNested("ForwardedIPConfig", err.(request.ErrInvalidParams))
+ }
+ }
if invalidParams.Len() > 0 {
return invalidParams
@@ -7226,6 +7343,12 @@ func (s *GeoMatchStatement) SetCountryCodes(v []*string) *GeoMatchStatement {
return s
}
+// SetForwardedIPConfig sets the ForwardedIPConfig field's value.
+func (s *GeoMatchStatement) SetForwardedIPConfig(v *ForwardedIPConfig) *GeoMatchStatement {
+ s.ForwardedIPConfig = v
+ return s
+}
+
type GetIPSetInput struct {
_ struct{} `type:"structure"`
@@ -7920,9 +8043,10 @@ type GetSampledRequestsInput struct {
Scope *string `type:"string" required:"true" enum:"Scope"`
// The start date and time and the end date and time of the range for which
- // you want GetSampledRequests to return a sample of requests. Specify the date
- // and time in the following format: "2016-09-27T14:50Z". You can specify any
- // time range in the previous three hours.
+ // you want GetSampledRequests to return a sample of requests. You must specify
+ // the times in Coordinated Universal Time (UTC) format. UTC format includes
+ // the special designator, Z. For example, "2016-09-27T14:50Z". You can specify
+ // any time range in the previous three hours.
//
// TimeWindow is a required field
TimeWindow *TimeWindow `type:"structure" required:"true"`
@@ -8028,7 +8152,8 @@ type GetSampledRequestsOutput struct {
// Usually, TimeWindow is the time range that you specified in the GetSampledRequests
// request. However, if your AWS resource received more than 5,000 requests
// during the time range that you specified in the request, GetSampledRequests
- // returns the time range for the first 5,000 requests.
+ // returns the time range for the first 5,000 requests. Times are in Coordinated
+ // Universal Time (UTC) format.
TimeWindow *TimeWindow `type:"structure"`
}
@@ -8491,6 +8616,115 @@ func (s *IPSet) SetName(v string) *IPSet {
return s
}
+// The configuration for inspecting IP addresses in an HTTP header that you
+// specify, instead of using the IP address that's reported by the web request
+// origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify
+// any header name.
+//
+// If the specified header isn't present in the request, AWS WAF doesn't apply
+// the rule to the web request at all.
+//
+// This configuration is used only for IPSetReferenceStatement. For GeoMatchStatement
+// and RateBasedStatement, use ForwardedIPConfig instead.
+type IPSetForwardedIPConfig struct {
+ _ struct{} `type:"structure"`
+
+ // The match status to assign to the web request if the request doesn't have
+ // a valid IP address in the specified position.
+ //
+ // If the specified header isn't present in the request, AWS WAF doesn't apply
+ // the rule to the web request at all.
+ //
+ // You can specify the following fallback behaviors:
+ //
+ // * MATCH - Treat the web request as matching the rule statement. AWS WAF
+ // applies the rule action to the request.
+ //
+ // * NO_MATCH - Treat the web request as not matching the rule statement.
+ //
+ // FallbackBehavior is a required field
+ FallbackBehavior *string `type:"string" required:"true" enum:"FallbackBehavior"`
+
+ // The name of the HTTP header to use for the IP address. For example, to use
+ // the X-Forwarded-For (XFF) header, set this to X-Forwarded-For.
+ //
+ // If the specified header isn't present in the request, AWS WAF doesn't apply
+ // the rule to the web request at all.
+ //
+ // HeaderName is a required field
+ HeaderName *string `min:"1" type:"string" required:"true"`
+
+ // The position in the header to search for the IP address. The header can contain
+ // IP addresses of the original client and also of proxies. For example, the
+ // header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10 where the first IP
+ // address identifies the original client and the rest identify proxies that
+ // the request went through.
+ //
+ // The options for this setting are the following:
+ //
+ // * FIRST - Inspect the first IP address in the list of IP addresses in
+ // the header. This is usually the client's original IP.
+ //
+ // * LAST - Inspect the last IP address in the list of IP addresses in the
+ // header.
+ //
+ // * ANY - Inspect all IP addresses in the header for a match. If the header
+ // contains more than 10 IP addresses, AWS WAF inspects the last 10.
+ //
+ // Position is a required field
+ Position *string `type:"string" required:"true" enum:"ForwardedIPPosition"`
+}
+
+// String returns the string representation
+func (s IPSetForwardedIPConfig) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s IPSetForwardedIPConfig) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *IPSetForwardedIPConfig) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "IPSetForwardedIPConfig"}
+ if s.FallbackBehavior == nil {
+ invalidParams.Add(request.NewErrParamRequired("FallbackBehavior"))
+ }
+ if s.HeaderName == nil {
+ invalidParams.Add(request.NewErrParamRequired("HeaderName"))
+ }
+ if s.HeaderName != nil && len(*s.HeaderName) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("HeaderName", 1))
+ }
+ if s.Position == nil {
+ invalidParams.Add(request.NewErrParamRequired("Position"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetFallbackBehavior sets the FallbackBehavior field's value.
+func (s *IPSetForwardedIPConfig) SetFallbackBehavior(v string) *IPSetForwardedIPConfig {
+ s.FallbackBehavior = &v
+ return s
+}
+
+// SetHeaderName sets the HeaderName field's value.
+func (s *IPSetForwardedIPConfig) SetHeaderName(v string) *IPSetForwardedIPConfig {
+ s.HeaderName = &v
+ return s
+}
+
+// SetPosition sets the Position field's value.
+func (s *IPSetForwardedIPConfig) SetPosition(v string) *IPSetForwardedIPConfig {
+ s.Position = &v
+ return s
+}
+
//
// This is the latest version of AWS WAF, named AWS WAFV2, released in November,
// 2019. For information, including how to migrate your AWS WAF resources from
@@ -8512,6 +8746,15 @@ type IPSetReferenceStatement struct {
//
// ARN is a required field
ARN *string `min:"20" type:"string" required:"true"`
+
+ // The configuration for inspecting IP addresses in an HTTP header that you
+ // specify, instead of using the IP address that's reported by the web request
+ // origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify
+ // any header name.
+ //
+ // If the specified header isn't present in the request, AWS WAF doesn't apply
+ // the rule to the web request at all.
+ IPSetForwardedIPConfig *IPSetForwardedIPConfig `type:"structure"`
}
// String returns the string representation
@@ -8533,6 +8776,11 @@ func (s *IPSetReferenceStatement) Validate() error {
if s.ARN != nil && len(*s.ARN) < 20 {
invalidParams.Add(request.NewErrParamMinLen("ARN", 20))
}
+ if s.IPSetForwardedIPConfig != nil {
+ if err := s.IPSetForwardedIPConfig.Validate(); err != nil {
+ invalidParams.AddNested("IPSetForwardedIPConfig", err.(request.ErrInvalidParams))
+ }
+ }
if invalidParams.Len() > 0 {
return invalidParams
@@ -8546,6 +8794,12 @@ func (s *IPSetReferenceStatement) SetARN(v string) *IPSetReferenceStatement {
return s
}
+// SetIPSetForwardedIPConfig sets the IPSetForwardedIPConfig field's value.
+func (s *IPSetReferenceStatement) SetIPSetForwardedIPConfig(v *IPSetForwardedIPConfig) *IPSetReferenceStatement {
+ s.IPSetForwardedIPConfig = v
+ return s
+}
+
//
// This is the latest version of AWS WAF, named AWS WAFV2, released in November,
// 2019. For information, including how to migrate your AWS WAF resources from
@@ -10135,14 +10389,32 @@ func (s QueryString) GoString() string {
type RateBasedStatement struct {
_ struct{} `type:"structure"`
- // Setting that indicates how to aggregate the request counts. Currently, you
- // must set this to IP. The request counts are aggregated on IP addresses.
+ // Setting that indicates how to aggregate the request counts. The options are
+ // the following:
+ //
+ // * IP - Aggregate the request counts on the IP address from the web request
+ // origin.
+ //
+ // * FORWARDED_IP - Aggregate the request counts on the first IP address
+ // in an HTTP header. If you use this, configure the ForwardedIPConfig, to
+ // specify the header to use.
//
// AggregateKeyType is a required field
AggregateKeyType *string `type:"string" required:"true" enum:"RateBasedStatementAggregateKeyType"`
+ // The configuration for inspecting IP addresses in an HTTP header that you
+ // specify, instead of using the IP address that's reported by the web request
+ // origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify
+ // any header name.
+ //
+ // If the specified header isn't present in the request, AWS WAF doesn't apply
+ // the rule to the web request at all.
+ //
+ // This is required if AggregateKeyType is set to FORWARDED_IP.
+ ForwardedIPConfig *ForwardedIPConfig `type:"structure"`
+
// The limit on requests per 5-minute period for a single originating IP address.
- // If the statement includes a ScopDownStatement, this limit is applied only
+ // If the statement includes a ScopeDownStatement, this limit is applied only
// to the requests that match the statement.
//
// Limit is a required field
@@ -10176,6 +10448,11 @@ func (s *RateBasedStatement) Validate() error {
if s.Limit != nil && *s.Limit < 100 {
invalidParams.Add(request.NewErrParamMinValue("Limit", 100))
}
+ if s.ForwardedIPConfig != nil {
+ if err := s.ForwardedIPConfig.Validate(); err != nil {
+ invalidParams.AddNested("ForwardedIPConfig", err.(request.ErrInvalidParams))
+ }
+ }
if s.ScopeDownStatement != nil {
if err := s.ScopeDownStatement.Validate(); err != nil {
invalidParams.AddNested("ScopeDownStatement", err.(request.ErrInvalidParams))
@@ -10194,6 +10471,12 @@ func (s *RateBasedStatement) SetAggregateKeyType(v string) *RateBasedStatement {
return s
}
+// SetForwardedIPConfig sets the ForwardedIPConfig field's value.
+func (s *RateBasedStatement) SetForwardedIPConfig(v *ForwardedIPConfig) *RateBasedStatement {
+ s.ForwardedIPConfig = v
+ return s
+}
+
// SetLimit sets the Limit field's value.
func (s *RateBasedStatement) SetLimit(v int64) *RateBasedStatement {
s.Limit = &v
@@ -11754,11 +12037,18 @@ func (s *Statement) SetXssMatchStatement(v *XssMatchStatement) *Statement {
// 2019. For information, including how to migrate your AWS WAF resources from
// the prior release, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
//
-// A collection of key:value pairs associated with an AWS resource. The key:value
-// pair can be anything you define. Typically, the tag key represents a category
-// (such as "environment") and the tag value represents a specific value within
-// that category (such as "test," "development," or "production"). You can add
-// up to 50 tags to each AWS resource.
+// A tag associated with an AWS resource. Tags are key:value pairs that you
+// can use to categorize and manage your resources, for purposes like billing
+// or other management. Typically, the tag key represents a category, such as
+// "environment", and the tag value represents a specific value within that
+// category, such as "test," "development," or "production". Or you might set
+// the tag key to "customer" and the value to the customer name or ID. You can
+// specify one or more tags to add to each AWS resource, up to 50 tags for a
+// resource.
+//
+// You can tag the AWS resources that you manage through AWS WAF: web ACLs,
+// rule groups, IP sets, and regex pattern sets. You can't manage or view tags
+// through the AWS WAF console.
type Tag struct {
_ struct{} `type:"structure"`
@@ -11822,7 +12112,18 @@ func (s *Tag) SetValue(v string) *Tag {
// 2019. For information, including how to migrate your AWS WAF resources from
// the prior release, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html).
//
-// The collection of tagging definitions for an AWS resource.
+// The collection of tagging definitions for an AWS resource. Tags are key:value
+// pairs that you can use to categorize and manage your resources, for purposes
+// like billing or other management. Typically, the tag key represents a category,
+// such as "environment", and the tag value represents a specific value within
+// that category, such as "test," "development," or "production". Or you might
+// set the tag key to "customer" and the value to the customer name or ID. You
+// can specify one or more tags to add to each AWS resource, up to 50 tags for
+// a resource.
+//
+// You can tag the AWS resources that you manage through AWS WAF: web ACLs,
+// rule groups, IP sets, and regex pattern sets. You can't manage or view tags
+// through the AWS WAF console.
type TagInfoForResource struct {
_ struct{} `type:"structure"`
@@ -12073,6 +12374,10 @@ func (s *TextTransformation) SetType(v string) *TextTransformation {
// In a GetSampledRequests request, the StartTime and EndTime objects specify
// the time range for which you want AWS WAF to return a sample of web requests.
//
+// You must specify the times in Coordinated Universal Time (UTC) format. UTC
+// format includes the special designator, Z. For example, "2016-09-27T14:50Z".
+// You can specify any time range in the previous three hours.
+//
// In a GetSampledRequests response, the StartTime and EndTime objects specify
// the time range for which AWS WAF actually returned a sample of web requests.
// AWS WAF gets the specified number of requests from among the first 5,000
@@ -12084,17 +12389,19 @@ type TimeWindow struct {
_ struct{} `type:"structure"`
// The end of the time range from which you want GetSampledRequests to return
- // a sample of the requests that your AWS resource received. Specify the date
- // and time in the following format: "2016-09-27T14:50Z". You can specify any
- // time range in the previous three hours.
+ // a sample of the requests that your AWS resource received. You must specify
+ // the times in Coordinated Universal Time (UTC) format. UTC format includes
+ // the special designator, Z. For example, "2016-09-27T14:50Z". You can specify
+ // any time range in the previous three hours.
//
// EndTime is a required field
EndTime *time.Time `type:"timestamp" required:"true"`
// The beginning of the time range from which you want GetSampledRequests to
- // return a sample of the requests that your AWS resource received. Specify
- // the date and time in the following format: "2016-09-27T14:50Z". You can specify
- // any time range in the previous three hours.
+ // return a sample of the requests that your AWS resource received. You must
+ // specify the times in Coordinated Universal Time (UTC) format. UTC format
+ // includes the special designator, Z. For example, "2016-09-27T14:50Z". You
+ // can specify any time range in the previous three hours.
//
// StartTime is a required field
StartTime *time.Time `type:"timestamp" required:"true"`
@@ -12982,10 +13289,11 @@ type VisibilityConfig struct {
// CloudWatchMetricsEnabled is a required field
CloudWatchMetricsEnabled *bool `type:"boolean" required:"true"`
- // A name of the CloudWatch metric. The name can contain only alphanumeric characters
- // (A-Z, a-z, 0-9), with length from one to 128 characters. It can't contain
- // whitespace or metric names reserved for AWS WAF, for example "All" and "Default_Action."
- // You can't change a MetricName after you create a VisibilityConfig.
+ // A name of the CloudWatch metric. The name can contain only the characters:
+ // A-Z, a-z, 0-9, - (hyphen), and _ (underscore). The name can be from one to
+ // 128 characters long. It can't contain whitespace or metric names reserved
+ // for AWS WAF, for example "All" and "Default_Action." You can't change a MetricName
+ // after you create a VisibilityConfig.
//
// MetricName is a required field
MetricName *string `min:"1" type:"string" required:"true"`
@@ -15044,6 +15352,25 @@ const (
CountryCodeZw = "ZW"
)
+const (
+ // FallbackBehaviorMatch is a FallbackBehavior enum value
+ FallbackBehaviorMatch = "MATCH"
+
+ // FallbackBehaviorNoMatch is a FallbackBehavior enum value
+ FallbackBehaviorNoMatch = "NO_MATCH"
+)
+
+const (
+ // ForwardedIPPositionFirst is a ForwardedIPPosition enum value
+ ForwardedIPPositionFirst = "FIRST"
+
+ // ForwardedIPPositionLast is a ForwardedIPPosition enum value
+ ForwardedIPPositionLast = "LAST"
+
+ // ForwardedIPPositionAny is a ForwardedIPPosition enum value
+ ForwardedIPPositionAny = "ANY"
+)
+
const (
// IPAddressVersionIpv4 is a IPAddressVersion enum value
IPAddressVersionIpv4 = "IPV4"
@@ -15166,6 +15493,21 @@ const (
// ParameterExceptionFieldFirewallManagerStatement is a ParameterExceptionField enum value
ParameterExceptionFieldFirewallManagerStatement = "FIREWALL_MANAGER_STATEMENT"
+
+ // ParameterExceptionFieldFallbackBehavior is a ParameterExceptionField enum value
+ ParameterExceptionFieldFallbackBehavior = "FALLBACK_BEHAVIOR"
+
+ // ParameterExceptionFieldPosition is a ParameterExceptionField enum value
+ ParameterExceptionFieldPosition = "POSITION"
+
+ // ParameterExceptionFieldForwardedIpConfig is a ParameterExceptionField enum value
+ ParameterExceptionFieldForwardedIpConfig = "FORWARDED_IP_CONFIG"
+
+ // ParameterExceptionFieldIpSetForwardedIpConfig is a ParameterExceptionField enum value
+ ParameterExceptionFieldIpSetForwardedIpConfig = "IP_SET_FORWARDED_IP_CONFIG"
+
+ // ParameterExceptionFieldHeaderName is a ParameterExceptionField enum value
+ ParameterExceptionFieldHeaderName = "HEADER_NAME"
)
const (
@@ -15188,6 +15530,9 @@ const (
const (
// RateBasedStatementAggregateKeyTypeIp is a RateBasedStatementAggregateKeyType enum value
RateBasedStatementAggregateKeyTypeIp = "IP"
+
+ // RateBasedStatementAggregateKeyTypeForwardedIp is a RateBasedStatementAggregateKeyType enum value
+ RateBasedStatementAggregateKeyTypeForwardedIp = "FORWARDED_IP"
)
const (