diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f7c6d927c..d2b07e25a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +Release v1.42.7 (2021-11-17) +=== + +### Service Client Updates +* `service/amplifybackend`: Updates service API and documentation +* `service/apigateway`: Updates service documentation + * Documentation updates for Amazon API Gateway. +* `service/appconfigdata`: Adds new service +* `service/devops-guru`: Updates service paginators +* `service/drs`: Updates service API, documentation, paginators, and examples +* `service/redshift-data`: Updates service API and documentation +* `service/sns`: Updates service API and documentation + * Amazon SNS introduces the PublishBatch API, which enables customers to publish up to 10 messages per API request. The new API is valid for Standard and FIFO topics. + Release v1.42.6 (2021-11-16) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index eea589e755..a08a84bb29 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -1702,6 +1702,73 @@ var awsPartition = partition{ }: endpoint{}, }, }, + "appconfigdata": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "af-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-east-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-2", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{}, + endpointKey{ + Region: "ap-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-north-1", + }: endpoint{}, + endpointKey{ + Region: "eu-south-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + }: endpoint{}, + endpointKey{ + Region: "eu-west-3", + }: endpoint{}, + endpointKey{ + Region: "me-south-1", + }: endpoint{}, + endpointKey{ + Region: "sa-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-1", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "appflow": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -11066,6 +11133,15 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "ap-southeast-3-fips", + }: endpoint{ + Hostname: "kms-fips.ap-southeast-3.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-southeast-3", + }, + Deprecated: boxedTrue, + }, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -20937,6 +21013,16 @@ var awscnPartition = partition{ }: endpoint{}, }, }, + "appconfigdata": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "cn-north-1", + }: endpoint{}, + endpointKey{ + Region: "cn-northwest-1", + }: endpoint{}, + }, + }, "application-autoscaling": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{ @@ -22683,6 +22769,16 @@ var awsusgovPartition = partition{ }: endpoint{}, }, }, + "appconfigdata": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-gov-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-gov-west-1", + }: endpoint{}, + }, + }, "application-autoscaling": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{ diff --git a/aws/version.go b/aws/version.go index 967f48642b..0c20299e92 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.42.6" +const SDKVersion = "1.42.7" diff --git a/models/apis/amplifybackend/2020-08-11/api-2.json b/models/apis/amplifybackend/2020-08-11/api-2.json index d7d5cc81a1..1350cdda65 100644 --- a/models/apis/amplifybackend/2020-08-11/api-2.json +++ b/models/apis/amplifybackend/2020-08-11/api-2.json @@ -126,6 +126,29 @@ "shape" : "BadRequestException" } ] }, + "CreateBackendStorage" : { + "name" : "CreateBackendStorage", + "http" : { + "method" : "POST", + "requestUri" : "/backend/{appId}/storage", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateBackendStorageRequest" + }, + "output" : { + "shape" : "CreateBackendStorageResponse" + }, + "errors" : [ { + "shape" : "NotFoundException" + }, { + "shape" : "GatewayTimeoutException" + }, { + "shape" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException" + } ] + }, "CreateToken" : { "name" : "CreateToken", "http" : { @@ -218,6 +241,29 @@ "shape" : "BadRequestException" } ] }, + "DeleteBackendStorage" : { + "name" : "DeleteBackendStorage", + "http" : { + "method" : "POST", + "requestUri" : "/backend/{appId}/storage/{backendEnvironmentName}/remove", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteBackendStorageRequest" + }, + "output" : { + "shape" : "DeleteBackendStorageResponse" + }, + "errors" : [ { + "shape" : "NotFoundException" + }, { + "shape" : "GatewayTimeoutException" + }, { + "shape" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException" + } ] + }, "DeleteToken" : { "name" : "DeleteToken", "http" : { @@ -379,6 +425,29 @@ "shape" : "BadRequestException" } ] }, + "GetBackendStorage" : { + "name" : "GetBackendStorage", + "http" : { + "method" : "POST", + "requestUri" : "/backend/{appId}/storage/{backendEnvironmentName}/details", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetBackendStorageRequest" + }, + "output" : { + "shape" : "GetBackendStorageResponse" + }, + "errors" : [ { + "shape" : "NotFoundException" + }, { + "shape" : "GatewayTimeoutException" + }, { + "shape" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException" + } ] + }, "GetToken" : { "name" : "GetToken", "http" : { @@ -425,6 +494,29 @@ "shape" : "BadRequestException" } ] }, + "ImportBackendStorage" : { + "name" : "ImportBackendStorage", + "http" : { + "method" : "POST", + "requestUri" : "/backend/{appId}/storage/{backendEnvironmentName}/import", + "responseCode" : 200 + }, + "input" : { + "shape" : "ImportBackendStorageRequest" + }, + "output" : { + "shape" : "ImportBackendStorageResponse" + }, + "errors" : [ { + "shape" : "NotFoundException" + }, { + "shape" : "GatewayTimeoutException" + }, { + "shape" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException" + } ] + }, "ListBackendJobs" : { "name" : "ListBackendJobs", "http" : { @@ -448,6 +540,29 @@ "shape" : "BadRequestException" } ] }, + "ListS3Buckets" : { + "name" : "ListS3Buckets", + "http" : { + "method" : "POST", + "requestUri" : "/s3Buckets", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListS3BucketsRequest" + }, + "output" : { + "shape" : "ListS3BucketsResponse" + }, + "errors" : [ { + "shape" : "NotFoundException" + }, { + "shape" : "GatewayTimeoutException" + }, { + "shape" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException" + } ] + }, "RemoveAllBackends" : { "name" : "RemoveAllBackends", "http" : { @@ -585,6 +700,29 @@ }, { "shape" : "BadRequestException" } ] + }, + "UpdateBackendStorage" : { + "name" : "UpdateBackendStorage", + "http" : { + "method" : "POST", + "requestUri" : "/backend/{appId}/storage/{backendEnvironmentName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateBackendStorageRequest" + }, + "output" : { + "shape" : "UpdateBackendStorageResponse" + }, + "errors" : [ { + "shape" : "NotFoundException" + }, { + "shape" : "GatewayTimeoutException" + }, { + "shape" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException" + } ] } }, "shapes" : { @@ -900,6 +1038,42 @@ }, "required" : [ "AppId", "BackendEnvironmentName" ] }, + "BackendStoragePermissions" : { + "type" : "structure", + "members" : { + "Authenticated" : { + "shape" : "ListOfAuthenticatedElement", + "locationName" : "authenticated" + }, + "UnAuthenticated" : { + "shape" : "ListOfUnAuthenticatedElement", + "locationName" : "unAuthenticated" + } + }, + "required" : [ "Authenticated" ] + }, + "BackendStorageRespObj" : { + "type" : "structure", + "members" : { + "AppId" : { + "shape" : "__string", + "locationName" : "appId" + }, + "BackendEnvironmentName" : { + "shape" : "__string", + "locationName" : "backendEnvironmentName" + }, + "JobId" : { + "shape" : "__string", + "locationName" : "jobId" + }, + "Status" : { + "shape" : "__string", + "locationName" : "status" + } + }, + "required" : [ "Status", "AppId", "BackendEnvironmentName", "JobId" ] + }, "BadRequestException" : { "type" : "structure", "members" : { @@ -1465,6 +1639,86 @@ } } }, + "CreateBackendStorageReqObj" : { + "type" : "structure", + "members" : { + "BackendEnvironmentName" : { + "shape" : "__string", + "locationName" : "backendEnvironmentName" + }, + "ResourceConfig" : { + "shape" : "CreateBackendStorageResourceConfig", + "locationName" : "resourceConfig" + }, + "ResourceName" : { + "shape" : "__string", + "locationName" : "resourceName" + } + }, + "required" : [ "ResourceName", "BackendEnvironmentName", "ResourceConfig" ] + }, + "CreateBackendStorageRequest" : { + "type" : "structure", + "members" : { + "AppId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "appId" + }, + "BackendEnvironmentName" : { + "shape" : "__string", + "locationName" : "backendEnvironmentName" + }, + "ResourceConfig" : { + "shape" : "CreateBackendStorageResourceConfig", + "locationName" : "resourceConfig" + }, + "ResourceName" : { + "shape" : "__string", + "locationName" : "resourceName" + } + }, + "required" : [ "AppId", "ResourceName", "BackendEnvironmentName", "ResourceConfig" ] + }, + "CreateBackendStorageResourceConfig" : { + "type" : "structure", + "members" : { + "BucketName" : { + "shape" : "__string", + "locationName" : "bucketName" + }, + "Permissions" : { + "shape" : "BackendStoragePermissions", + "locationName" : "permissions" + }, + "ServiceName" : { + "shape" : "ServiceName", + "locationName" : "serviceName" + } + }, + "required" : [ "ServiceName", "Permissions" ] + }, + "CreateBackendStorageResponse" : { + "type" : "structure", + "members" : { + "AppId" : { + "shape" : "__string", + "locationName" : "appId" + }, + "BackendEnvironmentName" : { + "shape" : "__string", + "locationName" : "backendEnvironmentName" + }, + "JobId" : { + "shape" : "__string", + "locationName" : "jobId" + }, + "Status" : { + "shape" : "__string", + "locationName" : "status" + } + } + }, "CreateTokenRequest" : { "type" : "structure", "members" : { @@ -1696,6 +1950,51 @@ } } }, + "DeleteBackendStorageRequest" : { + "type" : "structure", + "members" : { + "AppId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "appId" + }, + "BackendEnvironmentName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "backendEnvironmentName" + }, + "ResourceName" : { + "shape" : "__string", + "locationName" : "resourceName" + }, + "ServiceName" : { + "shape" : "ServiceName", + "locationName" : "serviceName" + } + }, + "required" : [ "AppId", "BackendEnvironmentName", "ServiceName", "ResourceName" ] + }, + "DeleteBackendStorageResponse" : { + "type" : "structure", + "members" : { + "AppId" : { + "shape" : "__string", + "locationName" : "appId" + }, + "BackendEnvironmentName" : { + "shape" : "__string", + "locationName" : "backendEnvironmentName" + }, + "JobId" : { + "shape" : "__string", + "locationName" : "jobId" + }, + "Status" : { + "shape" : "__string", + "locationName" : "status" + } + } + }, "DeleteTokenRequest" : { "type" : "structure", "members" : { @@ -2161,6 +2460,101 @@ } } }, + "GetBackendStorageReqObj" : { + "type" : "structure", + "members" : { + "ResourceName" : { + "shape" : "__string", + "locationName" : "resourceName" + } + }, + "required" : [ "ResourceName" ] + }, + "GetBackendStorageRequest" : { + "type" : "structure", + "members" : { + "AppId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "appId" + }, + "BackendEnvironmentName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "backendEnvironmentName" + }, + "ResourceName" : { + "shape" : "__string", + "locationName" : "resourceName" + } + }, + "required" : [ "AppId", "BackendEnvironmentName", "ResourceName" ] + }, + "GetBackendStorageResourceConfig" : { + "type" : "structure", + "members" : { + "BucketName" : { + "shape" : "__string", + "locationName" : "bucketName" + }, + "Imported" : { + "shape" : "__boolean", + "locationName" : "imported" + }, + "Permissions" : { + "shape" : "BackendStoragePermissions", + "locationName" : "permissions" + }, + "ServiceName" : { + "shape" : "ServiceName", + "locationName" : "serviceName" + } + }, + "required" : [ "ServiceName", "Imported" ] + }, + "GetBackendStorageRespObj" : { + "type" : "structure", + "members" : { + "AppId" : { + "shape" : "__string", + "locationName" : "appId" + }, + "BackendEnvironmentName" : { + "shape" : "__string", + "locationName" : "backendEnvironmentName" + }, + "ResourceConfig" : { + "shape" : "GetBackendStorageResourceConfig", + "locationName" : "resourceConfig" + }, + "ResourceName" : { + "shape" : "__string", + "locationName" : "resourceName" + } + }, + "required" : [ "AppId", "BackendEnvironmentName" ] + }, + "GetBackendStorageResponse" : { + "type" : "structure", + "members" : { + "AppId" : { + "shape" : "__string", + "locationName" : "appId" + }, + "BackendEnvironmentName" : { + "shape" : "__string", + "locationName" : "backendEnvironmentName" + }, + "ResourceConfig" : { + "shape" : "GetBackendStorageResourceConfig", + "locationName" : "resourceConfig" + }, + "ResourceName" : { + "shape" : "__string", + "locationName" : "resourceName" + } + } + }, "GetTokenRequest" : { "type" : "structure", "members" : { @@ -2303,6 +2697,65 @@ } } }, + "ImportBackendStorageReqObj" : { + "type" : "structure", + "members" : { + "BucketName" : { + "shape" : "__string", + "locationName" : "bucketName" + }, + "ServiceName" : { + "shape" : "ServiceName", + "locationName" : "serviceName" + } + }, + "required" : [ "ServiceName" ] + }, + "ImportBackendStorageRequest" : { + "type" : "structure", + "members" : { + "AppId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "appId" + }, + "BackendEnvironmentName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "backendEnvironmentName" + }, + "BucketName" : { + "shape" : "__string", + "locationName" : "bucketName" + }, + "ServiceName" : { + "shape" : "ServiceName", + "locationName" : "serviceName" + } + }, + "required" : [ "AppId", "BackendEnvironmentName", "ServiceName" ] + }, + "ImportBackendStorageResponse" : { + "type" : "structure", + "members" : { + "AppId" : { + "shape" : "__string", + "locationName" : "appId" + }, + "BackendEnvironmentName" : { + "shape" : "__string", + "locationName" : "backendEnvironmentName" + }, + "JobId" : { + "shape" : "__string", + "locationName" : "jobId" + }, + "Status" : { + "shape" : "__string", + "locationName" : "status" + } + } + }, "InternalServiceException" : { "type" : "structure", "members" : { @@ -2412,6 +2865,51 @@ } } }, + "ListS3BucketsReqObj" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken" + } + } + }, + "ListS3BucketsRequest" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken" + } + } + }, + "ListS3BucketsRespObj" : { + "type" : "structure", + "members" : { + "Buckets" : { + "shape" : "ListOfS3BucketInfo", + "locationName" : "buckets" + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken" + } + }, + "required" : [ "Buckets" ] + }, + "ListS3BucketsResponse" : { + "type" : "structure", + "members" : { + "Buckets" : { + "shape" : "ListOfS3BucketInfo", + "locationName" : "buckets" + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken" + } + } + }, "LoginAuthConfigReqObj" : { "type" : "structure", "members" : { @@ -2576,6 +3074,20 @@ } } }, + "RemoveBackendStorageReqObj" : { + "type" : "structure", + "members" : { + "ResourceName" : { + "shape" : "__string", + "locationName" : "resourceName" + }, + "ServiceName" : { + "shape" : "ServiceName", + "locationName" : "serviceName" + } + }, + "required" : [ "ServiceName", "ResourceName" ] + }, "ResolutionStrategy" : { "type" : "string", "enum" : [ "OPTIMISTIC_CONCURRENCY", "LAMBDA", "AUTOMERGE", "NONE" ] @@ -2584,10 +3096,27 @@ "type" : "structure", "members" : { } }, + "S3BucketInfo" : { + "type" : "structure", + "members" : { + "CreationDate" : { + "shape" : "__string", + "locationName" : "creationDate" + }, + "Name" : { + "shape" : "__string", + "locationName" : "name" + } + } + }, "Service" : { "type" : "string", "enum" : [ "COGNITO" ] }, + "ServiceName" : { + "type" : "string", + "enum" : [ "S3" ] + }, "Settings" : { "type" : "structure", "members" : { @@ -3006,10 +3535,87 @@ } } }, + "UpdateBackendStorageReqObj" : { + "type" : "structure", + "members" : { + "ResourceConfig" : { + "shape" : "UpdateBackendStorageResourceConfig", + "locationName" : "resourceConfig" + }, + "ResourceName" : { + "shape" : "__string", + "locationName" : "resourceName" + } + }, + "required" : [ "ResourceName", "ResourceConfig" ] + }, + "UpdateBackendStorageRequest" : { + "type" : "structure", + "members" : { + "AppId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "appId" + }, + "BackendEnvironmentName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "backendEnvironmentName" + }, + "ResourceConfig" : { + "shape" : "UpdateBackendStorageResourceConfig", + "locationName" : "resourceConfig" + }, + "ResourceName" : { + "shape" : "__string", + "locationName" : "resourceName" + } + }, + "required" : [ "AppId", "BackendEnvironmentName", "ResourceName", "ResourceConfig" ] + }, + "UpdateBackendStorageResourceConfig" : { + "type" : "structure", + "members" : { + "Permissions" : { + "shape" : "BackendStoragePermissions", + "locationName" : "permissions" + }, + "ServiceName" : { + "shape" : "ServiceName", + "locationName" : "serviceName" + } + }, + "required" : [ "ServiceName", "Permissions" ] + }, + "UpdateBackendStorageResponse" : { + "type" : "structure", + "members" : { + "AppId" : { + "shape" : "__string", + "locationName" : "appId" + }, + "BackendEnvironmentName" : { + "shape" : "__string", + "locationName" : "backendEnvironmentName" + }, + "JobId" : { + "shape" : "__string", + "locationName" : "jobId" + }, + "Status" : { + "shape" : "__string", + "locationName" : "status" + } + } + }, "AdditionalConstraintsElement" : { "type" : "string", "enum" : [ "REQUIRE_DIGIT", "REQUIRE_LOWERCASE", "REQUIRE_SYMBOL", "REQUIRE_UPPERCASE" ] }, + "AuthenticatedElement" : { + "type" : "string", + "enum" : [ "READ", "CREATE_AND_UPDATE", "DELETE" ] + }, "MfaTypesElement" : { "type" : "string", "enum" : [ "SMS", "TOTP" ] @@ -3022,6 +3628,10 @@ "type" : "string", "enum" : [ "ADDRESS", "BIRTHDATE", "EMAIL", "FAMILY_NAME", "GENDER", "GIVEN_NAME", "LOCALE", "MIDDLE_NAME", "NAME", "NICKNAME", "PHONE_NUMBER", "PICTURE", "PREFERRED_USERNAME", "PROFILE", "UPDATED_AT", "WEBSITE", "ZONE_INFO" ] }, + "UnAuthenticatedElement" : { + "type" : "string", + "enum" : [ "READ", "CREATE_AND_UPDATE", "DELETE" ] + }, "__boolean" : { "type" : "boolean" }, @@ -3048,12 +3658,24 @@ "shape" : "BackendJobRespObj" } }, + "ListOfS3BucketInfo" : { + "type" : "list", + "member" : { + "shape" : "S3BucketInfo" + } + }, "ListOfAdditionalConstraintsElement" : { "type" : "list", "member" : { "shape" : "AdditionalConstraintsElement" } }, + "ListOfAuthenticatedElement" : { + "type" : "list", + "member" : { + "shape" : "AuthenticatedElement" + } + }, "ListOfMfaTypesElement" : { "type" : "list", "member" : { @@ -3072,6 +3694,12 @@ "shape" : "RequiredSignUpAttributesElement" } }, + "ListOfUnAuthenticatedElement" : { + "type" : "list", + "member" : { + "shape" : "UnAuthenticatedElement" + } + }, "ListOf__string" : { "type" : "list", "member" : { diff --git a/models/apis/amplifybackend/2020-08-11/docs-2.json b/models/apis/amplifybackend/2020-08-11/docs-2.json index 799944a2c6..04be8a1044 100644 --- a/models/apis/amplifybackend/2020-08-11/docs-2.json +++ b/models/apis/amplifybackend/2020-08-11/docs-2.json @@ -7,10 +7,12 @@ "CreateBackendAPI" : "

Creates a new backend API resource.

", "CreateBackendAuth" : "

Creates a new backend authentication resource.

", "CreateBackendConfig" : "

Creates a config object for a backend.

", + "CreateBackendStorage" : "

Creates a backend storage resource.

", "CreateToken" : "

Generates a one-time challenge code to authenticate a user into your Amplify Admin UI.

", "DeleteBackend" : "

Removes an existing environment from your Amplify project.

", "DeleteBackendAPI" : "

Deletes an existing backend API resource.

", "DeleteBackendAuth" : "

Deletes an existing backend authentication resource.

", + "DeleteBackendStorage" : "

Removes the specified backend storage resource.

", "DeleteToken" : "

Deletes the challenge token based on the given appId and sessionId.

", "GenerateBackendAPIModels" : "

Generates a model schema for an existing backend API resource.

", "GetBackend" : "

Provides project-level details for your Amplify UI project.

", @@ -18,15 +20,19 @@ "GetBackendAPIModels" : "

Generates a model schema for existing backend API resource.

", "GetBackendAuth" : "

Gets a backend auth details.

", "GetBackendJob" : "

Returns information about a specific job.

", + "GetBackendStorage" : "

Gets details for a backend storage resource.

", "GetToken" : "

Gets the challenge token based on the given appId and sessionId.

", "ImportBackendAuth" : "

Imports an existing backend authentication resource.

", + "ImportBackendStorage" : "

Imports an existing backend storage resource.

", "ListBackendJobs" : "

Lists the jobs for the backend of an Amplify app.

", + "ListS3Buckets" : "

The list of S3 buckets in your account.

", "RemoveAllBackends" : "

Removes all backend environments from your Amplify project.

", "RemoveBackendConfig" : "

Removes the AWS resources required to access the Amplify Admin UI.

", "UpdateBackendAPI" : "

Updates an existing backend API resource.

", "UpdateBackendAuth" : "

Updates an existing backend authentication resource.

", "UpdateBackendConfig" : "

Updates the AWS resources required to access the Amplify Admin UI.

", - "UpdateBackendJob" : "

Updates a specific job.

" + "UpdateBackendJob" : "

Updates a specific job.

", + "UpdateBackendStorage" : "

Updates an existing backend storage resource.

" }, "shapes" : { "AuthResources" : { @@ -111,6 +117,18 @@ "ListOfBackendJobRespObj$member" : null } }, + "BackendStoragePermissions" : { + "base" : "

Describes the read, write, and delete permissions users have against your storage S3 bucket.

", + "refs" : { + "CreateBackendStorageResourceConfig$Permissions" : "

The authorization configuration for the storage S3 bucket.

", + "GetBackendStorageResourceConfig$Permissions" : "

The authorization configuration for the storage S3 bucket.

", + "UpdateBackendStorageResourceConfig$Permissions" : "

The authorization configuration for the storage S3 bucket.

" + } + }, + "BackendStorageRespObj" : { + "base" : "

The response object for this operation.

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

An error returned if a request is not formed properly.

", "refs" : { } @@ -190,6 +208,16 @@ "base" : "

The response object sent when a backend is created.

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

The request object for this operation.

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

The resource configuration for creating backend storage.

", + "refs" : { + "CreateBackendStorageReqObj$ResourceConfig" : "

The resource configuration for creating backend storage.

" + } + }, "CreateTokenRespObj" : { "base" : "

The response object for this operation.

", "refs" : { } @@ -244,6 +272,20 @@ "base" : "

The response object for this operation.

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

The request object for this operation.

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

The details for a backend storage resource.

", + "refs" : { + "GetBackendStorageRespObj$ResourceConfig" : "

The resource configuration for the backend storage resource.

" + } + }, + "GetBackendStorageRespObj" : { + "base" : "

The response object for this operation.

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

The response object for this operation.

", "refs" : { } @@ -252,6 +294,10 @@ "base" : "

The request object for this operation.

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

The request object for this operation.

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

An error returned if there's a temporary issue with the service.

", "refs" : { } @@ -268,6 +314,14 @@ "base" : "

The returned list of backend jobs.

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

The request object for this operation.

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

The response object for this operation.

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

The request object for this operation.

", "refs" : { @@ -315,6 +369,10 @@ "base" : "

The response object for this operation.

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

The request object for this operation.

", + "refs" : { } + }, "ResolutionStrategy" : { "base" : null, "refs" : { @@ -324,7 +382,13 @@ "ResourceConfig" : { "base" : null, "refs" : { - "CreateBackendReqObj$ResourceConfig" : "

The resource configuration for the create backend request.

" + "CreateBackendReqObj$ResourceConfig" : "

The resource configuration for creating backend storage.

" + } + }, + "S3BucketInfo" : { + "base" : "

Describes the metadata of the S3 bucket.

", + "refs" : { + "ListOfS3BucketInfo$member" : null } }, "Service" : { @@ -334,6 +398,16 @@ "UpdateBackendAuthResourceConfig$Service" : "

Defines the service name to use when configuring an authentication resource in your Amplify project.

" } }, + "ServiceName" : { + "base" : null, + "refs" : { + "CreateBackendStorageResourceConfig$ServiceName" : "

The name of the storage service.

", + "GetBackendStorageResourceConfig$ServiceName" : "

The name of the storage service.

", + "ImportBackendStorageReqObj$ServiceName" : "

The name of the storage service.

", + "RemoveBackendStorageReqObj$ServiceName" : "

The name of the storage service.

", + "UpdateBackendStorageResourceConfig$ServiceName" : "

The name of the storage service.

" + } + }, "Settings" : { "base" : null, "refs" : { @@ -421,12 +495,28 @@ "base" : "

The request object for this operation.

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

The request object for this operation.

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

The resource configuration for updating backend storage.

", + "refs" : { + "UpdateBackendStorageReqObj$ResourceConfig" : "

The resource configuration for updating backend storage.

" + } + }, "AdditionalConstraintsElement" : { "base" : null, "refs" : { "ListOfAdditionalConstraintsElement$member" : null } }, + "AuthenticatedElement" : { + "base" : null, + "refs" : { + "ListOfAuthenticatedElement$member" : null + } + }, "MfaTypesElement" : { "base" : null, "refs" : { @@ -445,11 +535,18 @@ "ListOfRequiredSignUpAttributesElement$member" : null } }, + "UnAuthenticatedElement" : { + "base" : null, + "refs" : { + "ListOfUnAuthenticatedElement$member" : null + } + }, "__boolean" : { "base" : null, "refs" : { "CreateBackendAuthIdentityPoolConfig$UnauthenticatedLogin" : "

Set to true or false based on whether you want to enable guest authorization to your Amplify app.

", "DeleteTokenRespObj$IsSuccess" : "

Indicates whether the request succeeded or failed.

", + "GetBackendStorageResourceConfig$Imported" : "

Returns True if the storage resource has been imported.

", "RemoveAllBackendsReqObj$CleanAmplifyApp" : "

Cleans up the Amplify Console app if this value is set to true.

", "UpdateBackendAuthIdentityPoolConfig$UnauthenticatedLogin" : "

A boolean value that can be set to allow or disallow guest-level authorization into your Amplify app.

" } @@ -480,6 +577,12 @@ "ListBackendJobRespObj$Jobs" : "

An array of jobs and their properties.

" } }, + "ListOfS3BucketInfo" : { + "base" : null, + "refs" : { + "ListS3BucketsRespObj$Buckets" : "

The list of S3 buckets.

" + } + }, "ListOfAdditionalConstraintsElement" : { "base" : null, "refs" : { @@ -487,6 +590,12 @@ "UpdateBackendAuthPasswordPolicyConfig$AdditionalConstraints" : "

Describes additional constraints on password requirements to sign in to the auth resource, configured as a part of your Amplify project.

" } }, + "ListOfAuthenticatedElement" : { + "base" : null, + "refs" : { + "BackendStoragePermissions$Authenticated" : "

Lists all authenticated user read, write, and delete permissions for your S3 bucket.

" + } + }, "ListOfMfaTypesElement" : { "base" : null, "refs" : { @@ -506,6 +615,12 @@ "CreateBackendAuthUserPoolConfig$RequiredSignUpAttributes" : "

The required attributes to sign up new users in the user pool.

" } }, + "ListOfUnAuthenticatedElement" : { + "base" : null, + "refs" : { + "BackendStoragePermissions$UnAuthenticated" : "

Lists all unauthenticated user read, write, and delete permissions for your S3 bucket.

" + } + }, "ListOf__string" : { "base" : null, "refs" : { @@ -568,6 +683,10 @@ "BackendJobRespObj$Operation" : "

The name of the operation.

", "BackendJobRespObj$Status" : "

The current status of the request.

", "BackendJobRespObj$UpdateTime" : "

The time when the job was last updated.

", + "BackendStorageRespObj$AppId" : "

The app ID.

", + "BackendStorageRespObj$BackendEnvironmentName" : "

The name of the backend environment.

", + "BackendStorageRespObj$JobId" : "

The ID for the job.

", + "BackendStorageRespObj$Status" : "

The current status of the request.

", "BadRequestException$Message" : "

An error message to inform that the request failed.

", "CloneBackendReqObj$TargetEnvironmentName" : "

The name of the destination backend environment to be created.

", "CloneBackendRespObj$AppId" : "

The app ID.

", @@ -598,6 +717,9 @@ "CreateBackendRespObj$JobId" : "

The ID for the job.

", "CreateBackendRespObj$Operation" : "

The name of the operation.

", "CreateBackendRespObj$Status" : "

The current status of the request.

", + "CreateBackendStorageReqObj$BackendEnvironmentName" : "

The name of the backend environment.

", + "CreateBackendStorageReqObj$ResourceName" : "

The name of the storage resource.

", + "CreateBackendStorageResourceConfig$BucketName" : "

The name of the S3 bucket.

", "CreateTokenRespObj$AppId" : "

The app ID.

", "CreateTokenRespObj$ChallengeCode" : "

One-time challenge code for authenticating into the Amplify Admin UI.

", "CreateTokenRespObj$SessionId" : "

A unique ID provided when creating a new challenge token.

", @@ -627,6 +749,11 @@ "GetBackendRespObj$AppName" : "

The name of the app.

", "GetBackendRespObj$BackendEnvironmentName" : "

The name of the backend environment.

", "GetBackendRespObj$Error" : "

If the request failed, this is the returned error.

", + "GetBackendStorageReqObj$ResourceName" : "

The name of the storage resource.

", + "GetBackendStorageResourceConfig$BucketName" : "

The name of the S3 bucket.

", + "GetBackendStorageRespObj$AppId" : "

The app ID.

", + "GetBackendStorageRespObj$BackendEnvironmentName" : "

The name of the backend environment.

", + "GetBackendStorageRespObj$ResourceName" : "

The name of the storage resource.

", "GetTokenRespObj$AppId" : "

The app ID.

", "GetTokenRespObj$ChallengeCode" : "

The one-time challenge code for authenticating into the Amplify Admin UI.

", "GetTokenRespObj$SessionId" : "

A unique ID provided when creating a new challenge token.

", @@ -635,6 +762,7 @@ "ImportBackendAuthReqObj$NativeClientId" : "

The ID of the Amazon Cognito native client.

", "ImportBackendAuthReqObj$UserPoolId" : "

The ID of the Amazon Cognito user pool.

", "ImportBackendAuthReqObj$WebClientId" : "

The ID of the Amazon Cognito web client.

", + "ImportBackendStorageReqObj$BucketName" : "

The name of the S3 bucket.

", "InternalServiceException$Message" : "

An error message to inform that the request failed.

", "LimitExceededException$LimitType" : "

The type of limit that was exceeded.

", "LimitExceededException$Message" : "

An error message to inform that the request has failed.

", @@ -643,6 +771,8 @@ "ListBackendJobReqObj$Operation" : "

Filters the list of response objects to include only those with the specified operation name.

", "ListBackendJobReqObj$Status" : "

Filters the list of response objects to include only those with the specified status.

", "ListBackendJobRespObj$NextToken" : "

The token for the next set of results.

", + "ListS3BucketsReqObj$NextToken" : "

Reserved for future use.

", + "ListS3BucketsRespObj$NextToken" : "

Reserved for future use.

", "LoginAuthConfigReqObj$AwsCognitoIdentityPoolId" : "

The Amazon Cognito identity pool ID used for the Amplify Admin UI login authorization.

", "LoginAuthConfigReqObj$AwsCognitoRegion" : "

The AWS Region for the Amplify Admin UI login.

", "LoginAuthConfigReqObj$AwsUserPoolsId" : "

The Amazon Cognito user pool ID used for Amplify Admin UI login authentication.

", @@ -656,10 +786,14 @@ "RemoveAllBackendsRespObj$Status" : "

The current status of the request.

", "RemoveBackendAuthReqObj$ResourceName" : "

The name of this resource.

", "RemoveBackendConfigRespObj$Error" : "

If the request fails, this error is returned.

", + "RemoveBackendStorageReqObj$ResourceName" : "

The name of the storage resource.

", + "S3BucketInfo$CreationDate" : "

The creation date of the S3 bucket.

", + "S3BucketInfo$Name" : "

The name of the S3 bucket.

", "Settings$SmsMessage" : "

The body of the SMS message.

", "SmsSettings$SmsMessage" : "

The body of the SMS message.

", "UpdateBackendAuthOAuthConfig$DomainPrefix" : "

The Amazon Cognito domain prefix used to create a hosted UI for authentication.

", "UpdateBackendAuthReqObj$ResourceName" : "

The name of this resource.

", + "UpdateBackendStorageReqObj$ResourceName" : "

The name of the storage resource.

", "ListOf__string$member" : null } } diff --git a/models/apis/apigateway/2015-07-09/docs-2.json b/models/apis/apigateway/2015-07-09/docs-2.json index 640613047c..ae4ed5472e 100644 --- a/models/apis/apigateway/2015-07-09/docs-2.json +++ b/models/apis/apigateway/2015-07-09/docs-2.json @@ -234,7 +234,7 @@ "ImportDocumentationPartsRequest$failOnWarnings": "

A query parameter to specify whether to rollback the documentation importation (true) or not (false) when a warning is encountered. The default value is false.

", "ImportRestApiRequest$failOnWarnings": "

A query parameter to indicate whether to rollback the API creation (true) or not (false) when a warning is encountered. The default value is false.

", "MethodSetting$metricsEnabled": "

Specifies whether Amazon CloudWatch metrics are enabled for this method. The PATCH path for this setting is /{method_setting_key}/metrics/enabled, and the value is a Boolean.

", - "MethodSetting$dataTraceEnabled": "

Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/dataTrace, and the value is a Boolean.

", + "MethodSetting$dataTraceEnabled": "

Specifies whether full requests and responses are logged for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs. The PATCH path for this setting is /{method_setting_key}/logging/dataTrace, and the value is a Boolean.

", "MethodSetting$cachingEnabled": "

Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached. The PATCH path for this setting is /{method_setting_key}/caching/enabled, and the value is a Boolean.

", "MethodSetting$cacheDataEncrypted": "

Specifies whether the cached responses are encrypted. The PATCH path for this setting is /{method_setting_key}/caching/dataEncrypted, and the value is a Boolean.

", "MethodSetting$requireAuthorizationForCacheControl": "

Specifies whether authorization is required for a cache invalidation request. The PATCH path for this setting is /{method_setting_key}/caching/requireAuthorizationForCacheControl, and the value is a Boolean.

", diff --git a/models/apis/appconfigdata/2021-11-11/api-2.json b/models/apis/appconfigdata/2021-11-11/api-2.json new file mode 100644 index 0000000000..f728a39ad5 --- /dev/null +++ b/models/apis/appconfigdata/2021-11-11/api-2.json @@ -0,0 +1,215 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2021-11-11", + "endpointPrefix":"appconfigdata", + "jsonVersion":"1.0", + "protocol":"rest-json", + "serviceFullName":"AWS AppConfig Data", + "serviceId":"AppConfigData", + "signatureVersion":"v4", + "signingName":"appconfig", + "uid":"appconfigdata-2021-11-11" + }, + "operations":{ + "GetLatestConfiguration":{ + "name":"GetLatestConfiguration", + "http":{ + "method":"GET", + "requestUri":"/configuration", + "responseCode":200 + }, + "input":{"shape":"GetLatestConfigurationRequest"}, + "output":{"shape":"GetLatestConfigurationResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalServerException"} + ] + }, + "StartConfigurationSession":{ + "name":"StartConfigurationSession", + "http":{ + "method":"POST", + "requestUri":"/configurationsessions", + "responseCode":201 + }, + "input":{"shape":"StartConfigurationSessionRequest"}, + "output":{"shape":"StartConfigurationSessionResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalServerException"} + ] + } + }, + "shapes":{ + "BadRequestDetails":{ + "type":"structure", + "members":{ + "InvalidParameters":{"shape":"InvalidParameterMap"} + }, + "union":true + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "Details":{"shape":"BadRequestDetails"}, + "Message":{"shape":"String"}, + "Reason":{"shape":"BadRequestReason"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "BadRequestReason":{ + "type":"string", + "enum":["InvalidParameters"] + }, + "GetLatestConfigurationRequest":{ + "type":"structure", + "required":["ConfigurationToken"], + "members":{ + "ConfigurationToken":{ + "shape":"Token", + "location":"querystring", + "locationName":"configuration_token" + } + } + }, + "GetLatestConfigurationResponse":{ + "type":"structure", + "members":{ + "Configuration":{"shape":"SyntheticGetLatestConfigurationResponseBlob"}, + "ContentType":{ + "shape":"String", + "location":"header", + "locationName":"Content-Type" + }, + "NextPollConfigurationToken":{ + "shape":"Token", + "location":"header", + "locationName":"Next-Poll-Configuration-Token" + }, + "NextPollIntervalInSeconds":{ + "shape":"Integer", + "location":"header", + "locationName":"Next-Poll-Interval-In-Seconds" + } + }, + "payload":"Configuration" + }, + "Identifier":{ + "type":"string", + "max":64, + "min":1 + }, + "Integer":{"type":"integer"}, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "InvalidParameterDetail":{ + "type":"structure", + "members":{ + "Problem":{"shape":"InvalidParameterProblem"} + } + }, + "InvalidParameterMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"InvalidParameterDetail"} + }, + "InvalidParameterProblem":{ + "type":"string", + "enum":[ + "Corrupted", + "Expired", + "PollIntervalNotSatisfied" + ] + }, + "OptionalPollSeconds":{ + "type":"integer", + "box":true, + "max":86400, + "min":15 + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "ReferencedBy":{"shape":"StringMap"}, + "ResourceType":{"shape":"ResourceType"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ResourceType":{ + "type":"string", + "enum":[ + "Application", + "ConfigurationProfile", + "Deployment", + "Environment", + "Configuration" + ] + }, + "StartConfigurationSessionRequest":{ + "type":"structure", + "required":[ + "ApplicationIdentifier", + "ConfigurationProfileIdentifier", + "EnvironmentIdentifier" + ], + "members":{ + "ApplicationIdentifier":{"shape":"Identifier"}, + "ConfigurationProfileIdentifier":{"shape":"Identifier"}, + "EnvironmentIdentifier":{"shape":"Identifier"}, + "RequiredMinimumPollIntervalInSeconds":{"shape":"OptionalPollSeconds"} + } + }, + "StartConfigurationSessionResponse":{ + "type":"structure", + "members":{ + "InitialConfigurationToken":{"shape":"Token"} + } + }, + "String":{"type":"string"}, + "StringMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "SyntheticGetLatestConfigurationResponseBlob":{ + "type":"blob", + "sensitive":true + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "Token":{ + "type":"string", + "pattern":"\\S{1,8192}" + } + } +} diff --git a/models/apis/appconfigdata/2021-11-11/docs-2.json b/models/apis/appconfigdata/2021-11-11/docs-2.json new file mode 100644 index 0000000000..210b7270cc --- /dev/null +++ b/models/apis/appconfigdata/2021-11-11/docs-2.json @@ -0,0 +1,139 @@ +{ + "version": "2.0", + "service": "

Use the AppConfigData API, a capability of AWS AppConfig, to retrieve deployed configuration.

", + "operations": { + "GetLatestConfiguration": "

Retrieves the latest deployed configuration. This API may return empty Configuration data if the client already has the latest version. See StartConfigurationSession to obtain an InitialConfigurationToken to call this API.

Each call to GetLatestConfiguration returns a new ConfigurationToken (NextPollConfigurationToken in the response). This new token MUST be provided to the next call to GetLatestConfiguration when polling for configuration updates.

To avoid excess charges, we recommend that you include the ClientConfigurationVersion value with every call to GetConfiguration. This value must be saved on your client. Subsequent calls to GetConfiguration must pass this value by using the ClientConfigurationVersion parameter.

", + "StartConfigurationSession": "

Starts a configuration session used to retrieve a deployed configuration. See the GetLatestConfiguration API for more details.

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

Details describing why the request was invalid

", + "refs": { + "BadRequestException$Details": "

Details describing why the request was invalid

" + } + }, + "BadRequestException": { + "base": "

The input fails to satisfy the constraints specified by the service.

", + "refs": { + } + }, + "BadRequestReason": { + "base": null, + "refs": { + "BadRequestException$Reason": "

Code indicating the reason the request was invalid.

" + } + }, + "GetLatestConfigurationRequest": { + "base": "

Request parameters for the GetLatestConfiguration API

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

Response parameters for the GetLatestConfiguration API

", + "refs": { + } + }, + "Identifier": { + "base": null, + "refs": { + "StartConfigurationSessionRequest$ApplicationIdentifier": "

The application ID or the application name.

", + "StartConfigurationSessionRequest$ConfigurationProfileIdentifier": "

The configuration profile ID or the configuration profile name.

", + "StartConfigurationSessionRequest$EnvironmentIdentifier": "

The environment ID or the environment name.

" + } + }, + "Integer": { + "base": null, + "refs": { + "GetLatestConfigurationResponse$NextPollIntervalInSeconds": "

The amount of time the client should wait before polling for configuration updates again. See RequiredMinimumPollIntervalInSeconds to set the desired poll interval.

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

There was an internal failure in the service.

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

Contains details about an invalid parameter.

", + "refs": { + "InvalidParameterMap$value": null + } + }, + "InvalidParameterMap": { + "base": null, + "refs": { + "BadRequestDetails$InvalidParameters": "

Present if the Reason for the bad request was 'InvalidParameters'

" + } + }, + "InvalidParameterProblem": { + "base": null, + "refs": { + "InvalidParameterDetail$Problem": "

Detail describing why an individual parameter did not satisfy the constraints specified by the service

" + } + }, + "OptionalPollSeconds": { + "base": null, + "refs": { + "StartConfigurationSessionRequest$RequiredMinimumPollIntervalInSeconds": "

The interval at which your client will poll for configuration. If provided, the service will throw a BadRequestException if the client polls before the specified poll interval. By default, client poll intervals are not enforced.

" + } + }, + "ResourceNotFoundException": { + "base": "

The requested resource could not be found.

", + "refs": { + } + }, + "ResourceType": { + "base": null, + "refs": { + "ResourceNotFoundException$ResourceType": "

The type of resource that was not found.

" + } + }, + "StartConfigurationSessionRequest": { + "base": "

Request parameters for the StartConfigurationSession API.

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

Response parameters for the StartConfigurationSession API.

", + "refs": { + } + }, + "String": { + "base": null, + "refs": { + "BadRequestException$Message": null, + "GetLatestConfigurationResponse$ContentType": "

A standard MIME type describing the format of the configuration content.

", + "InternalServerException$Message": null, + "InvalidParameterMap$key": null, + "ResourceNotFoundException$Message": null, + "StringMap$key": null, + "StringMap$value": null, + "ThrottlingException$Message": null + } + }, + "StringMap": { + "base": null, + "refs": { + "ResourceNotFoundException$ReferencedBy": "

A map indicating which parameters in the request reference the resource that was not found.

" + } + }, + "SyntheticGetLatestConfigurationResponseBlob": { + "base": null, + "refs": { + "GetLatestConfigurationResponse$Configuration": "

The data of the configuration. Note that this may be empty if the client already has the latest version of configuration.

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

The request was denied due to request throttling.

", + "refs": { + } + }, + "Token": { + "base": null, + "refs": { + "GetLatestConfigurationRequest$ConfigurationToken": "

Token describing the current state of the configuration session. To obtain a token, first call the StartConfigurationSession API. Note that every call to GetLatestConfiguration will return a new ConfigurationToken (NextPollConfigurationToken in the response) and MUST be provided to subsequent GetLatestConfiguration API calls.

", + "GetLatestConfigurationResponse$NextPollConfigurationToken": "

The latest token describing the current state of the configuration session. This MUST be provided to the next call to GetLatestConfiguration.

", + "StartConfigurationSessionResponse$InitialConfigurationToken": "

Token encapsulating state about the configuration session. Provide this token to the GetLatestConfiguration API to retrieve configuration data.

This token should only be used once in your first call to GetLatestConfiguration. You MUST use the new token in the GetConfiguration response (NextPollConfigurationToken) in each subsequent call to GetLatestConfiguration.

" + } + } + } +} diff --git a/models/apis/appconfigdata/2021-11-11/examples-1.json b/models/apis/appconfigdata/2021-11-11/examples-1.json new file mode 100644 index 0000000000..0ea7e3b0bb --- /dev/null +++ b/models/apis/appconfigdata/2021-11-11/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/appconfigdata/2021-11-11/paginators-1.json b/models/apis/appconfigdata/2021-11-11/paginators-1.json new file mode 100644 index 0000000000..5677bd8e4a --- /dev/null +++ b/models/apis/appconfigdata/2021-11-11/paginators-1.json @@ -0,0 +1,4 @@ +{ + "pagination": { + } +} diff --git a/models/apis/devops-guru/2020-12-01/paginators-1.json b/models/apis/devops-guru/2020-12-01/paginators-1.json index ed5105a047..4e2621d933 100644 --- a/models/apis/devops-guru/2020-12-01/paginators-1.json +++ b/models/apis/devops-guru/2020-12-01/paginators-1.json @@ -13,11 +13,18 @@ "input_token": "NextToken", "output_token": "NextToken", "result_key": [ - "CloudFormation" + "CloudFormation", + "Service" ] }, "GetCostEstimation": { "input_token": "NextToken", + "non_aggregate_keys": [ + "Status", + "TotalCost", + "TimeRange", + "ResourceCollection" + ], "output_token": "NextToken", "result_key": [ "Costs" diff --git a/models/apis/drs/2020-02-26/api-2.json b/models/apis/drs/2020-02-26/api-2.json new file mode 100644 index 0000000000..891124e36b --- /dev/null +++ b/models/apis/drs/2020-02-26/api-2.json @@ -0,0 +1,1992 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2020-02-26", + "endpointPrefix":"drs", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"drs", + "serviceFullName":"Elastic Disaster Recovery Service", + "serviceId":"drs", + "signatureVersion":"v4", + "signingName":"drs", + "uid":"drs-2020-02-26" + }, + "operations":{ + "CreateReplicationConfigurationTemplate":{ + "name":"CreateReplicationConfigurationTemplate", + "http":{ + "method":"POST", + "requestUri":"/CreateReplicationConfigurationTemplate", + "responseCode":201 + }, + "input":{"shape":"CreateReplicationConfigurationTemplateRequest"}, + "output":{"shape":"ReplicationConfigurationTemplate"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "DeleteJob":{ + "name":"DeleteJob", + "http":{ + "method":"POST", + "requestUri":"/DeleteJob", + "responseCode":204 + }, + "input":{"shape":"DeleteJobRequest"}, + "output":{"shape":"DeleteJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"UninitializedAccountException"} + ], + "idempotent":true + }, + "DeleteRecoveryInstance":{ + "name":"DeleteRecoveryInstance", + "http":{ + "method":"POST", + "requestUri":"/DeleteRecoveryInstance", + "responseCode":200 + }, + "input":{"shape":"DeleteRecoveryInstanceRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "DeleteReplicationConfigurationTemplate":{ + "name":"DeleteReplicationConfigurationTemplate", + "http":{ + "method":"POST", + "requestUri":"/DeleteReplicationConfigurationTemplate", + "responseCode":204 + }, + "input":{"shape":"DeleteReplicationConfigurationTemplateRequest"}, + "output":{"shape":"DeleteReplicationConfigurationTemplateResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"UninitializedAccountException"} + ], + "idempotent":true + }, + "DeleteSourceServer":{ + "name":"DeleteSourceServer", + "http":{ + "method":"POST", + "requestUri":"/DeleteSourceServer", + "responseCode":204 + }, + "input":{"shape":"DeleteSourceServerRequest"}, + "output":{"shape":"DeleteSourceServerResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"UninitializedAccountException"} + ], + "idempotent":true + }, + "DescribeJobLogItems":{ + "name":"DescribeJobLogItems", + "http":{ + "method":"POST", + "requestUri":"/DescribeJobLogItems", + "responseCode":200 + }, + "input":{"shape":"DescribeJobLogItemsRequest"}, + "output":{"shape":"DescribeJobLogItemsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "DescribeJobs":{ + "name":"DescribeJobs", + "http":{ + "method":"POST", + "requestUri":"/DescribeJobs", + "responseCode":200 + }, + "input":{"shape":"DescribeJobsRequest"}, + "output":{"shape":"DescribeJobsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "DescribeRecoveryInstances":{ + "name":"DescribeRecoveryInstances", + "http":{ + "method":"POST", + "requestUri":"/DescribeRecoveryInstances", + "responseCode":200 + }, + "input":{"shape":"DescribeRecoveryInstancesRequest"}, + "output":{"shape":"DescribeRecoveryInstancesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "DescribeRecoverySnapshots":{ + "name":"DescribeRecoverySnapshots", + "http":{ + "method":"POST", + "requestUri":"/DescribeRecoverySnapshots", + "responseCode":200 + }, + "input":{"shape":"DescribeRecoverySnapshotsRequest"}, + "output":{"shape":"DescribeRecoverySnapshotsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "DescribeReplicationConfigurationTemplates":{ + "name":"DescribeReplicationConfigurationTemplates", + "http":{ + "method":"POST", + "requestUri":"/DescribeReplicationConfigurationTemplates", + "responseCode":200 + }, + "input":{"shape":"DescribeReplicationConfigurationTemplatesRequest"}, + "output":{"shape":"DescribeReplicationConfigurationTemplatesResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "DescribeSourceServers":{ + "name":"DescribeSourceServers", + "http":{ + "method":"POST", + "requestUri":"/DescribeSourceServers", + "responseCode":200 + }, + "input":{"shape":"DescribeSourceServersRequest"}, + "output":{"shape":"DescribeSourceServersResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "DisconnectRecoveryInstance":{ + "name":"DisconnectRecoveryInstance", + "http":{ + "method":"POST", + "requestUri":"/DisconnectRecoveryInstance", + "responseCode":200 + }, + "input":{"shape":"DisconnectRecoveryInstanceRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "DisconnectSourceServer":{ + "name":"DisconnectSourceServer", + "http":{ + "method":"POST", + "requestUri":"/DisconnectSourceServer", + "responseCode":200 + }, + "input":{"shape":"DisconnectSourceServerRequest"}, + "output":{"shape":"SourceServer"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "GetFailbackReplicationConfiguration":{ + "name":"GetFailbackReplicationConfiguration", + "http":{ + "method":"POST", + "requestUri":"/GetFailbackReplicationConfiguration", + "responseCode":200 + }, + "input":{"shape":"GetFailbackReplicationConfigurationRequest"}, + "output":{"shape":"GetFailbackReplicationConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "GetLaunchConfiguration":{ + "name":"GetLaunchConfiguration", + "http":{ + "method":"POST", + "requestUri":"/GetLaunchConfiguration", + "responseCode":200 + }, + "input":{"shape":"GetLaunchConfigurationRequest"}, + "output":{"shape":"LaunchConfiguration"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "GetReplicationConfiguration":{ + "name":"GetReplicationConfiguration", + "http":{ + "method":"POST", + "requestUri":"/GetReplicationConfiguration", + "responseCode":200 + }, + "input":{"shape":"GetReplicationConfigurationRequest"}, + "output":{"shape":"ReplicationConfiguration"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "InitializeService":{ + "name":"InitializeService", + "http":{ + "method":"POST", + "requestUri":"/InitializeService", + "responseCode":204 + }, + "input":{"shape":"InitializeServiceRequest"}, + "output":{"shape":"InitializeServiceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} + ] + }, + "RetryDataReplication":{ + "name":"RetryDataReplication", + "http":{ + "method":"POST", + "requestUri":"/RetryDataReplication", + "responseCode":200 + }, + "input":{"shape":"RetryDataReplicationRequest"}, + "output":{"shape":"SourceServer"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "StartFailbackLaunch":{ + "name":"StartFailbackLaunch", + "http":{ + "method":"POST", + "requestUri":"/StartFailbackLaunch", + "responseCode":200 + }, + "input":{"shape":"StartFailbackLaunchRequest"}, + "output":{"shape":"StartFailbackLaunchResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "StartRecovery":{ + "name":"StartRecovery", + "http":{ + "method":"POST", + "requestUri":"/StartRecovery", + "responseCode":202 + }, + "input":{"shape":"StartRecoveryRequest"}, + "output":{"shape":"StartRecoveryResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "StopFailback":{ + "name":"StopFailback", + "http":{ + "method":"POST", + "requestUri":"/StopFailback", + "responseCode":200 + }, + "input":{"shape":"StopFailbackRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} + ], + "idempotent":true + }, + "TerminateRecoveryInstances":{ + "name":"TerminateRecoveryInstances", + "http":{ + "method":"POST", + "requestUri":"/TerminateRecoveryInstances", + "responseCode":200 + }, + "input":{"shape":"TerminateRecoveryInstancesRequest"}, + "output":{"shape":"TerminateRecoveryInstancesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} + ], + "idempotent":true + }, + "UpdateFailbackReplicationConfiguration":{ + "name":"UpdateFailbackReplicationConfiguration", + "http":{ + "method":"POST", + "requestUri":"/UpdateFailbackReplicationConfiguration", + "responseCode":200 + }, + "input":{"shape":"UpdateFailbackReplicationConfigurationRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"UninitializedAccountException"} + ] + }, + "UpdateLaunchConfiguration":{ + "name":"UpdateLaunchConfiguration", + "http":{ + "method":"POST", + "requestUri":"/UpdateLaunchConfiguration", + "responseCode":200 + }, + "input":{"shape":"UpdateLaunchConfigurationRequest"}, + "output":{"shape":"LaunchConfiguration"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UninitializedAccountException"} + ], + "idempotent":true + }, + "UpdateReplicationConfiguration":{ + "name":"UpdateReplicationConfiguration", + "http":{ + "method":"POST", + "requestUri":"/UpdateReplicationConfiguration", + "responseCode":200 + }, + "input":{"shape":"UpdateReplicationConfigurationRequest"}, + "output":{"shape":"ReplicationConfiguration"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"UninitializedAccountException"} + ], + "idempotent":true + }, + "UpdateReplicationConfigurationTemplate":{ + "name":"UpdateReplicationConfigurationTemplate", + "http":{ + "method":"POST", + "requestUri":"/UpdateReplicationConfigurationTemplate", + "responseCode":200 + }, + "input":{"shape":"UpdateReplicationConfigurationTemplateRequest"}, + "output":{"shape":"ReplicationConfigurationTemplate"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"UninitializedAccountException"} + ] + } + }, + "shapes":{ + "ARN":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:.{16,2044}$" + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "code":{"shape":"LargeBoundedString"}, + "message":{"shape":"LargeBoundedString"} + }, + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "BoundedString":{ + "type":"string", + "max":256, + "min":0 + }, + "CPU":{ + "type":"structure", + "members":{ + "cores":{"shape":"PositiveInteger"}, + "modelName":{"shape":"BoundedString"} + } + }, + "ConflictException":{ + "type":"structure", + "members":{ + "code":{"shape":"LargeBoundedString"}, + "message":{"shape":"LargeBoundedString"}, + "resourceId":{"shape":"LargeBoundedString"}, + "resourceType":{"shape":"LargeBoundedString"} + }, + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "Cpus":{ + "type":"list", + "member":{"shape":"CPU"}, + "max":256, + "min":0 + }, + "CreateReplicationConfigurationTemplateRequest":{ + "type":"structure", + "required":[ + "associateDefaultSecurityGroup", + "bandwidthThrottling", + "createPublicIP", + "dataPlaneRouting", + "defaultLargeStagingDiskType", + "ebsEncryption", + "pitPolicy", + "replicationServerInstanceType", + "replicationServersSecurityGroupsIDs", + "stagingAreaSubnetId", + "stagingAreaTags", + "useDedicatedReplicationServer" + ], + "members":{ + "associateDefaultSecurityGroup":{"shape":"Boolean"}, + "bandwidthThrottling":{"shape":"PositiveInteger"}, + "createPublicIP":{"shape":"Boolean"}, + "dataPlaneRouting":{"shape":"ReplicationConfigurationDataPlaneRouting"}, + "defaultLargeStagingDiskType":{"shape":"ReplicationConfigurationDefaultLargeStagingDiskType"}, + "ebsEncryption":{"shape":"ReplicationConfigurationEbsEncryption"}, + "ebsEncryptionKeyArn":{"shape":"ARN"}, + "pitPolicy":{"shape":"PITPolicy"}, + "replicationServerInstanceType":{"shape":"EC2InstanceType"}, + "replicationServersSecurityGroupsIDs":{"shape":"ReplicationServersSecurityGroupsIDs"}, + "stagingAreaSubnetId":{"shape":"SubnetID"}, + "stagingAreaTags":{"shape":"TagsMap"}, + "tags":{"shape":"TagsMap"}, + "useDedicatedReplicationServer":{"shape":"Boolean"} + } + }, + "DataReplicationError":{ + "type":"structure", + "members":{ + "error":{"shape":"DataReplicationErrorString"}, + "rawError":{"shape":"LargeBoundedString"} + } + }, + "DataReplicationErrorString":{ + "type":"string", + "enum":[ + "AGENT_NOT_SEEN", + "SNAPSHOTS_FAILURE", + "NOT_CONVERGING", + "UNSTABLE_NETWORK", + "FAILED_TO_CREATE_SECURITY_GROUP", + "FAILED_TO_LAUNCH_REPLICATION_SERVER", + "FAILED_TO_BOOT_REPLICATION_SERVER", + "FAILED_TO_AUTHENTICATE_WITH_SERVICE", + "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE", + "FAILED_TO_CREATE_STAGING_DISKS", + "FAILED_TO_ATTACH_STAGING_DISKS", + "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT", + "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER", + "FAILED_TO_START_DATA_TRANSFER" + ] + }, + "DataReplicationInfo":{ + "type":"structure", + "members":{ + "dataReplicationError":{"shape":"DataReplicationError"}, + "dataReplicationInitiation":{"shape":"DataReplicationInitiation"}, + "dataReplicationState":{"shape":"DataReplicationState"}, + "etaDateTime":{"shape":"ISO8601DatetimeString"}, + "lagDuration":{"shape":"ISO8601DatetimeString"}, + "replicatedDisks":{"shape":"DataReplicationInfoReplicatedDisks"} + } + }, + "DataReplicationInfoReplicatedDisk":{ + "type":"structure", + "members":{ + "backloggedStorageBytes":{"shape":"PositiveInteger"}, + "deviceName":{"shape":"BoundedString"}, + "replicatedStorageBytes":{"shape":"PositiveInteger"}, + "rescannedStorageBytes":{"shape":"PositiveInteger"}, + "totalStorageBytes":{"shape":"PositiveInteger"} + } + }, + "DataReplicationInfoReplicatedDisks":{ + "type":"list", + "member":{"shape":"DataReplicationInfoReplicatedDisk"}, + "max":60, + "min":0 + }, + "DataReplicationInitiation":{ + "type":"structure", + "members":{ + "nextAttemptDateTime":{"shape":"ISO8601DatetimeString"}, + "startDateTime":{"shape":"ISO8601DatetimeString"}, + "steps":{"shape":"DataReplicationInitiationSteps"} + } + }, + "DataReplicationInitiationStep":{ + "type":"structure", + "members":{ + "name":{"shape":"DataReplicationInitiationStepName"}, + "status":{"shape":"DataReplicationInitiationStepStatus"} + } + }, + "DataReplicationInitiationStepName":{ + "type":"string", + "enum":[ + "WAIT", + "CREATE_SECURITY_GROUP", + "LAUNCH_REPLICATION_SERVER", + "BOOT_REPLICATION_SERVER", + "AUTHENTICATE_WITH_SERVICE", + "DOWNLOAD_REPLICATION_SOFTWARE", + "CREATE_STAGING_DISKS", + "ATTACH_STAGING_DISKS", + "PAIR_REPLICATION_SERVER_WITH_AGENT", + "CONNECT_AGENT_TO_REPLICATION_SERVER", + "START_DATA_TRANSFER" + ] + }, + "DataReplicationInitiationStepStatus":{ + "type":"string", + "enum":[ + "NOT_STARTED", + "IN_PROGRESS", + "SUCCEEDED", + "FAILED", + "SKIPPED" + ] + }, + "DataReplicationInitiationSteps":{ + "type":"list", + "member":{"shape":"DataReplicationInitiationStep"} + }, + "DataReplicationState":{ + "type":"string", + "enum":[ + "STOPPED", + "INITIATING", + "INITIAL_SYNC", + "BACKLOG", + "CREATING_SNAPSHOT", + "CONTINUOUS", + "PAUSED", + "RESCAN", + "STALLED", + "DISCONNECTED" + ] + }, + "DeleteJobRequest":{ + "type":"structure", + "required":["jobID"], + "members":{ + "jobID":{"shape":"JobID"} + } + }, + "DeleteJobResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteRecoveryInstanceRequest":{ + "type":"structure", + "required":["recoveryInstanceID"], + "members":{ + "recoveryInstanceID":{"shape":"RecoveryInstanceID"} + } + }, + "DeleteReplicationConfigurationTemplateRequest":{ + "type":"structure", + "required":["replicationConfigurationTemplateID"], + "members":{ + "replicationConfigurationTemplateID":{"shape":"ReplicationConfigurationTemplateID"} + } + }, + "DeleteReplicationConfigurationTemplateResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteSourceServerRequest":{ + "type":"structure", + "required":["sourceServerID"], + "members":{ + "sourceServerID":{"shape":"SourceServerID"} + } + }, + "DeleteSourceServerResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeJobLogItemsRequest":{ + "type":"structure", + "required":["jobID"], + "members":{ + "jobID":{"shape":"JobID"}, + "maxResults":{"shape":"StrictlyPositiveInteger"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "DescribeJobLogItemsResponse":{ + "type":"structure", + "members":{ + "items":{"shape":"JobLogs"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "DescribeJobsRequest":{ + "type":"structure", + "required":["filters"], + "members":{ + "filters":{"shape":"DescribeJobsRequestFilters"}, + "maxResults":{"shape":"StrictlyPositiveInteger"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "DescribeJobsRequestFilters":{ + "type":"structure", + "members":{ + "fromDate":{"shape":"ISO8601DatetimeString"}, + "jobIDs":{"shape":"DescribeJobsRequestFiltersJobIDs"}, + "toDate":{"shape":"ISO8601DatetimeString"} + } + }, + "DescribeJobsRequestFiltersJobIDs":{ + "type":"list", + "member":{"shape":"JobID"}, + "max":1000, + "min":0 + }, + "DescribeJobsResponse":{ + "type":"structure", + "members":{ + "items":{"shape":"JobsList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "DescribeRecoveryInstancesItems":{ + "type":"list", + "member":{"shape":"RecoveryInstance"} + }, + "DescribeRecoveryInstancesRequest":{ + "type":"structure", + "required":["filters"], + "members":{ + "filters":{"shape":"DescribeRecoveryInstancesRequestFilters"}, + "maxResults":{"shape":"StrictlyPositiveInteger"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "DescribeRecoveryInstancesRequestFilters":{ + "type":"structure", + "members":{ + "recoveryInstanceIDs":{"shape":"RecoveryInstanceIDs"}, + "sourceServerIDs":{"shape":"SourceServerIDs"} + } + }, + "DescribeRecoveryInstancesResponse":{ + "type":"structure", + "members":{ + "items":{"shape":"DescribeRecoveryInstancesItems"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "DescribeRecoverySnapshotsRequest":{ + "type":"structure", + "required":["sourceServerID"], + "members":{ + "filters":{"shape":"DescribeRecoverySnapshotsRequestFilters"}, + "maxResults":{"shape":"StrictlyPositiveInteger"}, + "nextToken":{"shape":"PaginationToken"}, + "order":{"shape":"RecoverySnapshotsOrder"}, + "sourceServerID":{"shape":"SourceServerID"} + } + }, + "DescribeRecoverySnapshotsRequestFilters":{ + "type":"structure", + "members":{ + "fromDateTime":{"shape":"ISO8601DatetimeString"}, + "toDateTime":{"shape":"ISO8601DatetimeString"} + } + }, + "DescribeRecoverySnapshotsResponse":{ + "type":"structure", + "members":{ + "items":{"shape":"RecoverySnapshotsList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "DescribeReplicationConfigurationTemplatesRequest":{ + "type":"structure", + "required":["replicationConfigurationTemplateIDs"], + "members":{ + "maxResults":{"shape":"StrictlyPositiveInteger"}, + "nextToken":{"shape":"PaginationToken"}, + "replicationConfigurationTemplateIDs":{"shape":"ReplicationConfigurationTemplateIDs"} + } + }, + "DescribeReplicationConfigurationTemplatesResponse":{ + "type":"structure", + "members":{ + "items":{"shape":"ReplicationConfigurationTemplates"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "DescribeSourceServersRequest":{ + "type":"structure", + "required":["filters"], + "members":{ + "filters":{"shape":"DescribeSourceServersRequestFilters"}, + "maxResults":{"shape":"StrictlyPositiveInteger"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "DescribeSourceServersRequestFilters":{ + "type":"structure", + "members":{ + "hardwareId":{"shape":"BoundedString"}, + "sourceServerIDs":{"shape":"DescribeSourceServersRequestFiltersIDs"} + } + }, + "DescribeSourceServersRequestFiltersIDs":{ + "type":"list", + "member":{"shape":"SourceServerID"}, + "max":200, + "min":0 + }, + "DescribeSourceServersResponse":{ + "type":"structure", + "members":{ + "items":{"shape":"SourceServersList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "DisconnectRecoveryInstanceRequest":{ + "type":"structure", + "required":["recoveryInstanceID"], + "members":{ + "recoveryInstanceID":{"shape":"RecoveryInstanceID"} + } + }, + "DisconnectSourceServerRequest":{ + "type":"structure", + "required":["sourceServerID"], + "members":{ + "sourceServerID":{"shape":"SourceServerID"} + } + }, + "Disk":{ + "type":"structure", + "members":{ + "bytes":{"shape":"PositiveInteger"}, + "deviceName":{"shape":"BoundedString"} + } + }, + "Disks":{ + "type":"list", + "member":{"shape":"Disk"}, + "max":1000, + "min":0 + }, + "EC2InstanceID":{ + "type":"string", + "max":255, + "min":0, + "pattern":"^i-[0-9a-fA-F]{8,}$" + }, + "EC2InstanceState":{ + "type":"string", + "enum":[ + "PENDING", + "RUNNING", + "STOPPING", + "STOPPED", + "SHUTTING-DOWN", + "TERMINATED", + "NOT_FOUND" + ] + }, + "EC2InstanceType":{ + "type":"string", + "max":255, + "min":0 + }, + "EbsSnapshotsList":{ + "type":"list", + "member":{"shape":"ebsSnapshot"} + }, + "EbsVolumeID":{ + "type":"string", + "max":19, + "min":10, + "pattern":"^vol-([0-9a-fA-F]{8}|[0-9a-fA-F]{17})$" + }, + "FailbackReplicationError":{ + "type":"string", + "enum":[ + "AGENT_NOT_SEEN", + "FAILBACK_CLIENT_NOT_SEEN", + "NOT_CONVERGING", + "UNSTABLE_NETWORK", + "FAILED_TO_ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION", + "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT", + "FAILED_TO_CONFIGURE_REPLICATION_SOFTWARE", + "FAILED_TO_PAIR_AGENT_WITH_REPLICATION_SOFTWARE", + "FAILED_TO_ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION" + ] + }, + "FailbackState":{ + "type":"string", + "enum":[ + "FAILBACK_NOT_STARTED", + "FAILBACK_IN_PROGRESS", + "FAILBACK_READY_FOR_LAUNCH", + "FAILBACK_COMPLETED", + "FAILBACK_ERROR" + ] + }, + "GetFailbackReplicationConfigurationRequest":{ + "type":"structure", + "required":["recoveryInstanceID"], + "members":{ + "recoveryInstanceID":{"shape":"RecoveryInstanceID"} + } + }, + "GetFailbackReplicationConfigurationResponse":{ + "type":"structure", + "required":["recoveryInstanceID"], + "members":{ + "bandwidthThrottling":{"shape":"PositiveInteger"}, + "name":{"shape":"BoundedString"}, + "recoveryInstanceID":{"shape":"RecoveryInstanceID"}, + "usePrivateIP":{"shape":"Boolean"} + } + }, + "GetLaunchConfigurationRequest":{ + "type":"structure", + "required":["sourceServerID"], + "members":{ + "sourceServerID":{"shape":"SourceServerID"} + } + }, + "GetReplicationConfigurationRequest":{ + "type":"structure", + "required":["sourceServerID"], + "members":{ + "sourceServerID":{"shape":"SourceServerID"} + } + }, + "IPsList":{ + "type":"list", + "member":{"shape":"BoundedString"} + }, + "ISO8601DatetimeString":{ + "type":"string", + "max":32, + "min":19, + "pattern":"^[1-9][0-9]*-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?Z$" + }, + "IdentificationHints":{ + "type":"structure", + "members":{ + "awsInstanceID":{"shape":"EC2InstanceID"}, + "fqdn":{"shape":"BoundedString"}, + "hostname":{"shape":"BoundedString"}, + "vmWareUuid":{"shape":"BoundedString"} + } + }, + "InitializeServiceRequest":{ + "type":"structure", + "members":{ + } + }, + "InitializeServiceResponse":{ + "type":"structure", + "members":{ + } + }, + "InitiatedBy":{ + "type":"string", + "enum":[ + "START_RECOVERY", + "START_DRILL", + "FAILBACK", + "DIAGNOSTIC", + "TERMINATE_RECOVERY_INSTANCES" + ] + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"LargeBoundedString"}, + "retryAfterSeconds":{ + "shape":"PositiveInteger", + "location":"header", + "locationName":"Retry-After" + } + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "Job":{ + "type":"structure", + "required":["jobID"], + "members":{ + "arn":{"shape":"ARN"}, + "creationDateTime":{"shape":"ISO8601DatetimeString"}, + "endDateTime":{"shape":"ISO8601DatetimeString"}, + "initiatedBy":{"shape":"InitiatedBy"}, + "jobID":{"shape":"JobID"}, + "participatingServers":{"shape":"ParticipatingServers"}, + "status":{"shape":"JobStatus"}, + "tags":{"shape":"TagsMap"}, + "type":{"shape":"JobType"} + } + }, + "JobID":{ + "type":"string", + "max":24, + "min":24, + "pattern":"^drsjob-[0-9a-zA-Z]{17}$" + }, + "JobLog":{ + "type":"structure", + "members":{ + "event":{"shape":"JobLogEvent"}, + "eventData":{"shape":"JobLogEventData"}, + "logDateTime":{"shape":"ISO8601DatetimeString"} + } + }, + "JobLogEvent":{ + "type":"string", + "enum":[ + "JOB_START", + "SERVER_SKIPPED", + "CLEANUP_START", + "CLEANUP_END", + "CLEANUP_FAIL", + "SNAPSHOT_START", + "SNAPSHOT_END", + "SNAPSHOT_FAIL", + "USING_PREVIOUS_SNAPSHOT", + "USING_PREVIOUS_SNAPSHOT_FAILED", + "CONVERSION_START", + "CONVERSION_END", + "CONVERSION_FAIL", + "LAUNCH_START", + "LAUNCH_FAILED", + "JOB_CANCEL", + "JOB_END" + ] + }, + "JobLogEventData":{ + "type":"structure", + "members":{ + "conversionServerID":{"shape":"EC2InstanceID"}, + "rawError":{"shape":"LargeBoundedString"}, + "sourceServerID":{"shape":"SourceServerID"}, + "targetInstanceID":{"shape":"EC2InstanceID"} + } + }, + "JobLogs":{ + "type":"list", + "member":{"shape":"JobLog"} + }, + "JobStatus":{ + "type":"string", + "enum":[ + "PENDING", + "STARTED", + "COMPLETED" + ] + }, + "JobType":{ + "type":"string", + "enum":[ + "LAUNCH", + "TERMINATE" + ] + }, + "JobsList":{ + "type":"list", + "member":{"shape":"Job"} + }, + "LargeBoundedString":{ + "type":"string", + "max":65536, + "min":0 + }, + "LastLaunchResult":{ + "type":"string", + "enum":[ + "NOT_STARTED", + "PENDING", + "SUCCEEDED", + "FAILED" + ] + }, + "LastLaunchType":{ + "type":"string", + "enum":[ + "RECOVERY", + "DRILL" + ] + }, + "LaunchConfiguration":{ + "type":"structure", + "members":{ + "copyPrivateIp":{"shape":"Boolean"}, + "copyTags":{"shape":"Boolean"}, + "ec2LaunchTemplateID":{"shape":"BoundedString"}, + "launchDisposition":{"shape":"LaunchDisposition"}, + "licensing":{"shape":"Licensing"}, + "name":{"shape":"SmallBoundedString"}, + "sourceServerID":{"shape":"SourceServerID"}, + "targetInstanceTypeRightSizingMethod":{"shape":"TargetInstanceTypeRightSizingMethod"} + } + }, + "LaunchDisposition":{ + "type":"string", + "enum":[ + "STOPPED", + "STARTED" + ] + }, + "LaunchStatus":{ + "type":"string", + "enum":[ + "PENDING", + "IN_PROGRESS", + "LAUNCHED", + "FAILED", + "TERMINATED" + ] + }, + "Licensing":{ + "type":"structure", + "members":{ + "osByol":{"shape":"Boolean"} + } + }, + "LifeCycle":{ + "type":"structure", + "members":{ + "addedToServiceDateTime":{"shape":"ISO8601DatetimeString"}, + "elapsedReplicationDuration":{"shape":"ISO8601DatetimeString"}, + "firstByteDateTime":{"shape":"ISO8601DatetimeString"}, + "lastLaunch":{"shape":"LifeCycleLastLaunch"}, + "lastSeenByServiceDateTime":{"shape":"ISO8601DatetimeString"} + } + }, + "LifeCycleLastLaunch":{ + "type":"structure", + "members":{ + "initiated":{"shape":"LifeCycleLastLaunchInitiated"} + } + }, + "LifeCycleLastLaunchInitiated":{ + "type":"structure", + "members":{ + "apiCallDateTime":{"shape":"ISO8601DatetimeString"}, + "jobID":{"shape":"JobID"}, + "type":{"shape":"LastLaunchType"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{"shape":"TagsMap"} + } + }, + "NetworkInterface":{ + "type":"structure", + "members":{ + "ips":{"shape":"IPsList"}, + "isPrimary":{"shape":"Boolean"}, + "macAddress":{"shape":"BoundedString"} + } + }, + "NetworkInterfaces":{ + "type":"list", + "member":{"shape":"NetworkInterface"}, + "max":32, + "min":0 + }, + "OS":{ + "type":"structure", + "members":{ + "fullString":{"shape":"BoundedString"} + } + }, + "PITPolicy":{ + "type":"list", + "member":{"shape":"PITPolicyRule"}, + "max":10, + "min":1 + }, + "PITPolicyRule":{ + "type":"structure", + "required":[ + "interval", + "retentionDuration", + "units" + ], + "members":{ + "enabled":{"shape":"Boolean"}, + "interval":{"shape":"StrictlyPositiveInteger"}, + "retentionDuration":{"shape":"StrictlyPositiveInteger"}, + "ruleID":{"shape":"PositiveInteger"}, + "units":{"shape":"PITPolicyRuleUnits"} + } + }, + "PITPolicyRuleUnits":{ + "type":"string", + "enum":[ + "MINUTE", + "HOUR", + "DAY" + ] + }, + "PaginationToken":{ + "type":"string", + "max":2048, + "min":0 + }, + "ParticipatingServer":{ + "type":"structure", + "members":{ + "launchStatus":{"shape":"LaunchStatus"}, + "recoveryInstanceID":{"shape":"RecoveryInstanceID"}, + "sourceServerID":{"shape":"SourceServerID"} + } + }, + "ParticipatingServers":{ + "type":"list", + "member":{"shape":"ParticipatingServer"} + }, + "PositiveInteger":{ + "type":"long", + "min":0 + }, + "RecoveryInstance":{ + "type":"structure", + "members":{ + "arn":{"shape":"ARN"}, + "dataReplicationInfo":{"shape":"RecoveryInstanceDataReplicationInfo"}, + "ec2InstanceID":{"shape":"EC2InstanceID"}, + "ec2InstanceState":{"shape":"EC2InstanceState"}, + "failback":{"shape":"RecoveryInstanceFailback"}, + "isDrill":{"shape":"Boolean"}, + "jobID":{"shape":"JobID"}, + "pointInTimeSnapshotDateTime":{"shape":"ISO8601DatetimeString"}, + "recoveryInstanceID":{"shape":"RecoveryInstanceID"}, + "recoveryInstanceProperties":{"shape":"RecoveryInstanceProperties"}, + "sourceServerID":{"shape":"SourceServerID"}, + "tags":{"shape":"TagsMap"} + } + }, + "RecoveryInstanceDataReplicationError":{ + "type":"structure", + "members":{ + "error":{"shape":"FailbackReplicationError"}, + "rawError":{"shape":"LargeBoundedString"} + } + }, + "RecoveryInstanceDataReplicationInfo":{ + "type":"structure", + "members":{ + "dataReplicationError":{"shape":"RecoveryInstanceDataReplicationError"}, + "dataReplicationInitiation":{"shape":"RecoveryInstanceDataReplicationInitiation"}, + "dataReplicationState":{"shape":"RecoveryInstanceDataReplicationState"}, + "etaDateTime":{"shape":"ISO8601DatetimeString"}, + "lagDuration":{"shape":"ISO8601DatetimeString"}, + "replicatedDisks":{"shape":"RecoveryInstanceDataReplicationInfoReplicatedDisks"} + } + }, + "RecoveryInstanceDataReplicationInfoReplicatedDisk":{ + "type":"structure", + "members":{ + "backloggedStorageBytes":{"shape":"PositiveInteger"}, + "deviceName":{"shape":"BoundedString"}, + "replicatedStorageBytes":{"shape":"PositiveInteger"}, + "rescannedStorageBytes":{"shape":"PositiveInteger"}, + "totalStorageBytes":{"shape":"PositiveInteger"} + } + }, + "RecoveryInstanceDataReplicationInfoReplicatedDisks":{ + "type":"list", + "member":{"shape":"RecoveryInstanceDataReplicationInfoReplicatedDisk"}, + "max":60, + "min":0 + }, + "RecoveryInstanceDataReplicationInitiation":{ + "type":"structure", + "members":{ + "startDateTime":{"shape":"ISO8601DatetimeString"}, + "steps":{"shape":"RecoveryInstanceDataReplicationInitiationSteps"} + } + }, + "RecoveryInstanceDataReplicationInitiationStep":{ + "type":"structure", + "members":{ + "name":{"shape":"RecoveryInstanceDataReplicationInitiationStepName"}, + "status":{"shape":"RecoveryInstanceDataReplicationInitiationStepStatus"} + } + }, + "RecoveryInstanceDataReplicationInitiationStepName":{ + "type":"string", + "enum":[ + "LINK_FAILBACK_CLIENT_WITH_RECOVERY_INSTANCE", + "COMPLETE_VOLUME_MAPPING", + "ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION", + "DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT", + "CONFIGURE_REPLICATION_SOFTWARE", + "PAIR_AGENT_WITH_REPLICATION_SOFTWARE", + "ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION" + ] + }, + "RecoveryInstanceDataReplicationInitiationStepStatus":{ + "type":"string", + "enum":[ + "NOT_STARTED", + "IN_PROGRESS", + "SUCCEEDED", + "FAILED", + "SKIPPED" + ] + }, + "RecoveryInstanceDataReplicationInitiationSteps":{ + "type":"list", + "member":{"shape":"RecoveryInstanceDataReplicationInitiationStep"} + }, + "RecoveryInstanceDataReplicationState":{ + "type":"string", + "enum":[ + "STOPPED", + "INITIATING", + "INITIAL_SYNC", + "BACKLOG", + "CREATING_SNAPSHOT", + "CONTINUOUS", + "PAUSED", + "RESCAN", + "STALLED", + "DISCONNECTED" + ] + }, + "RecoveryInstanceDisk":{ + "type":"structure", + "members":{ + "bytes":{"shape":"PositiveInteger"}, + "ebsVolumeID":{"shape":"EbsVolumeID"}, + "internalDeviceName":{"shape":"BoundedString"} + } + }, + "RecoveryInstanceDisks":{ + "type":"list", + "member":{"shape":"RecoveryInstanceDisk"}, + "max":1000, + "min":0 + }, + "RecoveryInstanceFailback":{ + "type":"structure", + "members":{ + "agentLastSeenByServiceDateTime":{"shape":"ISO8601DatetimeString"}, + "elapsedReplicationDuration":{"shape":"ISO8601DatetimeString"}, + "failbackClientID":{"shape":"BoundedString"}, + "failbackClientLastSeenByServiceDateTime":{"shape":"ISO8601DatetimeString"}, + "failbackInitiationTime":{"shape":"ISO8601DatetimeString"}, + "failbackJobID":{"shape":"JobID"}, + "failbackToOriginalServer":{"shape":"Boolean"}, + "firstByteDateTime":{"shape":"ISO8601DatetimeString"}, + "state":{"shape":"FailbackState"} + } + }, + "RecoveryInstanceID":{ + "type":"string", + "max":19, + "min":10, + "pattern":"^i-[0-9a-fA-F]{8,}$" + }, + "RecoveryInstanceIDs":{ + "type":"list", + "member":{"shape":"RecoveryInstanceID"}, + "max":200, + "min":0 + }, + "RecoveryInstanceProperties":{ + "type":"structure", + "members":{ + "cpus":{"shape":"Cpus"}, + "disks":{"shape":"RecoveryInstanceDisks"}, + "identificationHints":{"shape":"IdentificationHints"}, + "lastUpdatedDateTime":{"shape":"ISO8601DatetimeString"}, + "networkInterfaces":{"shape":"NetworkInterfaces"}, + "os":{"shape":"OS"}, + "ramBytes":{"shape":"PositiveInteger"} + } + }, + "RecoveryInstancesForTerminationRequest":{ + "type":"list", + "member":{"shape":"RecoveryInstanceID"}, + "max":200, + "min":1 + }, + "RecoverySnapshot":{ + "type":"structure", + "required":[ + "expectedTimestamp", + "snapshotID", + "sourceServerID" + ], + "members":{ + "ebsSnapshots":{"shape":"EbsSnapshotsList"}, + "expectedTimestamp":{"shape":"ISO8601DatetimeString"}, + "snapshotID":{"shape":"RecoverySnapshotID"}, + "sourceServerID":{"shape":"SourceServerID"}, + "timestamp":{"shape":"ISO8601DatetimeString"} + } + }, + "RecoverySnapshotID":{ + "type":"string", + "max":21, + "min":21, + "pattern":"^pit-[0-9a-zA-Z]{17}$" + }, + "RecoverySnapshotsList":{ + "type":"list", + "member":{"shape":"RecoverySnapshot"} + }, + "RecoverySnapshotsOrder":{ + "type":"string", + "enum":[ + "ASC", + "DESC" + ] + }, + "ReplicationConfiguration":{ + "type":"structure", + "members":{ + "associateDefaultSecurityGroup":{"shape":"Boolean"}, + "bandwidthThrottling":{"shape":"PositiveInteger"}, + "createPublicIP":{"shape":"Boolean"}, + "dataPlaneRouting":{"shape":"ReplicationConfigurationDataPlaneRouting"}, + "defaultLargeStagingDiskType":{"shape":"ReplicationConfigurationDefaultLargeStagingDiskType"}, + "ebsEncryption":{"shape":"ReplicationConfigurationEbsEncryption"}, + "ebsEncryptionKeyArn":{"shape":"ARN"}, + "name":{"shape":"SmallBoundedString"}, + "pitPolicy":{"shape":"PITPolicy"}, + "replicatedDisks":{"shape":"ReplicationConfigurationReplicatedDisks"}, + "replicationServerInstanceType":{"shape":"EC2InstanceType"}, + "replicationServersSecurityGroupsIDs":{"shape":"ReplicationServersSecurityGroupsIDs"}, + "sourceServerID":{"shape":"SourceServerID"}, + "stagingAreaSubnetId":{"shape":"SubnetID"}, + "stagingAreaTags":{"shape":"TagsMap"}, + "useDedicatedReplicationServer":{"shape":"Boolean"} + } + }, + "ReplicationConfigurationDataPlaneRouting":{ + "type":"string", + "enum":[ + "PRIVATE_IP", + "PUBLIC_IP" + ] + }, + "ReplicationConfigurationDefaultLargeStagingDiskType":{ + "type":"string", + "enum":[ + "GP2", + "GP3", + "ST1" + ] + }, + "ReplicationConfigurationEbsEncryption":{ + "type":"string", + "enum":[ + "DEFAULT", + "CUSTOM" + ] + }, + "ReplicationConfigurationReplicatedDisk":{ + "type":"structure", + "members":{ + "deviceName":{"shape":"BoundedString"}, + "iops":{"shape":"PositiveInteger"}, + "isBootDisk":{"shape":"Boolean"}, + "stagingDiskType":{"shape":"ReplicationConfigurationReplicatedDiskStagingDiskType"}, + "throughput":{"shape":"PositiveInteger"} + } + }, + "ReplicationConfigurationReplicatedDiskStagingDiskType":{ + "type":"string", + "enum":[ + "AUTO", + "GP2", + "GP3", + "IO1", + "SC1", + "ST1", + "STANDARD" + ] + }, + "ReplicationConfigurationReplicatedDisks":{ + "type":"list", + "member":{"shape":"ReplicationConfigurationReplicatedDisk"}, + "max":60, + "min":0 + }, + "ReplicationConfigurationTemplate":{ + "type":"structure", + "required":["replicationConfigurationTemplateID"], + "members":{ + "arn":{"shape":"ARN"}, + "associateDefaultSecurityGroup":{"shape":"Boolean"}, + "bandwidthThrottling":{"shape":"PositiveInteger"}, + "createPublicIP":{"shape":"Boolean"}, + "dataPlaneRouting":{"shape":"ReplicationConfigurationDataPlaneRouting"}, + "defaultLargeStagingDiskType":{"shape":"ReplicationConfigurationDefaultLargeStagingDiskType"}, + "ebsEncryption":{"shape":"ReplicationConfigurationEbsEncryption"}, + "ebsEncryptionKeyArn":{"shape":"ARN"}, + "pitPolicy":{"shape":"PITPolicy"}, + "replicationConfigurationTemplateID":{"shape":"ReplicationConfigurationTemplateID"}, + "replicationServerInstanceType":{"shape":"EC2InstanceType"}, + "replicationServersSecurityGroupsIDs":{"shape":"ReplicationServersSecurityGroupsIDs"}, + "stagingAreaSubnetId":{"shape":"SubnetID"}, + "stagingAreaTags":{"shape":"TagsMap"}, + "tags":{"shape":"TagsMap"}, + "useDedicatedReplicationServer":{"shape":"Boolean"} + } + }, + "ReplicationConfigurationTemplateID":{ + "type":"string", + "max":21, + "min":21, + "pattern":"^rct-[0-9a-zA-Z]{17}$" + }, + "ReplicationConfigurationTemplateIDs":{ + "type":"list", + "member":{"shape":"ReplicationConfigurationTemplateID"}, + "max":200, + "min":0 + }, + "ReplicationConfigurationTemplates":{ + "type":"list", + "member":{"shape":"ReplicationConfigurationTemplate"} + }, + "ReplicationServersSecurityGroupsIDs":{ + "type":"list", + "member":{"shape":"SecurityGroupID"}, + "max":32, + "min":0 + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "code":{"shape":"LargeBoundedString"}, + "message":{"shape":"LargeBoundedString"}, + "resourceId":{"shape":"LargeBoundedString"}, + "resourceType":{"shape":"LargeBoundedString"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "RetryDataReplicationRequest":{ + "type":"structure", + "required":["sourceServerID"], + "members":{ + "sourceServerID":{"shape":"SourceServerID"} + } + }, + "SecurityGroupID":{ + "type":"string", + "max":255, + "min":0, + "pattern":"^sg-[0-9a-fA-F]{8,}$" + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "code":{"shape":"LargeBoundedString"}, + "message":{"shape":"LargeBoundedString"}, + "quotaCode":{"shape":"LargeBoundedString"}, + "resourceId":{"shape":"LargeBoundedString"}, + "resourceType":{"shape":"LargeBoundedString"}, + "serviceCode":{"shape":"LargeBoundedString"} + }, + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "SmallBoundedString":{ + "type":"string", + "max":128, + "min":0 + }, + "SourceProperties":{ + "type":"structure", + "members":{ + "cpus":{"shape":"Cpus"}, + "disks":{"shape":"Disks"}, + "identificationHints":{"shape":"IdentificationHints"}, + "lastUpdatedDateTime":{"shape":"ISO8601DatetimeString"}, + "networkInterfaces":{"shape":"NetworkInterfaces"}, + "os":{"shape":"OS"}, + "ramBytes":{"shape":"PositiveInteger"}, + "recommendedInstanceType":{"shape":"EC2InstanceType"} + } + }, + "SourceServer":{ + "type":"structure", + "members":{ + "arn":{"shape":"ARN"}, + "dataReplicationInfo":{"shape":"DataReplicationInfo"}, + "lastLaunchResult":{"shape":"LastLaunchResult"}, + "lifeCycle":{"shape":"LifeCycle"}, + "recoveryInstanceId":{"shape":"RecoveryInstanceID"}, + "sourceProperties":{"shape":"SourceProperties"}, + "sourceServerID":{"shape":"SourceServerID"}, + "tags":{"shape":"TagsMap"} + } + }, + "SourceServerID":{ + "type":"string", + "max":19, + "min":19, + "pattern":"^s-[0-9a-zA-Z]{17}$" + }, + "SourceServerIDs":{ + "type":"list", + "member":{"shape":"SourceServerID"} + }, + "SourceServersList":{ + "type":"list", + "member":{"shape":"SourceServer"} + }, + "StartFailbackLaunchRequest":{ + "type":"structure", + "required":["recoveryInstanceIDs"], + "members":{ + "recoveryInstanceIDs":{"shape":"StartFailbackRequestRecoveryInstanceIDs"}, + "tags":{"shape":"TagsMap"} + } + }, + "StartFailbackLaunchResponse":{ + "type":"structure", + "members":{ + "job":{"shape":"Job"} + } + }, + "StartFailbackRequestRecoveryInstanceIDs":{ + "type":"list", + "member":{"shape":"RecoveryInstanceID"}, + "max":200, + "min":1 + }, + "StartRecoveryRequest":{ + "type":"structure", + "required":["sourceServers"], + "members":{ + "isDrill":{"shape":"Boolean"}, + "sourceServers":{"shape":"StartRecoveryRequestSourceServers"}, + "tags":{"shape":"TagsMap"} + } + }, + "StartRecoveryRequestSourceServer":{ + "type":"structure", + "required":["sourceServerID"], + "members":{ + "recoverySnapshotID":{"shape":"RecoverySnapshotID"}, + "sourceServerID":{"shape":"SourceServerID"} + } + }, + "StartRecoveryRequestSourceServers":{ + "type":"list", + "member":{"shape":"StartRecoveryRequestSourceServer"}, + "max":200, + "min":1 + }, + "StartRecoveryResponse":{ + "type":"structure", + "members":{ + "job":{"shape":"Job"} + } + }, + "StopFailbackRequest":{ + "type":"structure", + "required":["recoveryInstanceID"], + "members":{ + "recoveryInstanceID":{"shape":"RecoveryInstanceID"} + } + }, + "StrictlyPositiveInteger":{ + "type":"integer", + "min":1 + }, + "SubnetID":{ + "type":"string", + "max":255, + "min":0, + "pattern":"^subnet-[0-9a-fA-F]{8,}$" + }, + "TagKey":{ + "type":"string", + "max":256, + "min":0 + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"}, + "sensitive":true + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{"shape":"TagsMap"} + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "TagsMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "sensitive":true + }, + "TargetInstanceTypeRightSizingMethod":{ + "type":"string", + "enum":[ + "NONE", + "BASIC" + ] + }, + "TerminateRecoveryInstancesRequest":{ + "type":"structure", + "required":["recoveryInstanceIDs"], + "members":{ + "recoveryInstanceIDs":{"shape":"RecoveryInstancesForTerminationRequest"} + } + }, + "TerminateRecoveryInstancesResponse":{ + "type":"structure", + "members":{ + "job":{"shape":"Job"} + } + }, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"LargeBoundedString"}, + "quotaCode":{"shape":"LargeBoundedString"}, + "retryAfterSeconds":{ + "shape":"LargeBoundedString", + "location":"header", + "locationName":"Retry-After" + }, + "serviceCode":{"shape":"LargeBoundedString"} + }, + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "UninitializedAccountException":{ + "type":"structure", + "members":{ + "code":{"shape":"LargeBoundedString"}, + "message":{"shape":"LargeBoundedString"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeys", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UpdateFailbackReplicationConfigurationRequest":{ + "type":"structure", + "required":["recoveryInstanceID"], + "members":{ + "bandwidthThrottling":{"shape":"PositiveInteger"}, + "name":{"shape":"BoundedString"}, + "recoveryInstanceID":{"shape":"RecoveryInstanceID"}, + "usePrivateIP":{"shape":"Boolean"} + } + }, + "UpdateLaunchConfigurationRequest":{ + "type":"structure", + "required":["sourceServerID"], + "members":{ + "copyPrivateIp":{"shape":"Boolean"}, + "copyTags":{"shape":"Boolean"}, + "launchDisposition":{"shape":"LaunchDisposition"}, + "licensing":{"shape":"Licensing"}, + "name":{"shape":"SmallBoundedString"}, + "sourceServerID":{"shape":"SourceServerID"}, + "targetInstanceTypeRightSizingMethod":{"shape":"TargetInstanceTypeRightSizingMethod"} + } + }, + "UpdateReplicationConfigurationRequest":{ + "type":"structure", + "required":["sourceServerID"], + "members":{ + "associateDefaultSecurityGroup":{"shape":"Boolean"}, + "bandwidthThrottling":{"shape":"PositiveInteger"}, + "createPublicIP":{"shape":"Boolean"}, + "dataPlaneRouting":{"shape":"ReplicationConfigurationDataPlaneRouting"}, + "defaultLargeStagingDiskType":{"shape":"ReplicationConfigurationDefaultLargeStagingDiskType"}, + "ebsEncryption":{"shape":"ReplicationConfigurationEbsEncryption"}, + "ebsEncryptionKeyArn":{"shape":"ARN"}, + "name":{"shape":"SmallBoundedString"}, + "pitPolicy":{"shape":"PITPolicy"}, + "replicatedDisks":{"shape":"ReplicationConfigurationReplicatedDisks"}, + "replicationServerInstanceType":{"shape":"EC2InstanceType"}, + "replicationServersSecurityGroupsIDs":{"shape":"ReplicationServersSecurityGroupsIDs"}, + "sourceServerID":{"shape":"SourceServerID"}, + "stagingAreaSubnetId":{"shape":"SubnetID"}, + "stagingAreaTags":{"shape":"TagsMap"}, + "useDedicatedReplicationServer":{"shape":"Boolean"} + } + }, + "UpdateReplicationConfigurationTemplateRequest":{ + "type":"structure", + "required":["replicationConfigurationTemplateID"], + "members":{ + "arn":{"shape":"ARN"}, + "associateDefaultSecurityGroup":{"shape":"Boolean"}, + "bandwidthThrottling":{"shape":"PositiveInteger"}, + "createPublicIP":{"shape":"Boolean"}, + "dataPlaneRouting":{"shape":"ReplicationConfigurationDataPlaneRouting"}, + "defaultLargeStagingDiskType":{"shape":"ReplicationConfigurationDefaultLargeStagingDiskType"}, + "ebsEncryption":{"shape":"ReplicationConfigurationEbsEncryption"}, + "ebsEncryptionKeyArn":{"shape":"ARN"}, + "pitPolicy":{"shape":"PITPolicy"}, + "replicationConfigurationTemplateID":{"shape":"ReplicationConfigurationTemplateID"}, + "replicationServerInstanceType":{"shape":"EC2InstanceType"}, + "replicationServersSecurityGroupsIDs":{"shape":"ReplicationServersSecurityGroupsIDs"}, + "stagingAreaSubnetId":{"shape":"SubnetID"}, + "stagingAreaTags":{"shape":"TagsMap"}, + "useDedicatedReplicationServer":{"shape":"Boolean"} + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "code":{"shape":"LargeBoundedString"}, + "fieldList":{"shape":"ValidationExceptionFieldList"}, + "message":{"shape":"LargeBoundedString"}, + "reason":{"shape":"ValidationExceptionReason"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "members":{ + "message":{"shape":"LargeBoundedString"}, + "name":{"shape":"LargeBoundedString"} + } + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "unknownOperation", + "cannotParse", + "fieldValidationFailed", + "other" + ] + }, + "ebsSnapshot":{ + "type":"string", + "pattern":"^snap-[0-9a-zA-Z]{17}$" + } + } +} diff --git a/models/apis/drs/2020-02-26/docs-2.json b/models/apis/drs/2020-02-26/docs-2.json new file mode 100644 index 0000000000..d439482c78 --- /dev/null +++ b/models/apis/drs/2020-02-26/docs-2.json @@ -0,0 +1,1266 @@ +{ + "version": "2.0", + "service": "

AWS Elastic Disaster Recovery Service.

", + "operations": { + "CreateReplicationConfigurationTemplate": "

Creates a new ReplicationConfigurationTemplate.

", + "DeleteJob": "

Deletes a single Job by ID.

", + "DeleteRecoveryInstance": "

Deletes a single Recovery Instance by ID. This deletes the Recovery Instance resource from Elastic Disaster Recovery. The Recovery Instance must be disconnected first in order to delete it.

", + "DeleteReplicationConfigurationTemplate": "

Deletes a single Replication Configuration Template by ID

", + "DeleteSourceServer": "

Deletes a single Source Server by ID. The Source Server must be disconnected first.

", + "DescribeJobLogItems": "

Retrieves a detailed Job log with pagination.

", + "DescribeJobs": "

Returns a list of Jobs. Use the JobsID and fromDate and toDate filters to limit which jobs are returned. The response is sorted by creationDataTime - latest date first. Jobs are created by the StartRecovery, TerminateRecoveryInstances and StartFailbackLaunch APIs. Jobs are also created by DiagnosticLaunch and TerminateDiagnosticInstances, which are APIs available only to *Support* and only used in response to relevant support tickets.

", + "DescribeRecoveryInstances": "

Lists all Recovery Instances or multiple Recovery Instances by ID.

", + "DescribeRecoverySnapshots": "

Lists all Recovery Snapshots for a single Source Server.

", + "DescribeReplicationConfigurationTemplates": "

Lists all ReplicationConfigurationTemplates, filtered by Source Server IDs.

", + "DescribeSourceServers": "

Lists all Source Servers or multiple Source Servers filtered by ID.

", + "DisconnectRecoveryInstance": "

Disconnect a Recovery Instance from Elastic Disaster Recovery. Data replication is stopped immediately. All AWS resources created by Elastic Disaster Recovery for enabling the replication of the Recovery Instance will be terminated / deleted within 90 minutes. If the agent on the Recovery Instance has not been prevented from communicating with the Elastic Disaster Recovery service, then it will receive a command to uninstall itself (within approximately 10 minutes). The following properties of the Recovery Instance will be changed immediately: dataReplicationInfo.dataReplicationState will be set to DISCONNECTED; The totalStorageBytes property for each of dataReplicationInfo.replicatedDisks will be set to zero; dataReplicationInfo.lagDuration and dataReplicationInfo.lagDuration will be nullified.

", + "DisconnectSourceServer": "

Disconnects a specific Source Server from Elastic Disaster Recovery. Data replication is stopped immediately. All AWS resources created by Elastic Disaster Recovery for enabling the replication of the Source Server will be terminated / deleted within 90 minutes. You cannot disconnect a Source Server if it has a Recovery Instance. If the agent on the Source Server has not been prevented from communicating with the Elastic Disaster Recovery service, then it will receive a command to uninstall itself (within approximately 10 minutes). The following properties of the SourceServer will be changed immediately: dataReplicationInfo.dataReplicationState will be set to DISCONNECTED; The totalStorageBytes property for each of dataReplicationInfo.replicatedDisks will be set to zero; dataReplicationInfo.lagDuration and dataReplicationInfo.lagDuration will be nullified.

", + "GetFailbackReplicationConfiguration": "

Lists all Failback ReplicationConfigurations, filtered by Recovery Instance ID.

", + "GetLaunchConfiguration": "

Gets a LaunchConfiguration, filtered by Source Server IDs.

", + "GetReplicationConfiguration": "

Gets a ReplicationConfiguration, filtered by Source Server ID.

", + "InitializeService": "

Initialize Elastic Disaster Recovery.

", + "ListTagsForResource": "

List all tags for your Elastic Disaster Recovery resources.

", + "RetryDataReplication": "

Causes the data replication initiation sequence to begin immediately upon next Handshake for the specified Source Server ID, regardless of when the previous initiation started. This command will work only if the Source Server is stalled or is in a DISCONNECTED or STOPPED state.

", + "StartFailbackLaunch": "

Initiates a Job for launching the machine that is being failed back to from the specified Recovery Instance. This will run conversion on the failback client and will reboot your machine, thus completing the failback process.

", + "StartRecovery": "

Launches Recovery Instances for the specified Source Servers. For each Source Server you may choose a point in time snapshot to launch from, or use an on demand snapshot.

", + "StopFailback": "

Stops the failback process for a specified Recovery Instance. This changes the Failback State of the Recovery Instance back to FAILBACK_NOT_STARTED.

", + "TagResource": "

Adds or overwrites only the specified tags for the specified Elastic Disaster Recovery resource or resources. When you specify an existing tag key, the value is overwritten with the new value. Each resource can have a maximum of 50 tags. Each tag consists of a key and optional value.

", + "TerminateRecoveryInstances": "

Initiates a Job for terminating the EC2 resources associated with the specified Recovery Instances, and then will delete the Recovery Instances from the Elastic Disaster Recovery service.

", + "UntagResource": "

Deletes the specified set of tags from the specified set of Elastic Disaster Recovery resources.

", + "UpdateFailbackReplicationConfiguration": "

Allows you to update the failback replication configuration of a Recovery Instance by ID.

", + "UpdateLaunchConfiguration": "

Updates a LaunchConfiguration by Source Server ID.

", + "UpdateReplicationConfiguration": "

Allows you to update a ReplicationConfiguration by Source Server ID.

", + "UpdateReplicationConfigurationTemplate": "

Updates a ReplicationConfigurationTemplate by ID.

" + }, + "shapes": { + "ARN": { + "base": null, + "refs": { + "CreateReplicationConfigurationTemplateRequest$ebsEncryptionKeyArn": "

The ARN of the EBS encryption key to be used during replication.

", + "Job$arn": "

The ARN of a Job.

", + "ListTagsForResourceRequest$resourceArn": "

The ARN of the resource whose tags should be returned.

", + "RecoveryInstance$arn": "

The ARN of the Recovery Instance.

", + "ReplicationConfiguration$ebsEncryptionKeyArn": "

The ARN of the EBS encryption key to be used during replication.

", + "ReplicationConfigurationTemplate$arn": "

The Replication Configuration Template ARN.

", + "ReplicationConfigurationTemplate$ebsEncryptionKeyArn": "

The ARN of the EBS encryption key to be used during replication.

", + "SourceServer$arn": "

The ARN of the Source Server.

", + "TagResourceRequest$resourceArn": "

ARN of the resource for which tags are to be added or updated.

", + "UntagResourceRequest$resourceArn": "

ARN of the resource for which tags are to be removed.

", + "UpdateReplicationConfigurationRequest$ebsEncryptionKeyArn": "

The ARN of the EBS encryption key to be used during replication.

", + "UpdateReplicationConfigurationTemplateRequest$arn": "

The Replication Configuration Template ARN.

", + "UpdateReplicationConfigurationTemplateRequest$ebsEncryptionKeyArn": "

The ARN of the EBS encryption key to be used during replication.

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

TYou do not have sufficient access to perform this action.

", + "refs": { + } + }, + "Boolean": { + "base": null, + "refs": { + "CreateReplicationConfigurationTemplateRequest$associateDefaultSecurityGroup": "

Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration Template.

", + "CreateReplicationConfigurationTemplateRequest$createPublicIP": "

Whether to create a Public IP for the Recovery Instance by default.

", + "CreateReplicationConfigurationTemplateRequest$useDedicatedReplicationServer": "

Whether to use a dedicated Replication Server in the replication staging area.

", + "GetFailbackReplicationConfigurationResponse$usePrivateIP": "

Whether to use Private IP for the failback replication of the Recovery Instance.

", + "LaunchConfiguration$copyPrivateIp": "

Whether we should copy the Private IP of the Source Server to the Recovery Instance.

", + "LaunchConfiguration$copyTags": "

Whether we want to copy the tags of the Source Server to the EC2 machine of the Recovery Instance.

", + "Licensing$osByol": "

Whether to enable \"Bring your own license\" or not.

", + "NetworkInterface$isPrimary": "

Whether this is the primary network interface.

", + "PITPolicyRule$enabled": "

Whether this rule is enabled or not.

", + "RecoveryInstance$isDrill": "

Whether this Recovery Instance was created for a drill or for an actual Recovery event.

", + "RecoveryInstanceFailback$failbackToOriginalServer": "

Whether we are failing back to the original Source Server for this Recovery Instance.

", + "ReplicationConfiguration$associateDefaultSecurityGroup": "

Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration.

", + "ReplicationConfiguration$createPublicIP": "

Whether to create a Public IP for the Recovery Instance by default.

", + "ReplicationConfiguration$useDedicatedReplicationServer": "

Whether to use a dedicated Replication Server in the replication staging area.

", + "ReplicationConfigurationReplicatedDisk$isBootDisk": "

Whether to boot from this disk or not.

", + "ReplicationConfigurationTemplate$associateDefaultSecurityGroup": "

Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration Template.

", + "ReplicationConfigurationTemplate$createPublicIP": "

Whether to create a Public IP for the Recovery Instance by default.

", + "ReplicationConfigurationTemplate$useDedicatedReplicationServer": "

Whether to use a dedicated Replication Server in the replication staging area.

", + "StartRecoveryRequest$isDrill": "

Whether this Source Server Recovery operation is a drill or not.

", + "UpdateFailbackReplicationConfigurationRequest$usePrivateIP": "

Whether to use Private IP for the failback replication of the Recovery Instance.

", + "UpdateLaunchConfigurationRequest$copyPrivateIp": "

Whether we should copy the Private IP of the Source Server to the Recovery Instance.

", + "UpdateLaunchConfigurationRequest$copyTags": "

Whether we want to copy the tags of the Source Server to the EC2 machine of the Recovery Instance.

", + "UpdateReplicationConfigurationRequest$associateDefaultSecurityGroup": "

Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration.

", + "UpdateReplicationConfigurationRequest$createPublicIP": "

Whether to create a Public IP for the Recovery Instance by default.

", + "UpdateReplicationConfigurationRequest$useDedicatedReplicationServer": "

Whether to use a dedicated Replication Server in the replication staging area.

", + "UpdateReplicationConfigurationTemplateRequest$associateDefaultSecurityGroup": "

Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration Template.

", + "UpdateReplicationConfigurationTemplateRequest$createPublicIP": "

Whether to create a Public IP for the Recovery Instance by default.

", + "UpdateReplicationConfigurationTemplateRequest$useDedicatedReplicationServer": "

Whether to use a dedicated Replication Server in the replication staging area.

" + } + }, + "BoundedString": { + "base": null, + "refs": { + "CPU$modelName": "

The model name of the CPU.

", + "DataReplicationInfoReplicatedDisk$deviceName": "

The name of the device.

", + "DescribeSourceServersRequestFilters$hardwareId": "

An ID that describes the hardware of the Source Server. This is either an EC2 instance id, a VMware uuid or a mac address.

", + "Disk$deviceName": "

The disk or device name.

", + "GetFailbackReplicationConfigurationResponse$name": "

The name of the Failback Replication Configuration.

", + "IPsList$member": null, + "IdentificationHints$fqdn": "

Fully Qualified Domain Name identification hint.

", + "IdentificationHints$hostname": "

Hostname identification hint.

", + "IdentificationHints$vmWareUuid": "

vCenter VM path identification hint.

", + "LaunchConfiguration$ec2LaunchTemplateID": "

The EC2 launch template ID of this launch configuration.

", + "NetworkInterface$macAddress": "

The MAC address of the network interface.

", + "OS$fullString": "

The long name of the Operating System.

", + "RecoveryInstanceDataReplicationInfoReplicatedDisk$deviceName": "

The name of the device.

", + "RecoveryInstanceDisk$internalDeviceName": "

The internal device name of this disk. This is the name that is visible on the machine itself and not from the EC2 console.

", + "RecoveryInstanceFailback$failbackClientID": "

The ID of the failback client that this Recovery Instance is associated with.

", + "ReplicationConfigurationReplicatedDisk$deviceName": "

The name of the device.

", + "UpdateFailbackReplicationConfigurationRequest$name": "

The name of the Failback Replication Configuration.

" + } + }, + "CPU": { + "base": "

Information about a server's CPU.

", + "refs": { + "Cpus$member": null + } + }, + "ConflictException": { + "base": "

The request could not be completed due to a conflict with the current state of the target resource.

", + "refs": { + } + }, + "Cpus": { + "base": null, + "refs": { + "RecoveryInstanceProperties$cpus": "

An array of CPUs.

", + "SourceProperties$cpus": "

An array of CPUs.

" + } + }, + "CreateReplicationConfigurationTemplateRequest": { + "base": null, + "refs": { + } + }, + "DataReplicationError": { + "base": "

Error in data replication.

", + "refs": { + "DataReplicationInfo$dataReplicationError": "

Error in data replication.

" + } + }, + "DataReplicationErrorString": { + "base": null, + "refs": { + "DataReplicationError$error": "

Error in data replication.

" + } + }, + "DataReplicationInfo": { + "base": "

Information about Data Replication

", + "refs": { + "SourceServer$dataReplicationInfo": "

The Data Replication Info of the Source Server.

" + } + }, + "DataReplicationInfoReplicatedDisk": { + "base": "

A disk that should be replicated.

", + "refs": { + "DataReplicationInfoReplicatedDisks$member": null + } + }, + "DataReplicationInfoReplicatedDisks": { + "base": null, + "refs": { + "DataReplicationInfo$replicatedDisks": "

The disks that should be replicated.

" + } + }, + "DataReplicationInitiation": { + "base": "

Data replication initiation.

", + "refs": { + "DataReplicationInfo$dataReplicationInitiation": "

Information about whether the data replication has been initiated.

" + } + }, + "DataReplicationInitiationStep": { + "base": "

Data replication initiation step.

", + "refs": { + "DataReplicationInitiationSteps$member": null + } + }, + "DataReplicationInitiationStepName": { + "base": null, + "refs": { + "DataReplicationInitiationStep$name": "

The name of the step.

" + } + }, + "DataReplicationInitiationStepStatus": { + "base": null, + "refs": { + "DataReplicationInitiationStep$status": "

The status of the step.

" + } + }, + "DataReplicationInitiationSteps": { + "base": null, + "refs": { + "DataReplicationInitiation$steps": "

The steps of the current attempt to initiate data replication.

" + } + }, + "DataReplicationState": { + "base": null, + "refs": { + "DataReplicationInfo$dataReplicationState": "

The state of the data replication.

" + } + }, + "DeleteJobRequest": { + "base": null, + "refs": { + } + }, + "DeleteJobResponse": { + "base": null, + "refs": { + } + }, + "DeleteRecoveryInstanceRequest": { + "base": null, + "refs": { + } + }, + "DeleteReplicationConfigurationTemplateRequest": { + "base": null, + "refs": { + } + }, + "DeleteReplicationConfigurationTemplateResponse": { + "base": null, + "refs": { + } + }, + "DeleteSourceServerRequest": { + "base": null, + "refs": { + } + }, + "DeleteSourceServerResponse": { + "base": null, + "refs": { + } + }, + "DescribeJobLogItemsRequest": { + "base": null, + "refs": { + } + }, + "DescribeJobLogItemsResponse": { + "base": null, + "refs": { + } + }, + "DescribeJobsRequest": { + "base": null, + "refs": { + } + }, + "DescribeJobsRequestFilters": { + "base": "

A set of filters by which to return Jobs.

", + "refs": { + "DescribeJobsRequest$filters": "

A set of filters by which to return Jobs.

" + } + }, + "DescribeJobsRequestFiltersJobIDs": { + "base": null, + "refs": { + "DescribeJobsRequestFilters$jobIDs": "

An array of Job IDs that should be returned. An empty array means all jobs.

" + } + }, + "DescribeJobsResponse": { + "base": null, + "refs": { + } + }, + "DescribeRecoveryInstancesItems": { + "base": null, + "refs": { + "DescribeRecoveryInstancesResponse$items": "

An array of Recovery Instances.

" + } + }, + "DescribeRecoveryInstancesRequest": { + "base": null, + "refs": { + } + }, + "DescribeRecoveryInstancesRequestFilters": { + "base": "

A set of filters by which to return Recovery Instances.

", + "refs": { + "DescribeRecoveryInstancesRequest$filters": "

A set of filters by which to return Recovery Instances.

" + } + }, + "DescribeRecoveryInstancesResponse": { + "base": null, + "refs": { + } + }, + "DescribeRecoverySnapshotsRequest": { + "base": null, + "refs": { + } + }, + "DescribeRecoverySnapshotsRequestFilters": { + "base": "

A set of filters by which to return Recovery Snapshots.

", + "refs": { + "DescribeRecoverySnapshotsRequest$filters": "

A set of filters by which to return Recovery Snapshots.

" + } + }, + "DescribeRecoverySnapshotsResponse": { + "base": null, + "refs": { + } + }, + "DescribeReplicationConfigurationTemplatesRequest": { + "base": null, + "refs": { + } + }, + "DescribeReplicationConfigurationTemplatesResponse": { + "base": null, + "refs": { + } + }, + "DescribeSourceServersRequest": { + "base": null, + "refs": { + } + }, + "DescribeSourceServersRequestFilters": { + "base": "

A set of filters by which to return Source Servers.

", + "refs": { + "DescribeSourceServersRequest$filters": "

A set of filters by which to return Source Servers.

" + } + }, + "DescribeSourceServersRequestFiltersIDs": { + "base": null, + "refs": { + "DescribeSourceServersRequestFilters$sourceServerIDs": "

An array of Source Servers IDs that should be returned. An empty array means all Source Servers.

" + } + }, + "DescribeSourceServersResponse": { + "base": null, + "refs": { + } + }, + "DisconnectRecoveryInstanceRequest": { + "base": null, + "refs": { + } + }, + "DisconnectSourceServerRequest": { + "base": null, + "refs": { + } + }, + "Disk": { + "base": "

An object representing a data storage device on a server.

", + "refs": { + "Disks$member": null + } + }, + "Disks": { + "base": null, + "refs": { + "SourceProperties$disks": "

An array of disks.

" + } + }, + "EC2InstanceID": { + "base": null, + "refs": { + "IdentificationHints$awsInstanceID": "

AWS Instance ID identification hint.

", + "JobLogEventData$conversionServerID": "

The ID of a conversion server.

", + "JobLogEventData$targetInstanceID": "

The ID of a Recovery Instance.

", + "RecoveryInstance$ec2InstanceID": "

The EC2 instance ID of the Recovery Instance.

" + } + }, + "EC2InstanceState": { + "base": null, + "refs": { + "RecoveryInstance$ec2InstanceState": "

The state of the EC2 instance for this Recovery Instance.

" + } + }, + "EC2InstanceType": { + "base": null, + "refs": { + "CreateReplicationConfigurationTemplateRequest$replicationServerInstanceType": "

The instance type to be used for the replication server.

", + "ReplicationConfiguration$replicationServerInstanceType": "

The instance type to be used for the replication server.

", + "ReplicationConfigurationTemplate$replicationServerInstanceType": "

The instance type to be used for the replication server.

", + "SourceProperties$recommendedInstanceType": "

The recommended EC2 instance type that will be used when recovering the Source Server.

", + "UpdateReplicationConfigurationRequest$replicationServerInstanceType": "

The instance type to be used for the replication server.

", + "UpdateReplicationConfigurationTemplateRequest$replicationServerInstanceType": "

The instance type to be used for the replication server.

" + } + }, + "EbsSnapshotsList": { + "base": null, + "refs": { + "RecoverySnapshot$ebsSnapshots": "

A list of EBS snapshots.

" + } + }, + "EbsVolumeID": { + "base": null, + "refs": { + "RecoveryInstanceDisk$ebsVolumeID": "

The EBS Volume ID of this disk.

" + } + }, + "FailbackReplicationError": { + "base": null, + "refs": { + "RecoveryInstanceDataReplicationError$error": "

Error in data replication.

" + } + }, + "FailbackState": { + "base": null, + "refs": { + "RecoveryInstanceFailback$state": "

The state of the failback process that this Recovery Instance is in.

" + } + }, + "GetFailbackReplicationConfigurationRequest": { + "base": null, + "refs": { + } + }, + "GetFailbackReplicationConfigurationResponse": { + "base": null, + "refs": { + } + }, + "GetLaunchConfigurationRequest": { + "base": null, + "refs": { + } + }, + "GetReplicationConfigurationRequest": { + "base": null, + "refs": { + } + }, + "IPsList": { + "base": null, + "refs": { + "NetworkInterface$ips": "

Network interface IPs.

" + } + }, + "ISO8601DatetimeString": { + "base": null, + "refs": { + "DataReplicationInfo$etaDateTime": "

An estimate of when the data replication will be completed.

", + "DataReplicationInfo$lagDuration": "

Data replication lag duration.

", + "DataReplicationInitiation$nextAttemptDateTime": "

The date and time of the next attempt to initiate data replication.

", + "DataReplicationInitiation$startDateTime": "

The date and time of the current attempt to initiate data replication.

", + "DescribeJobsRequestFilters$fromDate": "

The start date in a date range query.

", + "DescribeJobsRequestFilters$toDate": "

The end date in a date range query.

", + "DescribeRecoverySnapshotsRequestFilters$fromDateTime": "

The start date in a date range query.

", + "DescribeRecoverySnapshotsRequestFilters$toDateTime": "

The end date in a date range query.

", + "Job$creationDateTime": "

The date and time of when the Job was created.

", + "Job$endDateTime": "

The date and time of when the Job ended.

", + "JobLog$logDateTime": "

The date and time the log was taken.

", + "LifeCycle$addedToServiceDateTime": "

The date and time of when the Source Server was added to the service.

", + "LifeCycle$elapsedReplicationDuration": "

The amount of time that the Source Server has been replicating for.

", + "LifeCycle$firstByteDateTime": "

The date and time of the first byte that was replicated from the Source Server.

", + "LifeCycle$lastSeenByServiceDateTime": "

The date and time this Source Server was last seen by the service.

", + "LifeCycleLastLaunchInitiated$apiCallDateTime": "

The date and time the last Source Server launch was initiated.

", + "RecoveryInstance$pointInTimeSnapshotDateTime": "

The date and time of the Point in Time (PIT) snapshot that this Recovery Instance was launched from.

", + "RecoveryInstanceDataReplicationInfo$etaDateTime": "

An estimate of when the data replication will be completed.

", + "RecoveryInstanceDataReplicationInfo$lagDuration": "

Data replication lag duration.

", + "RecoveryInstanceDataReplicationInitiation$startDateTime": "

The date and time of the current attempt to initiate data replication.

", + "RecoveryInstanceFailback$agentLastSeenByServiceDateTime": "

The date and time the agent on the Recovery Instance was last seen by the service.

", + "RecoveryInstanceFailback$elapsedReplicationDuration": "

The amount of time that the Recovery Instance has been replicating for.

", + "RecoveryInstanceFailback$failbackClientLastSeenByServiceDateTime": "

The date and time that the failback client was last seen by the service.

", + "RecoveryInstanceFailback$failbackInitiationTime": "

The date and time that the failback initiation started.

", + "RecoveryInstanceFailback$firstByteDateTime": "

The date and time of the first byte that was replicated from the Recovery Instance.

", + "RecoveryInstanceProperties$lastUpdatedDateTime": "

The date and time the Recovery Instance properties were last updated on.

", + "RecoverySnapshot$expectedTimestamp": "

The timestamp of when we expect the snapshot to be taken.

", + "RecoverySnapshot$timestamp": "

The actual timestamp that the snapshot was taken.

", + "SourceProperties$lastUpdatedDateTime": "

The date and time the Source Properties were last updated on.

" + } + }, + "IdentificationHints": { + "base": "

Hints used to uniquely identify a machine.

", + "refs": { + "RecoveryInstanceProperties$identificationHints": "

Hints used to uniquely identify a machine.

", + "SourceProperties$identificationHints": "

Hints used to uniquely identify a machine.

" + } + }, + "InitializeServiceRequest": { + "base": null, + "refs": { + } + }, + "InitializeServiceResponse": { + "base": null, + "refs": { + } + }, + "InitiatedBy": { + "base": null, + "refs": { + "Job$initiatedBy": "

A string representing who initiated the Job.

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

The request processing has failed because of an unknown error, exception or failure.

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

A job is an asynchronous workflow.

", + "refs": { + "JobsList$member": null, + "StartFailbackLaunchResponse$job": "

The failback launch Job.

", + "StartRecoveryResponse$job": "

The Recovery Job.

", + "TerminateRecoveryInstancesResponse$job": "

The Job for terminating the Recovery Instances.

" + } + }, + "JobID": { + "base": null, + "refs": { + "DeleteJobRequest$jobID": "

The ID of the Job to be deleted.

", + "DescribeJobLogItemsRequest$jobID": "

The ID of the Job for which Job log items will be retrieved.

", + "DescribeJobsRequestFiltersJobIDs$member": null, + "Job$jobID": "

The ID of the Job.

", + "LifeCycleLastLaunchInitiated$jobID": "

The ID of the Job that was used to last launch the Source Server.

", + "RecoveryInstance$jobID": "

The ID of the Job that created the Recovery Instance.

", + "RecoveryInstanceFailback$failbackJobID": "

The Job ID of the last failback log for this Recovery Instance.

" + } + }, + "JobLog": { + "base": "

A log outputted by a Job.

", + "refs": { + "JobLogs$member": null + } + }, + "JobLogEvent": { + "base": null, + "refs": { + "JobLog$event": "

The event represents the type of a log.

" + } + }, + "JobLogEventData": { + "base": "

Metadata associated with a Job log.

", + "refs": { + "JobLog$eventData": "

Metadata associated with a Job log.

" + } + }, + "JobLogs": { + "base": null, + "refs": { + "DescribeJobLogItemsResponse$items": "

An array of Job log items.

" + } + }, + "JobStatus": { + "base": null, + "refs": { + "Job$status": "

The status of the Job.

" + } + }, + "JobType": { + "base": null, + "refs": { + "Job$type": "

The type of the Job.

" + } + }, + "JobsList": { + "base": null, + "refs": { + "DescribeJobsResponse$items": "

An array of Jobs.

" + } + }, + "LargeBoundedString": { + "base": null, + "refs": { + "AccessDeniedException$code": null, + "AccessDeniedException$message": null, + "ConflictException$code": null, + "ConflictException$message": null, + "ConflictException$resourceId": "

The ID of the resource.

", + "ConflictException$resourceType": "

The type of the resource.

", + "DataReplicationError$rawError": "

Error in data replication.

", + "InternalServerException$message": null, + "JobLogEventData$rawError": "

A string representing a job error.

", + "RecoveryInstanceDataReplicationError$rawError": "

Error in data replication.

", + "ResourceNotFoundException$code": null, + "ResourceNotFoundException$message": null, + "ResourceNotFoundException$resourceId": "

The ID of the resource.

", + "ResourceNotFoundException$resourceType": "

The type of the resource.

", + "ServiceQuotaExceededException$code": null, + "ServiceQuotaExceededException$message": null, + "ServiceQuotaExceededException$quotaCode": "

Quota code.

", + "ServiceQuotaExceededException$resourceId": "

The ID of the resource.

", + "ServiceQuotaExceededException$resourceType": "

The type of the resource.

", + "ServiceQuotaExceededException$serviceCode": "

Service code.

", + "ThrottlingException$message": null, + "ThrottlingException$quotaCode": "

Quota code.

", + "ThrottlingException$retryAfterSeconds": "

The number of seconds after which the request should be safe to retry.

", + "ThrottlingException$serviceCode": "

Service code.

", + "UninitializedAccountException$code": null, + "UninitializedAccountException$message": null, + "ValidationException$code": null, + "ValidationException$message": null, + "ValidationExceptionField$message": "

Validate exception field message.

", + "ValidationExceptionField$name": "

Validate exception field name.

" + } + }, + "LastLaunchResult": { + "base": null, + "refs": { + "SourceServer$lastLaunchResult": "

The status of the last recovery launch of this Source Server.

" + } + }, + "LastLaunchType": { + "base": null, + "refs": { + "LifeCycleLastLaunchInitiated$type": "

The Job type that was used to last launch the Source Server.

" + } + }, + "LaunchConfiguration": { + "base": null, + "refs": { + } + }, + "LaunchDisposition": { + "base": null, + "refs": { + "LaunchConfiguration$launchDisposition": "

The state of the Recovery Instance in EC2 after the recovery operation.

", + "UpdateLaunchConfigurationRequest$launchDisposition": "

The state of the Recovery Instance in EC2 after the recovery operation.

" + } + }, + "LaunchStatus": { + "base": null, + "refs": { + "ParticipatingServer$launchStatus": "

The launch status of a participating server.

" + } + }, + "Licensing": { + "base": "

Configuration of a machine's license.

", + "refs": { + "LaunchConfiguration$licensing": "

The licensing configuration to be used for this launch configuration.

", + "UpdateLaunchConfigurationRequest$licensing": "

The licensing configuration to be used for this launch configuration.

" + } + }, + "LifeCycle": { + "base": "

An object representing the Source Server Lifecycle.

", + "refs": { + "SourceServer$lifeCycle": "

The lifecycle information of this Source Server.

" + } + }, + "LifeCycleLastLaunch": { + "base": "

An object containing information regarding the last launch of a Source Server.

", + "refs": { + "LifeCycle$lastLaunch": "

An object containing information regarding the last launch of the Source Server.

" + } + }, + "LifeCycleLastLaunchInitiated": { + "base": "

An object containing information regarding the initiation of the last launch of a Source Server.

", + "refs": { + "LifeCycleLastLaunch$initiated": "

An object containing information regarding the initiation of the last launch of a Source Server.

" + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "NetworkInterface": { + "base": "

Network interface.

", + "refs": { + "NetworkInterfaces$member": null + } + }, + "NetworkInterfaces": { + "base": null, + "refs": { + "RecoveryInstanceProperties$networkInterfaces": "

An array of network interfaces.

", + "SourceProperties$networkInterfaces": "

An array of network interfaces.

" + } + }, + "OS": { + "base": "

Operating System.

", + "refs": { + "RecoveryInstanceProperties$os": "

Operating system.

", + "SourceProperties$os": "

Operating system.

" + } + }, + "PITPolicy": { + "base": null, + "refs": { + "CreateReplicationConfigurationTemplateRequest$pitPolicy": "

The Point in time (PIT) policy to manage snapshots taken during replication.

", + "ReplicationConfiguration$pitPolicy": "

The Point in time (PIT) policy to manage snapshots taken during replication.

", + "ReplicationConfigurationTemplate$pitPolicy": "

The Point in time (PIT) policy to manage snapshots taken during replication.

", + "UpdateReplicationConfigurationRequest$pitPolicy": "

The Point in time (PIT) policy to manage snapshots taken during replication.

", + "UpdateReplicationConfigurationTemplateRequest$pitPolicy": "

The Point in time (PIT) policy to manage snapshots taken during replication.

" + } + }, + "PITPolicyRule": { + "base": "

A rule in the Point in Time (PIT) policy representing when to take snapshots and how long to retain them for.

", + "refs": { + "PITPolicy$member": null + } + }, + "PITPolicyRuleUnits": { + "base": null, + "refs": { + "PITPolicyRule$units": "

The units used to measure the interval and retentionDuration.

" + } + }, + "PaginationToken": { + "base": null, + "refs": { + "DescribeJobLogItemsRequest$nextToken": "

The token of the next Job log items to retrieve.

", + "DescribeJobLogItemsResponse$nextToken": "

The token of the next Job log items to retrieve.

", + "DescribeJobsRequest$nextToken": "

The token of the next Job to retrieve.

", + "DescribeJobsResponse$nextToken": "

The token of the next Job to retrieve.

", + "DescribeRecoveryInstancesRequest$nextToken": "

The token of the next Recovery Instance to retrieve.

", + "DescribeRecoveryInstancesResponse$nextToken": "

The token of the next Recovery Instance to retrieve.

", + "DescribeRecoverySnapshotsRequest$nextToken": "

The token of the next Recovery Snapshot to retrieve.

", + "DescribeRecoverySnapshotsResponse$nextToken": "

The token of the next Recovery Snapshot to retrieve.

", + "DescribeReplicationConfigurationTemplatesRequest$nextToken": "

The token of the next Replication Configuration Template to retrieve.

", + "DescribeReplicationConfigurationTemplatesResponse$nextToken": "

The token of the next Replication Configuration Template to retrieve.

", + "DescribeSourceServersRequest$nextToken": "

The token of the next Source Server to retrieve.

", + "DescribeSourceServersResponse$nextToken": "

The token of the next Source Server to retrieve.

" + } + }, + "ParticipatingServer": { + "base": "

Represents a server participating in an asynchronous Job.

", + "refs": { + "ParticipatingServers$member": null + } + }, + "ParticipatingServers": { + "base": null, + "refs": { + "Job$participatingServers": "

A list of servers that the Job is acting upon.

" + } + }, + "PositiveInteger": { + "base": null, + "refs": { + "CPU$cores": "

The number of CPU cores.

", + "CreateReplicationConfigurationTemplateRequest$bandwidthThrottling": "

Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps.

", + "DataReplicationInfoReplicatedDisk$backloggedStorageBytes": "

The size of the replication backlog in bytes.

", + "DataReplicationInfoReplicatedDisk$replicatedStorageBytes": "

The amount of data replicated so far in bytes.

", + "DataReplicationInfoReplicatedDisk$rescannedStorageBytes": "

The amount of data to be rescanned in bytes.

", + "DataReplicationInfoReplicatedDisk$totalStorageBytes": "

The total amount of data to be replicated in bytes.

", + "Disk$bytes": "

The amount of storage on the disk in bytes.

", + "GetFailbackReplicationConfigurationResponse$bandwidthThrottling": "

Configure bandwidth throttling for the outbound data transfer rate of the Recovery Instance in Mbps.

", + "InternalServerException$retryAfterSeconds": "

The number of seconds after which the request should be safe to retry.

", + "PITPolicyRule$ruleID": "

The ID of the rule.

", + "RecoveryInstanceDataReplicationInfoReplicatedDisk$backloggedStorageBytes": "

The size of the replication backlog in bytes.

", + "RecoveryInstanceDataReplicationInfoReplicatedDisk$replicatedStorageBytes": "

The amount of data replicated so far in bytes.

", + "RecoveryInstanceDataReplicationInfoReplicatedDisk$rescannedStorageBytes": "

The amount of data to be rescanned in bytes.

", + "RecoveryInstanceDataReplicationInfoReplicatedDisk$totalStorageBytes": "

The total amount of data to be replicated in bytes.

", + "RecoveryInstanceDisk$bytes": "

The amount of storage on the disk in bytes.

", + "RecoveryInstanceProperties$ramBytes": "

The amount of RAM in bytes.

", + "ReplicationConfiguration$bandwidthThrottling": "

Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps.

", + "ReplicationConfigurationReplicatedDisk$iops": "

The requested number of I/O operations per second (IOPS).

", + "ReplicationConfigurationReplicatedDisk$throughput": "

The throughput to use for the EBS volume in MiB/s. This parameter is valid only for gp3 volumes.

", + "ReplicationConfigurationTemplate$bandwidthThrottling": "

Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps.

", + "SourceProperties$ramBytes": "

The amount of RAM in bytes.

", + "UpdateFailbackReplicationConfigurationRequest$bandwidthThrottling": "

Configure bandwidth throttling for the outbound data transfer rate of the Recovery Instance in Mbps.

", + "UpdateReplicationConfigurationRequest$bandwidthThrottling": "

Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps.

", + "UpdateReplicationConfigurationTemplateRequest$bandwidthThrottling": "

Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps.

" + } + }, + "RecoveryInstance": { + "base": "

A Recovery Instance is a replica of a Source Server running on EC2.

", + "refs": { + "DescribeRecoveryInstancesItems$member": null + } + }, + "RecoveryInstanceDataReplicationError": { + "base": "

Error in data replication.

", + "refs": { + "RecoveryInstanceDataReplicationInfo$dataReplicationError": "

Information about Data Replication

" + } + }, + "RecoveryInstanceDataReplicationInfo": { + "base": "

Information about Data Replication

", + "refs": { + "RecoveryInstance$dataReplicationInfo": "

The Data Replication Info of the Recovery Instance.

" + } + }, + "RecoveryInstanceDataReplicationInfoReplicatedDisk": { + "base": "

A disk that should be replicated.

", + "refs": { + "RecoveryInstanceDataReplicationInfoReplicatedDisks$member": null + } + }, + "RecoveryInstanceDataReplicationInfoReplicatedDisks": { + "base": null, + "refs": { + "RecoveryInstanceDataReplicationInfo$replicatedDisks": "

The disks that should be replicated.

" + } + }, + "RecoveryInstanceDataReplicationInitiation": { + "base": "

Data replication initiation.

", + "refs": { + "RecoveryInstanceDataReplicationInfo$dataReplicationInitiation": "

Information about whether the data replication has been initiated.

" + } + }, + "RecoveryInstanceDataReplicationInitiationStep": { + "base": "

Data replication initiation step.

", + "refs": { + "RecoveryInstanceDataReplicationInitiationSteps$member": null + } + }, + "RecoveryInstanceDataReplicationInitiationStepName": { + "base": null, + "refs": { + "RecoveryInstanceDataReplicationInitiationStep$name": "

The name of the step.

" + } + }, + "RecoveryInstanceDataReplicationInitiationStepStatus": { + "base": null, + "refs": { + "RecoveryInstanceDataReplicationInitiationStep$status": "

The status of the step.

" + } + }, + "RecoveryInstanceDataReplicationInitiationSteps": { + "base": null, + "refs": { + "RecoveryInstanceDataReplicationInitiation$steps": "

The steps of the current attempt to initiate data replication.

" + } + }, + "RecoveryInstanceDataReplicationState": { + "base": null, + "refs": { + "RecoveryInstanceDataReplicationInfo$dataReplicationState": "

The state of the data replication.

" + } + }, + "RecoveryInstanceDisk": { + "base": "

An object representing a block storage device on the Recovery Instance.

", + "refs": { + "RecoveryInstanceDisks$member": null + } + }, + "RecoveryInstanceDisks": { + "base": null, + "refs": { + "RecoveryInstanceProperties$disks": "

An array of disks.

" + } + }, + "RecoveryInstanceFailback": { + "base": "

An object representing failback related information of the Recovery Instance.

", + "refs": { + "RecoveryInstance$failback": "

An object representing failback related information of the Recovery Instance.

" + } + }, + "RecoveryInstanceID": { + "base": null, + "refs": { + "DeleteRecoveryInstanceRequest$recoveryInstanceID": "

RThe ID of the Recovery Instance to be deleted.

", + "DisconnectRecoveryInstanceRequest$recoveryInstanceID": "

The ID of the Recovery Instance to disconnect.

", + "GetFailbackReplicationConfigurationRequest$recoveryInstanceID": "

The ID of the Recovery Instance whose failback replication configuration should be returned.

", + "GetFailbackReplicationConfigurationResponse$recoveryInstanceID": "

The ID of the Recovery Instance.

", + "ParticipatingServer$recoveryInstanceID": "

The Recovery Instance ID of a participating server.

", + "RecoveryInstance$recoveryInstanceID": "

The ID of the Recovery Instance.

", + "RecoveryInstanceIDs$member": null, + "RecoveryInstancesForTerminationRequest$member": null, + "SourceServer$recoveryInstanceId": "

The ID of the Recovery Instance associated with this Source Server.

", + "StartFailbackRequestRecoveryInstanceIDs$member": null, + "StopFailbackRequest$recoveryInstanceID": "

The ID of the Recovery Instance we want to stop failback for.

", + "UpdateFailbackReplicationConfigurationRequest$recoveryInstanceID": "

The ID of the Recovery Instance.

" + } + }, + "RecoveryInstanceIDs": { + "base": null, + "refs": { + "DescribeRecoveryInstancesRequestFilters$recoveryInstanceIDs": "

An array of Recovery Instance IDs that should be returned. An empty array means all Recovery Instances.

" + } + }, + "RecoveryInstanceProperties": { + "base": "

Properties of the Recovery Instance machine.

", + "refs": { + "RecoveryInstance$recoveryInstanceProperties": "

Properties of the Recovery Instance machine.

" + } + }, + "RecoveryInstancesForTerminationRequest": { + "base": null, + "refs": { + "TerminateRecoveryInstancesRequest$recoveryInstanceIDs": "

The IDs of the Recovery Instances that should be terminated.

" + } + }, + "RecoverySnapshot": { + "base": "

A snapshot of a Source Server used during recovery.

", + "refs": { + "RecoverySnapshotsList$member": null + } + }, + "RecoverySnapshotID": { + "base": null, + "refs": { + "RecoverySnapshot$snapshotID": "

The ID of the Recovery Snapshot.

", + "StartRecoveryRequestSourceServer$recoverySnapshotID": "

The ID of a Recovery Snapshot we want to recover from. Omit this field to launch from the latest data by taking an on-demand snapshot.

" + } + }, + "RecoverySnapshotsList": { + "base": null, + "refs": { + "DescribeRecoverySnapshotsResponse$items": "

An array of Recovery Snapshots.

" + } + }, + "RecoverySnapshotsOrder": { + "base": null, + "refs": { + "DescribeRecoverySnapshotsRequest$order": "

The sorted ordering by which to return Recovery Snapshots.

" + } + }, + "ReplicationConfiguration": { + "base": null, + "refs": { + } + }, + "ReplicationConfigurationDataPlaneRouting": { + "base": null, + "refs": { + "CreateReplicationConfigurationTemplateRequest$dataPlaneRouting": "

The data plane routing mechanism that will be used for replication.

", + "ReplicationConfiguration$dataPlaneRouting": "

The data plane routing mechanism that will be used for replication.

", + "ReplicationConfigurationTemplate$dataPlaneRouting": "

The data plane routing mechanism that will be used for replication.

", + "UpdateReplicationConfigurationRequest$dataPlaneRouting": "

The data plane routing mechanism that will be used for replication.

", + "UpdateReplicationConfigurationTemplateRequest$dataPlaneRouting": "

The data plane routing mechanism that will be used for replication.

" + } + }, + "ReplicationConfigurationDefaultLargeStagingDiskType": { + "base": null, + "refs": { + "CreateReplicationConfigurationTemplateRequest$defaultLargeStagingDiskType": "

The Staging Disk EBS volume type to be used during replication.

", + "ReplicationConfiguration$defaultLargeStagingDiskType": "

The Staging Disk EBS volume type to be used during replication.

", + "ReplicationConfigurationTemplate$defaultLargeStagingDiskType": "

The Staging Disk EBS volume type to be used during replication.

", + "UpdateReplicationConfigurationRequest$defaultLargeStagingDiskType": "

The Staging Disk EBS volume type to be used during replication.

", + "UpdateReplicationConfigurationTemplateRequest$defaultLargeStagingDiskType": "

The Staging Disk EBS volume type to be used during replication.

" + } + }, + "ReplicationConfigurationEbsEncryption": { + "base": null, + "refs": { + "CreateReplicationConfigurationTemplateRequest$ebsEncryption": "

The type of EBS encryption to be used during replication.

", + "ReplicationConfiguration$ebsEncryption": "

The type of EBS encryption to be used during replication.

", + "ReplicationConfigurationTemplate$ebsEncryption": "

The type of EBS encryption to be used during replication.

", + "UpdateReplicationConfigurationRequest$ebsEncryption": "

The type of EBS encryption to be used during replication.

", + "UpdateReplicationConfigurationTemplateRequest$ebsEncryption": "

The type of EBS encryption to be used during replication.

" + } + }, + "ReplicationConfigurationReplicatedDisk": { + "base": "

The configuration of a disk of the Source Server to be replicated.

", + "refs": { + "ReplicationConfigurationReplicatedDisks$member": null + } + }, + "ReplicationConfigurationReplicatedDiskStagingDiskType": { + "base": null, + "refs": { + "ReplicationConfigurationReplicatedDisk$stagingDiskType": "

The Staging Disk EBS volume type to be used during replication.

" + } + }, + "ReplicationConfigurationReplicatedDisks": { + "base": null, + "refs": { + "ReplicationConfiguration$replicatedDisks": "

The configuration of the disks of the Source Server to be replicated.

", + "UpdateReplicationConfigurationRequest$replicatedDisks": "

The configuration of the disks of the Source Server to be replicated.

" + } + }, + "ReplicationConfigurationTemplate": { + "base": null, + "refs": { + "ReplicationConfigurationTemplates$member": null + } + }, + "ReplicationConfigurationTemplateID": { + "base": null, + "refs": { + "DeleteReplicationConfigurationTemplateRequest$replicationConfigurationTemplateID": "

The ID of the Replication Configuration Template to be deleted.

", + "ReplicationConfigurationTemplate$replicationConfigurationTemplateID": "

The Replication Configuration Template ID.

", + "ReplicationConfigurationTemplateIDs$member": null, + "UpdateReplicationConfigurationTemplateRequest$replicationConfigurationTemplateID": "

The Replication Configuration Template ID.

" + } + }, + "ReplicationConfigurationTemplateIDs": { + "base": null, + "refs": { + "DescribeReplicationConfigurationTemplatesRequest$replicationConfigurationTemplateIDs": "

The IDs of the Replication Configuration Templates to retrieve. An empty list means all Replication Configuration Templates.

" + } + }, + "ReplicationConfigurationTemplates": { + "base": null, + "refs": { + "DescribeReplicationConfigurationTemplatesResponse$items": "

An array of Replication Configuration Templates.

" + } + }, + "ReplicationServersSecurityGroupsIDs": { + "base": null, + "refs": { + "CreateReplicationConfigurationTemplateRequest$replicationServersSecurityGroupsIDs": "

The security group IDs that will be used by the replication server.

", + "ReplicationConfiguration$replicationServersSecurityGroupsIDs": "

The security group IDs that will be used by the replication server.

", + "ReplicationConfigurationTemplate$replicationServersSecurityGroupsIDs": "

The security group IDs that will be used by the replication server.

", + "UpdateReplicationConfigurationRequest$replicationServersSecurityGroupsIDs": "

The security group IDs that will be used by the replication server.

", + "UpdateReplicationConfigurationTemplateRequest$replicationServersSecurityGroupsIDs": "

The security group IDs that will be used by the replication server.

" + } + }, + "ResourceNotFoundException": { + "base": "

The resource for this operation was not found.

", + "refs": { + } + }, + "RetryDataReplicationRequest": { + "base": null, + "refs": { + } + }, + "SecurityGroupID": { + "base": null, + "refs": { + "ReplicationServersSecurityGroupsIDs$member": null + } + }, + "ServiceQuotaExceededException": { + "base": "

The request could not be completed because its exceeded the service quota.

", + "refs": { + } + }, + "SmallBoundedString": { + "base": null, + "refs": { + "LaunchConfiguration$name": "

The name of the launch configuration.

", + "ReplicationConfiguration$name": "

The name of the Replication Configuration.

", + "UpdateLaunchConfigurationRequest$name": "

The name of the launch configuration.

", + "UpdateReplicationConfigurationRequest$name": "

The name of the Replication Configuration.

" + } + }, + "SourceProperties": { + "base": "

Properties of the Source Server machine.

", + "refs": { + "SourceServer$sourceProperties": "

The source properties of the Source Server.

" + } + }, + "SourceServer": { + "base": null, + "refs": { + "SourceServersList$member": null + } + }, + "SourceServerID": { + "base": null, + "refs": { + "DeleteSourceServerRequest$sourceServerID": "

The ID of the Source Server to be deleted.

", + "DescribeRecoverySnapshotsRequest$sourceServerID": "

Filter Recovery Snapshots by Source Server ID.

", + "DescribeSourceServersRequestFiltersIDs$member": null, + "DisconnectSourceServerRequest$sourceServerID": "

The ID of the Source Server to disconnect.

", + "GetLaunchConfigurationRequest$sourceServerID": "

The ID of the Source Server that we want to retrieve a Launch Configuration for.

", + "GetReplicationConfigurationRequest$sourceServerID": "

The ID of the Source Serve for this Replication Configuration.r

", + "JobLogEventData$sourceServerID": "

The ID of a Source Server.

", + "LaunchConfiguration$sourceServerID": "

The ID of the Source Server for this launch configuration.

", + "ParticipatingServer$sourceServerID": "

The Source Server ID of a participating server.

", + "RecoveryInstance$sourceServerID": "

The Source Server ID that this Recovery Instance is associated with.

", + "RecoverySnapshot$sourceServerID": "

The ID of the Source Server that the snapshot was taken for.

", + "ReplicationConfiguration$sourceServerID": "

The ID of the Source Server for this Replication Configuration.

", + "RetryDataReplicationRequest$sourceServerID": "

The ID of the Source Server whose data replication should be retried.

", + "SourceServer$sourceServerID": "

The ID of the Source Server.

", + "SourceServerIDs$member": null, + "StartRecoveryRequestSourceServer$sourceServerID": "

The ID of the Source Server you want to recover.

", + "UpdateLaunchConfigurationRequest$sourceServerID": "

The ID of the Source Server that we want to retrieve a Launch Configuration for.

", + "UpdateReplicationConfigurationRequest$sourceServerID": "

The ID of the Source Server for this Replication Configuration.

" + } + }, + "SourceServerIDs": { + "base": null, + "refs": { + "DescribeRecoveryInstancesRequestFilters$sourceServerIDs": "

An array of Source Server IDs for which associated Recovery Instances should be returned.

" + } + }, + "SourceServersList": { + "base": null, + "refs": { + "DescribeSourceServersResponse$items": "

An array of Source Servers.

" + } + }, + "StartFailbackLaunchRequest": { + "base": null, + "refs": { + } + }, + "StartFailbackLaunchResponse": { + "base": null, + "refs": { + } + }, + "StartFailbackRequestRecoveryInstanceIDs": { + "base": null, + "refs": { + "StartFailbackLaunchRequest$recoveryInstanceIDs": "

The IDs of the Recovery Instance whose failback launch we want to request.

" + } + }, + "StartRecoveryRequest": { + "base": null, + "refs": { + } + }, + "StartRecoveryRequestSourceServer": { + "base": "

An object representing the Source Server to recover.

", + "refs": { + "StartRecoveryRequestSourceServers$member": null + } + }, + "StartRecoveryRequestSourceServers": { + "base": null, + "refs": { + "StartRecoveryRequest$sourceServers": "

The Source Servers that we want to start a Recovery Job for.

" + } + }, + "StartRecoveryResponse": { + "base": null, + "refs": { + } + }, + "StopFailbackRequest": { + "base": null, + "refs": { + } + }, + "StrictlyPositiveInteger": { + "base": null, + "refs": { + "DescribeJobLogItemsRequest$maxResults": "

Maximum number of Job log items to retrieve.

", + "DescribeJobsRequest$maxResults": "

Maximum number of Jobs to retrieve.

", + "DescribeRecoveryInstancesRequest$maxResults": "

Maximum number of Recovery Instances to retrieve.

", + "DescribeRecoverySnapshotsRequest$maxResults": "

Maximum number of Recovery Snapshots to retrieve.

", + "DescribeReplicationConfigurationTemplatesRequest$maxResults": "

Maximum number of Replication Configuration Templates to retrieve.

", + "DescribeSourceServersRequest$maxResults": "

Maximum number of Source Servers to retrieve.

", + "PITPolicyRule$interval": "

How often, in the chosen units, a snapshot should be taken.

", + "PITPolicyRule$retentionDuration": "

The duration to retain a snapshot for, in the chosen units.

" + } + }, + "SubnetID": { + "base": null, + "refs": { + "CreateReplicationConfigurationTemplateRequest$stagingAreaSubnetId": "

The subnet to be used by the replication staging area.

", + "ReplicationConfiguration$stagingAreaSubnetId": "

The subnet to be used by the replication staging area.

", + "ReplicationConfigurationTemplate$stagingAreaSubnetId": "

The subnet to be used by the replication staging area.

", + "UpdateReplicationConfigurationRequest$stagingAreaSubnetId": "

The subnet to be used by the replication staging area.

", + "UpdateReplicationConfigurationTemplateRequest$stagingAreaSubnetId": "

The subnet to be used by the replication staging area.

" + } + }, + "TagKey": { + "base": null, + "refs": { + "TagKeys$member": null, + "TagsMap$key": null + } + }, + "TagKeys": { + "base": null, + "refs": { + "UntagResourceRequest$tagKeys": "

Array of tags to be removed.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "TagsMap$value": null + } + }, + "TagsMap": { + "base": null, + "refs": { + "CreateReplicationConfigurationTemplateRequest$stagingAreaTags": "

A set of tags to be associated with all resources created in the replication staging area: EC2 replication server, EBS volumes, EBS snapshots, etc.

", + "CreateReplicationConfigurationTemplateRequest$tags": "

A set of tags to be associated with the Replication Configuration Template resource.

", + "Job$tags": "

A list of tags associated with the Job.

", + "ListTagsForResourceResponse$tags": "

The tags of the requested resource.

", + "RecoveryInstance$tags": "

An array of tags that are associated with the Recovery Instance.

", + "ReplicationConfiguration$stagingAreaTags": "

A set of tags to be associated with all resources created in the replication staging area: EC2 replication server, EBS volumes, EBS snapshots, etc.

", + "ReplicationConfigurationTemplate$stagingAreaTags": "

A set of tags to be associated with all resources created in the replication staging area: EC2 replication server, EBS volumes, EBS snapshots, etc.

", + "ReplicationConfigurationTemplate$tags": "

A set of tags to be associated with the Replication Configuration Template resource.

", + "SourceServer$tags": "

The tags associated with the Source Server.

", + "StartFailbackLaunchRequest$tags": "

The tags to be associated with the failback launch Job.

", + "StartRecoveryRequest$tags": "

The tags to be associated with the Recovery Job.

", + "TagResourceRequest$tags": "

Array of tags to be added or updated.

", + "UpdateReplicationConfigurationRequest$stagingAreaTags": "

A set of tags to be associated with all resources created in the replication staging area: EC2 replication server, EBS volumes, EBS snapshots, etc.

", + "UpdateReplicationConfigurationTemplateRequest$stagingAreaTags": "

A set of tags to be associated with all resources created in the replication staging area: EC2 replication server, EBS volumes, EBS snapshots, etc.

" + } + }, + "TargetInstanceTypeRightSizingMethod": { + "base": null, + "refs": { + "LaunchConfiguration$targetInstanceTypeRightSizingMethod": "

Whether Elastic Disaster Recovery should try to automatically choose the instance type that best matches the OS, CPU, and RAM of your Source Server.

", + "UpdateLaunchConfigurationRequest$targetInstanceTypeRightSizingMethod": "

Whether Elastic Disaster Recovery should try to automatically choose the instance type that best matches the OS, CPU, and RAM of your Source Server.

" + } + }, + "TerminateRecoveryInstancesRequest": { + "base": null, + "refs": { + } + }, + "TerminateRecoveryInstancesResponse": { + "base": null, + "refs": { + } + }, + "ThrottlingException": { + "base": "

The request was denied due to request throttling.

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

The account performing the request has not been initialized.

", + "refs": { + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UpdateFailbackReplicationConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateLaunchConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateReplicationConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateReplicationConfigurationTemplateRequest": { + "base": null, + "refs": { + } + }, + "ValidationException": { + "base": "

The input fails to satisfy the constraints specified by the AWS service.

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

Validate exception field.

", + "refs": { + "ValidationExceptionFieldList$member": null + } + }, + "ValidationExceptionFieldList": { + "base": null, + "refs": { + "ValidationException$fieldList": "

A list of fields that failed validation.

" + } + }, + "ValidationExceptionReason": { + "base": null, + "refs": { + "ValidationException$reason": "

Validation exception reason.

" + } + }, + "ebsSnapshot": { + "base": null, + "refs": { + "EbsSnapshotsList$member": null + } + } + } +} diff --git a/models/apis/drs/2020-02-26/examples-1.json b/models/apis/drs/2020-02-26/examples-1.json new file mode 100644 index 0000000000..0ea7e3b0bb --- /dev/null +++ b/models/apis/drs/2020-02-26/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/drs/2020-02-26/paginators-1.json b/models/apis/drs/2020-02-26/paginators-1.json new file mode 100644 index 0000000000..1b140e716c --- /dev/null +++ b/models/apis/drs/2020-02-26/paginators-1.json @@ -0,0 +1,40 @@ +{ + "pagination": { + "DescribeJobLogItems": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "DescribeJobs": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "DescribeRecoveryInstances": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "DescribeRecoverySnapshots": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "DescribeReplicationConfigurationTemplates": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "DescribeSourceServers": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + } + } +} diff --git a/models/apis/redshift-data/2019-12-20/api-2.json b/models/apis/redshift-data/2019-12-20/api-2.json index d5b24234f6..5b491e4601 100644 --- a/models/apis/redshift-data/2019-12-20/api-2.json +++ b/models/apis/redshift-data/2019-12-20/api-2.json @@ -38,7 +38,8 @@ "errors":[ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"DatabaseConnectionException"} ] }, "DescribeStatement":{ @@ -65,7 +66,8 @@ "output":{"shape":"DescribeTableResponse"}, "errors":[ {"shape":"ValidationException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"DatabaseConnectionException"} ] }, "ExecuteStatement":{ @@ -106,7 +108,8 @@ "output":{"shape":"ListDatabasesResponse"}, "errors":[ {"shape":"ValidationException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"DatabaseConnectionException"} ] }, "ListSchemas":{ @@ -119,7 +122,8 @@ "output":{"shape":"ListSchemasResponse"}, "errors":[ {"shape":"ValidationException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"DatabaseConnectionException"} ] }, "ListStatements":{ @@ -145,7 +149,8 @@ "output":{"shape":"ListTablesResponse"}, "errors":[ {"shape":"ValidationException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"DatabaseConnectionException"} ] } }, @@ -173,7 +178,6 @@ "BatchExecuteStatementInput":{ "type":"structure", "required":[ - "ClusterIdentifier", "Database", "Sqls" ], @@ -254,6 +258,15 @@ "type":"list", "member":{"shape":"ColumnMetadata"} }, + "DatabaseConnectionException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"String"} + }, + "exception":true, + "fault":true + }, "DatabaseList":{ "type":"list", "member":{"shape":"String"} @@ -291,10 +304,7 @@ }, "DescribeTableRequest":{ "type":"structure", - "required":[ - "ClusterIdentifier", - "Database" - ], + "required":["Database"], "members":{ "ClusterIdentifier":{"shape":"Location"}, "ConnectedDatabase":{"shape":"String"}, @@ -331,7 +341,6 @@ "ExecuteStatementInput":{ "type":"structure", "required":[ - "ClusterIdentifier", "Database", "Sql" ], @@ -403,10 +412,7 @@ }, "ListDatabasesRequest":{ "type":"structure", - "required":[ - "ClusterIdentifier", - "Database" - ], + "required":["Database"], "members":{ "ClusterIdentifier":{"shape":"Location"}, "Database":{"shape":"String"}, @@ -425,10 +431,7 @@ }, "ListSchemasRequest":{ "type":"structure", - "required":[ - "ClusterIdentifier", - "Database" - ], + "required":["Database"], "members":{ "ClusterIdentifier":{"shape":"Location"}, "ConnectedDatabase":{"shape":"String"}, @@ -472,10 +475,7 @@ }, "ListTablesRequest":{ "type":"structure", - "required":[ - "ClusterIdentifier", - "Database" - ], + "required":["Database"], "members":{ "ClusterIdentifier":{"shape":"Location"}, "ConnectedDatabase":{"shape":"String"}, diff --git a/models/apis/redshift-data/2019-12-20/docs-2.json b/models/apis/redshift-data/2019-12-20/docs-2.json index ac61c11891..6a76796048 100644 --- a/models/apis/redshift-data/2019-12-20/docs-2.json +++ b/models/apis/redshift-data/2019-12-20/docs-2.json @@ -2,16 +2,16 @@ "version": "2.0", "service": "

You can use the Amazon Redshift Data API to run queries on Amazon Redshift tables. You can run SQL statements, which are committed if the statement succeeds.

For more information about the Amazon Redshift Data API, see Using the Amazon Redshift Data API in the Amazon Redshift Cluster Management Guide.

", "operations": { - "BatchExecuteStatement": "

Runs one or more SQL statements, which can be data manipulation language (DML) or data definition language (DDL). Depending on the authorization method, use one of the following combinations of request parameters:

", + "BatchExecuteStatement": "

Runs one or more SQL statements, which can be data manipulation language (DML) or data definition language (DDL). Depending on the authorization method, use one of the following combinations of request parameters:

", "CancelStatement": "

Cancels a running query. To be canceled, a query must be running.

", "DescribeStatement": "

Describes the details about a specific instance when a query was run by the Amazon Redshift Data API. The information includes when the query started, when it finished, the query status, the number of rows returned, and the SQL statement.

", - "DescribeTable": "

Describes the detailed information about a table from metadata in the cluster. The information includes its columns. A token is returned to page through the column list. Depending on the authorization method, use one of the following combinations of request parameters:

", - "ExecuteStatement": "

Runs an SQL statement, which can be data manipulation language (DML) or data definition language (DDL). This statement must be a single SQL statement. Depending on the authorization method, use one of the following combinations of request parameters:

", + "DescribeTable": "

Describes the detailed information about a table from metadata in the cluster. The information includes its columns. A token is returned to page through the column list. Depending on the authorization method, use one of the following combinations of request parameters:

", + "ExecuteStatement": "

Runs an SQL statement, which can be data manipulation language (DML) or data definition language (DDL). This statement must be a single SQL statement. Depending on the authorization method, use one of the following combinations of request parameters:

", "GetStatementResult": "

Fetches the temporarily cached result of an SQL statement. A token is returned to page through the statement results.

", - "ListDatabases": "

List the databases in a cluster. A token is returned to page through the database list. Depending on the authorization method, use one of the following combinations of request parameters:

", - "ListSchemas": "

Lists the schemas in a database. A token is returned to page through the schema list. Depending on the authorization method, use one of the following combinations of request parameters:

", + "ListDatabases": "

List the databases in a cluster. A token is returned to page through the database list. Depending on the authorization method, use one of the following combinations of request parameters:

", + "ListSchemas": "

Lists the schemas in a database. A token is returned to page through the schema list. Depending on the authorization method, use one of the following combinations of request parameters:

", "ListStatements": "

List of SQL statements. By default, only finished statements are shown. A token is returned to page through the statement list.

", - "ListTables": "

List the tables in a database. If neither SchemaPattern nor TablePattern are specified, then all tables in the database are returned. A token is returned to page through the table list. Depending on the authorization method, use one of the following combinations of request parameters:

" + "ListTables": "

List the tables in a database. If neither SchemaPattern nor TablePattern are specified, then all tables in the database are returned. A token is returned to page through the table list. Depending on the authorization method, use one of the following combinations of request parameters:

" }, "shapes": { "ActiveStatementsExceededException": { @@ -45,11 +45,11 @@ "refs": { "BatchExecuteStatementInput$WithEvent": "

A value that indicates whether to send an event to the Amazon EventBridge event bus after the SQL statements run.

", "CancelStatementResponse$Status": "

A value that indicates whether the cancel statement succeeded (true).

", - "DescribeStatementResponse$HasResultSet": "

A value that indicates whether the statement has a result set. The result set can be empty.

", + "DescribeStatementResponse$HasResultSet": "

A value that indicates whether the statement has a result set. The result set can be empty. The value is true for an empty result set. The value is true if any substatement returns a result set.

", "ExecuteStatementInput$WithEvent": "

A value that indicates whether to send an event to the Amazon EventBridge event bus after the SQL statement runs.

", "ListStatementsRequest$RoleLevel": "

A value that filters which statements to return in the response. If true, all statements run by the caller's IAM role are returned. If false, only statements run by the caller's IAM role in the current IAM session are returned. The default is true.

", "StatementData$IsBatchStatement": "

A value that indicates whether the statement is a batch query request.

", - "SubStatementData$HasResultSet": "

A value that indicates whether the statement has a result set. The result set can be empty.

" + "SubStatementData$HasResultSet": "

A value that indicates whether the statement has a result set. The result set can be empty. The value is true for an empty result set.

" } }, "BoxedBoolean": { @@ -100,6 +100,11 @@ "GetStatementResultResponse$ColumnMetadata": "

The properties (metadata) of a column.

" } }, + "DatabaseConnectionException": { + "base": "

Connection to a database failed.

", + "refs": { + } + }, "DatabaseList": { "base": null, "refs": { @@ -226,14 +231,14 @@ "Location": { "base": null, "refs": { - "BatchExecuteStatementInput$ClusterIdentifier": "

The cluster identifier. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

", - "BatchExecuteStatementOutput$ClusterIdentifier": "

The cluster identifier.

", - "DescribeTableRequest$ClusterIdentifier": "

The cluster identifier. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

", - "ExecuteStatementInput$ClusterIdentifier": "

The cluster identifier. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

", - "ExecuteStatementOutput$ClusterIdentifier": "

The cluster identifier.

", - "ListDatabasesRequest$ClusterIdentifier": "

The cluster identifier. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

", - "ListSchemasRequest$ClusterIdentifier": "

The cluster identifier. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

", - "ListTablesRequest$ClusterIdentifier": "

The cluster identifier. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

" + "BatchExecuteStatementInput$ClusterIdentifier": "

The cluster identifier. This parameter is required when connecting to a cluster and authenticating using either Secrets Manager or temporary credentials.

", + "BatchExecuteStatementOutput$ClusterIdentifier": "

The cluster identifier. This parameter is not returned when connecting to a serverless endpoint.

", + "DescribeTableRequest$ClusterIdentifier": "

The cluster identifier. This parameter is required when connecting to a cluster and authenticating using either Secrets Manager or temporary credentials.

", + "ExecuteStatementInput$ClusterIdentifier": "

The cluster identifier. This parameter is required when connecting to a cluster and authenticating using either Secrets Manager or temporary credentials.

", + "ExecuteStatementOutput$ClusterIdentifier": "

The cluster identifier. This parameter is not returned when connecting to a serverless endpoint.

", + "ListDatabasesRequest$ClusterIdentifier": "

The cluster identifier. This parameter is required when connecting to a cluster and authenticating using either Secrets Manager or temporary credentials.

", + "ListSchemasRequest$ClusterIdentifier": "

The cluster identifier. This parameter is required when connecting to a cluster and authenticating using either Secrets Manager or temporary credentials.

", + "ListTablesRequest$ClusterIdentifier": "

The cluster identifier. This parameter is required when connecting to a cluster and authenticating using either Secrets Manager or temporary credentials.

" } }, "Long": { @@ -396,7 +401,7 @@ "BatchExecuteStatementException$Message": null, "BatchExecuteStatementException$StatementId": "

Statement identifier of the exception.

", "BatchExecuteStatementInput$Database": "

The name of the database. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

", - "BatchExecuteStatementInput$DbUser": "

The database user name. This parameter is required when authenticating using temporary credentials.

", + "BatchExecuteStatementInput$DbUser": "

The database user name. This parameter is required when connecting to a cluster and authenticating using temporary credentials.

", "BatchExecuteStatementOutput$Database": "

The name of the database.

", "BatchExecuteStatementOutput$DbUser": "

The database user name.

", "ColumnMetadata$columnDefault": "

The default value of the column.

", @@ -405,6 +410,7 @@ "ColumnMetadata$schemaName": "

The name of the schema that contains the table that includes the column.

", "ColumnMetadata$tableName": "

The name of the table that includes the column.

", "ColumnMetadata$typeName": "

The database-specific data type of the column.

", + "DatabaseConnectionException$Message": null, "DatabaseList$member": null, "DescribeStatementResponse$ClusterIdentifier": "

The cluster identifier.

", "DescribeStatementResponse$Database": "

The name of the database.

", @@ -412,7 +418,7 @@ "DescribeStatementResponse$Error": "

The error message from the cluster if the SQL statement encountered an error while running.

", "DescribeTableRequest$ConnectedDatabase": "

A database name. The connected database is specified when you connect with your authentication credentials.

", "DescribeTableRequest$Database": "

The name of the database that contains the tables to be described. If ConnectedDatabase is not specified, this is also the database to connect to with your authentication credentials.

", - "DescribeTableRequest$DbUser": "

The database user name. This parameter is required when authenticating using temporary credentials.

", + "DescribeTableRequest$DbUser": "

The database user name. This parameter is required when connecting to a cluster and authenticating using temporary credentials.

", "DescribeTableRequest$NextToken": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

", "DescribeTableRequest$Schema": "

The schema that contains the table. If no schema is specified, then matching tables for all schemas are returned.

", "DescribeTableRequest$Table": "

The table name. If no table is specified, then all tables for all matching schemas are returned. If no table and no schema is specified, then all tables for all schemas in the database are returned

", @@ -421,7 +427,7 @@ "ExecuteStatementException$Message": "

The exception message.

", "ExecuteStatementException$StatementId": "

Statement identifier of the exception.

", "ExecuteStatementInput$Database": "

The name of the database. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

", - "ExecuteStatementInput$DbUser": "

The database user name. This parameter is required when authenticating using temporary credentials.

", + "ExecuteStatementInput$DbUser": "

The database user name. This parameter is required when connecting to a cluster and authenticating using temporary credentials.

", "ExecuteStatementOutput$Database": "

The name of the database.

", "ExecuteStatementOutput$DbUser": "

The database user name.

", "Field$stringValue": "

A value of the string data type.

", @@ -429,12 +435,12 @@ "GetStatementResultResponse$NextToken": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

", "InternalServerException$Message": "

The exception message.

", "ListDatabasesRequest$Database": "

The name of the database. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

", - "ListDatabasesRequest$DbUser": "

The database user name. This parameter is required when authenticating using temporary credentials.

", + "ListDatabasesRequest$DbUser": "

The database user name. This parameter is required when connecting to a cluster and authenticating using temporary credentials.

", "ListDatabasesRequest$NextToken": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

", "ListDatabasesResponse$NextToken": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

", "ListSchemasRequest$ConnectedDatabase": "

A database name. The connected database is specified when you connect with your authentication credentials.

", "ListSchemasRequest$Database": "

The name of the database that contains the schemas to list. If ConnectedDatabase is not specified, this is also the database to connect to with your authentication credentials.

", - "ListSchemasRequest$DbUser": "

The database user name. This parameter is required when authenticating using temporary credentials.

", + "ListSchemasRequest$DbUser": "

The database user name. This parameter is required when connecting to a cluster and authenticating using temporary credentials.

", "ListSchemasRequest$NextToken": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

", "ListSchemasRequest$SchemaPattern": "

A pattern to filter results by schema name. Within a schema pattern, \"%\" means match any substring of 0 or more characters and \"_\" means match any one character. Only schema name entries matching the search pattern are returned.

", "ListSchemasResponse$NextToken": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

", @@ -442,7 +448,7 @@ "ListStatementsResponse$NextToken": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

", "ListTablesRequest$ConnectedDatabase": "

A database name. The connected database is specified when you connect with your authentication credentials.

", "ListTablesRequest$Database": "

The name of the database that contains the tables to list. If ConnectedDatabase is not specified, this is also the database to connect to with your authentication credentials.

", - "ListTablesRequest$DbUser": "

The database user name. This parameter is required when authenticating using temporary credentials.

", + "ListTablesRequest$DbUser": "

The database user name. This parameter is required when connecting to a cluster and authenticating using temporary credentials.

", "ListTablesRequest$NextToken": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

", "ListTablesRequest$SchemaPattern": "

A pattern to filter results by schema name. Within a schema pattern, \"%\" means match any substring of 0 or more characters and \"_\" means match any one character. Only schema name entries matching the search pattern are returned. If SchemaPattern is not specified, then all tables that match TablePattern are returned. If neither SchemaPattern or TablePattern are specified, then all tables are returned.

", "ListTablesRequest$TablePattern": "

A pattern to filter results by table name. Within a table pattern, \"%\" means match any substring of 0 or more characters and \"_\" means match any one character. Only table name entries matching the search pattern are returned. If TablePattern is not specified, then all tables that match SchemaPatternare returned. If neither SchemaPattern or TablePattern are specified, then all tables are returned.

", diff --git a/models/apis/sns/2010-03-31/api-2.json b/models/apis/sns/2010-03-31/api-2.json index 0a65469570..07d091f9c7 100644 --- a/models/apis/sns/2010-03-31/api-2.json +++ b/models/apis/sns/2010-03-31/api-2.json @@ -521,6 +521,39 @@ {"shape":"InvalidSecurityException"} ] }, + "PublishBatch":{ + "name":"PublishBatch", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PublishBatchInput"}, + "output":{ + "shape":"PublishBatchResponse", + "resultWrapper":"PublishBatchResult" + }, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InternalErrorException"}, + {"shape":"NotFoundException"}, + {"shape":"EndpointDisabledException"}, + {"shape":"PlatformApplicationDisabledException"}, + {"shape":"AuthorizationErrorException"}, + {"shape":"BatchEntryIdsNotDistinctException"}, + {"shape":"BatchRequestTooLongException"}, + {"shape":"EmptyBatchRequestException"}, + {"shape":"InvalidBatchEntryIdException"}, + {"shape":"TooManyEntriesInBatchRequestException"}, + {"shape":"KMSDisabledException"}, + {"shape":"KMSInvalidStateException"}, + {"shape":"KMSNotFoundException"}, + {"shape":"KMSOptInRequired"}, + {"shape":"KMSThrottlingException"}, + {"shape":"KMSAccessDeniedException"}, + {"shape":"InvalidSecurityException"} + ] + }, "RemovePermission":{ "name":"RemovePermission", "http":{ @@ -747,6 +780,48 @@ }, "exception":true }, + "BatchEntryIdsNotDistinctException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "error":{ + "code":"BatchEntryIdsNotDistinct", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "BatchRequestTooLongException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "error":{ + "code":"BatchRequestTooLong", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "BatchResultErrorEntry":{ + "type":"structure", + "required":[ + "Id", + "Code", + "SenderFault" + ], + "members":{ + "Id":{"shape":"String"}, + "Code":{"shape":"String"}, + "Message":{"shape":"String"}, + "SenderFault":{"shape":"boolean"} + } + }, + "BatchResultErrorEntryList":{ + "type":"list", + "member":{"shape":"BatchResultErrorEntry"} + }, "Binary":{"type":"blob"}, "CheckIfPhoneNumberIsOptedOutInput":{ "type":"structure", @@ -894,6 +969,18 @@ "TopicArn":{"shape":"topicARN"} } }, + "EmptyBatchRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "error":{ + "code":"EmptyBatchRequest", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "Endpoint":{ "type":"structure", "members":{ @@ -1013,6 +1100,18 @@ "exception":true, "fault":true }, + "InvalidBatchEntryIdException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "error":{ + "code":"InvalidBatchEntryId", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidParameterException":{ "type":"structure", "members":{ @@ -1413,6 +1512,56 @@ }, "exception":true }, + "PublishBatchInput":{ + "type":"structure", + "required":[ + "TopicArn", + "PublishBatchRequestEntries" + ], + "members":{ + "TopicArn":{"shape":"topicARN"}, + "PublishBatchRequestEntries":{"shape":"PublishBatchRequestEntryList"} + } + }, + "PublishBatchRequestEntry":{ + "type":"structure", + "required":[ + "Id", + "Message" + ], + "members":{ + "Id":{"shape":"String"}, + "Message":{"shape":"message"}, + "Subject":{"shape":"subject"}, + "MessageStructure":{"shape":"messageStructure"}, + "MessageAttributes":{"shape":"MessageAttributeMap"}, + "MessageDeduplicationId":{"shape":"String"}, + "MessageGroupId":{"shape":"String"} + } + }, + "PublishBatchRequestEntryList":{ + "type":"list", + "member":{"shape":"PublishBatchRequestEntry"} + }, + "PublishBatchResponse":{ + "type":"structure", + "members":{ + "Successful":{"shape":"PublishBatchResultEntryList"}, + "Failed":{"shape":"BatchResultErrorEntryList"} + } + }, + "PublishBatchResultEntry":{ + "type":"structure", + "members":{ + "Id":{"shape":"String"}, + "MessageId":{"shape":"messageId"}, + "SequenceNumber":{"shape":"String"} + } + }, + "PublishBatchResultEntryList":{ + "type":"list", + "member":{"shape":"PublishBatchResultEntry"} + }, "PublishInput":{ "type":"structure", "required":["Message"], @@ -1688,6 +1837,18 @@ "exception":true }, "Timestamp":{"type":"timestamp"}, + "TooManyEntriesInBatchRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "error":{ + "code":"TooManyEntriesInBatchRequest", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "Topic":{ "type":"structure", "members":{ diff --git a/models/apis/sns/2010-03-31/docs-2.json b/models/apis/sns/2010-03-31/docs-2.json index e7735a12f1..9ab8446ceb 100644 --- a/models/apis/sns/2010-03-31/docs-2.json +++ b/models/apis/sns/2010-03-31/docs-2.json @@ -2,45 +2,46 @@ "version": "2.0", "service": "Amazon Simple Notification Service

Amazon Simple Notification Service (Amazon SNS) is a web service that enables you to build distributed web-enabled applications. Applications can use Amazon SNS to easily push real-time notification messages to interested subscribers over multiple delivery protocols. For more information about this product see the Amazon SNS product page. For detailed information about Amazon SNS features and their associated API calls, see the Amazon SNS Developer Guide.

For information on the permissions you need to use this API, see Identity and access management in Amazon SNS in the Amazon SNS Developer Guide.

We also provide SDKs that enable you to access Amazon SNS from your preferred programming language. The SDKs contain functionality that automatically takes care of tasks such as: cryptographically signing your service requests, retrying requests, and handling error responses. For a list of available SDKs, go to Tools for Amazon Web Services.

", "operations": { - "AddPermission": "

Adds a statement to a topic's access control policy, granting access for the specified 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.

", + "AddPermission": "

Adds a statement to a topic's access control policy, granting access for the specified Amazon Web Services 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 Amazon Web Services 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 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.

You can use the returned PlatformApplicationArn as an attribute for the CreatePlatformEndpoint action.

", + "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.

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.

", - "CreateSMSSandboxPhoneNumber": "

Adds a destination phone number to an account in the SMS sandbox and sends a one-time password (OTP) to that phone number.

When you start using Amazon SNS to send SMS messages, your account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.

", + "CreateSMSSandboxPhoneNumber": "

Adds a destination phone number to an Amazon Web Services account in the SMS sandbox and sends a one-time password (OTP) to that phone number.

When you start using Amazon SNS to send SMS messages, your Amazon Web Services account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your Amazon Web Services account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.

", "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 Creating an Amazon SNS topic in the Amazon SNS Developer Guide. 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 GCM (Firebase Cloud Messaging). For more information, see Using Amazon SNS Mobile Push Notifications.

", - "DeleteSMSSandboxPhoneNumber": "

Deletes an account's verified or pending phone number from the SMS sandbox.

When you start using Amazon SNS to send SMS messages, your account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.

", + "DeleteSMSSandboxPhoneNumber": "

Deletes an Amazon Web Services account's verified or pending phone number from the SMS sandbox.

When you start using Amazon SNS to send SMS messages, your Amazon Web Services account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your Amazon Web Services account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.

", "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 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.

", - "GetSMSSandboxAccountStatus": "

Retrieves the SMS sandbox status for the calling account in the target Region.

When you start using Amazon SNS to send SMS messages, your account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.

", + "GetSMSAttributes": "

Returns the settings for sending SMS messages from your Amazon Web Services account.

These settings are set with the SetSMSAttributes action.

", + "GetSMSSandboxAccountStatus": "

Retrieves the SMS sandbox status for the calling Amazon Web Services account in the target Amazon Web Services Region.

When you start using Amazon SNS to send SMS messages, your Amazon Web Services account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your Amazon Web Services account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.

", "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 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).

", - "ListOriginationNumbers": "

Lists the calling account's dedicated origination numbers and their metadata. For more information about origination numbers, see Origination numbers in the Amazon SNS Developer Guide.

", + "ListOriginationNumbers": "

Lists the calling Amazon Web Services account's dedicated origination numbers and their metadata. For more information about origination numbers, see Origination numbers in the Amazon SNS Developer Guide.

", "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 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).

", - "ListSMSSandboxPhoneNumbers": "

Lists the calling account's current verified and pending destination phone numbers in the SMS sandbox.

When you start using Amazon SNS to send SMS messages, your account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.

", + "ListSMSSandboxPhoneNumbers": "

Lists the calling Amazon Web Services account's current verified and pending destination phone numbers in the SMS sandbox.

When you start using Amazon SNS to send SMS messages, your Amazon Web Services account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your Amazon Web Services account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.

", "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, 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 Region.

", + "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 is saved and Amazon SNS immediately deliverers it to subscribers.

To use the Publish action for publishing 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 Amazon Web Services Region.

", + "PublishBatch": "

Publishes up to ten messages to the specified topic. This is a batch version of Publish. For FIFO topics, multiple messages within a single batch are published in the order they are sent, and messages are deduplicated within the batch and across batches for 5 minutes.

The result of publishing each message is reported individually in the response. Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

The maximum allowed individual message size and the maximum total payload size (the sum of the individual lengths of all of the batched messages) are both 256 KB (262,144 bytes).

Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

&AttributeName.1=first

&AttributeName.2=second

If you send a batch message to a topic, Amazon SNS publishes the batch message to each endpoint that is subscribed to the topic. The format of the batch message depends on the notification protocol for each subscribed endpoint.

When a messageId is returned, the batch message is saved and Amazon SNS immediately delivers the message to subscribers.

", "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 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 Publishing to a mobile phone in the Amazon SNS Developer Guide.

To use this operation, you must grant the Amazon SNS service principal (sns.amazonaws.com) permission to perform the s3:ListBucket action.

", "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": "

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 account, the endpoint owner must run 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:

", + "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 Amazon Web Services account, the endpoint owner must run 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:

", "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 Amazon Web Services 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.

", - "VerifySMSSandboxPhoneNumber": "

Verifies a destination phone number with a one-time password (OTP) for the calling account.

When you start using Amazon SNS to send SMS messages, your account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.

" + "VerifySMSSandboxPhoneNumber": "

Verifies a destination phone number with a one-time password (OTP) for the calling Amazon Web Services account.

When you start using Amazon SNS to send SMS messages, your Amazon Web Services account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your Amazon Web Services account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.

" }, "shapes": { "ActionsList": { @@ -67,6 +68,28 @@ "refs": { } }, + "BatchEntryIdsNotDistinctException": { + "base": "

Two or more batch entries in the request have the same Id.

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

The length of all the batch messages put together is more than the limit.

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

Gives a detailed description of failed messages in the batch.

", + "refs": { + "BatchResultErrorEntryList$member": null + } + }, + "BatchResultErrorEntryList": { + "base": null, + "refs": { + "PublishBatchResponse$Failed": "

A list of failed PublishBatch responses.

" + } + }, "Binary": { "base": null, "refs": { @@ -141,7 +164,7 @@ "DelegatesList": { "base": null, "refs": { - "AddPermissionInput$AWSAccountId": "

The account IDs of the users (principals) who will be given access to the specified actions. The users must have account, but do not need to be signed up for this service.

" + "AddPermissionInput$AWSAccountId": "

The Amazon Web Services account IDs of the users (principals) who will be given access to the specified actions. The users must have Amazon Web Services account, but do not need to be signed up for this service.

" } }, "DeleteEndpointInput": { @@ -169,8 +192,13 @@ "refs": { } }, + "EmptyBatchRequestException": { + "base": "

The batch request doesn't contain any entries.

", + "refs": { + } + }, "Endpoint": { - "base": "

Endpoint for mobile app and device.

", + "base": "

The endpoint for mobile app and device.

", "refs": { "ListOfEndpoints$member": null } @@ -181,7 +209,7 @@ } }, "FilterPolicyLimitExceededException": { - "base": "

Indicates that the number of filter polices in your account exceeds the limit. To add more filter polices, submit an SNS Limit Increase case in the Amazon Web Services Support Center.

", + "base": "

Indicates that the number of filter polices in your Amazon Web Services account exceeds the limit. To add more filter polices, submit an Amazon SNS Limit Increase case in the Amazon Web Services Support Center.

", "refs": { } }, @@ -250,6 +278,11 @@ "refs": { } }, + "InvalidBatchEntryIdException": { + "base": "

The Id of a batch entry in a batch request doesn't abide by the specification.

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

Indicates that a request parameter does not comply with the associated constraints.

", "refs": { @@ -422,12 +455,12 @@ "CreatePlatformEndpointInput$Attributes": "

For a list of attributes, see SetEndpointAttributes.

", "Endpoint$Attributes": "

Attributes for endpoint.

", "GetEndpointAttributesResponse$Attributes": "

Attributes include the following:

", - "GetPlatformApplicationAttributesResponse$Attributes": "

Attributes include the following:

", + "GetPlatformApplicationAttributesResponse$Attributes": "

Attributes include the following:

", "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:

", - "SetPlatformApplicationAttributesInput$Attributes": "

A map of the platform application attributes. Attributes in this map include the following:

", - "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:

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 principal 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.

" + "SetPlatformApplicationAttributesInput$Attributes": "

A map of the platform application attributes. Attributes in this map include the following:

The following attributes only apply to APNs token-based authentication:

", + "SetSMSAttributesInput$attributes": "

The default settings for sending SMS messages from your Amazon Web Services 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:

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 Amazon Web Services account:

To receive the report, the bucket must have a policy that allows the Amazon SNS service principal 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.

" } }, "MaxItems": { @@ -445,6 +478,7 @@ "MessageAttributeMap": { "base": null, "refs": { + "PublishBatchRequestEntry$MessageAttributes": "

Each message attribute consists of a Name, Type, and Value. For more information, see Amazon SNS message attributes in the Amazon SNS Developer Guide.

", "PublishInput$MessageAttributes": "

Message attributes for Publish action.

" } }, @@ -488,7 +522,7 @@ } }, "OptedOutException": { - "base": "

Indicates that the specified phone number opted out of receiving SMS messages from your account. You can't send SMS messages to phone numbers that opt out.

", + "base": "

Indicates that the specified phone number opted out of receiving SMS messages from your Amazon Web Services account. You can't send SMS messages to phone numbers that opt out.

", "refs": { } }, @@ -538,6 +572,40 @@ "refs": { } }, + "PublishBatchInput": { + "base": null, + "refs": { + } + }, + "PublishBatchRequestEntry": { + "base": "

Contains the details of a single Amazon SNS message along with an Id that identifies a message within the batch.

", + "refs": { + "PublishBatchRequestEntryList$member": null + } + }, + "PublishBatchRequestEntryList": { + "base": null, + "refs": { + "PublishBatchInput$PublishBatchRequestEntries": "

A list of PublishBatch request entries to be sent to the SNS topic.

" + } + }, + "PublishBatchResponse": { + "base": null, + "refs": { + } + }, + "PublishBatchResultEntry": { + "base": "

Encloses data related to a successful message in a batch request for topic.

", + "refs": { + "PublishBatchResultEntryList$member": null + } + }, + "PublishBatchResultEntryList": { + "base": null, + "refs": { + "PublishBatchResponse$Successful": "

A list of successful PublishBatch responses.

" + } + }, "PublishInput": { "base": "

Input for Publish action.

", "refs": { @@ -565,7 +633,7 @@ } }, "SMSSandboxPhoneNumber": { - "base": "

A verified or pending destination phone number in the SMS sandbox.

When you start using Amazon SNS to send SMS messages, your account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.

", + "base": "

A verified or pending destination phone number in the SMS sandbox.

When you start using Amazon SNS to send SMS messages, your Amazon Web Services account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your Amazon Web Services account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.

", "refs": { "SMSSandboxPhoneNumberList$member": null } @@ -620,6 +688,9 @@ "String": { "base": null, "refs": { + "BatchResultErrorEntry$Id": "

The Id of an entry in a batch request

", + "BatchResultErrorEntry$Code": "

An error code representing why the action failed on this entry.

", + "BatchResultErrorEntry$Message": "

A message explaining why the action failed on this entry.

", "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 GCM (Firebase Cloud Messaging).

", @@ -629,7 +700,7 @@ "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.

", - "Endpoint$EndpointArn": "

EndpointArn for mobile app and device.

", + "Endpoint$EndpointArn": "

The EndpointArn for mobile app and device.

", "GetEndpointAttributesInput$EndpointArn": "

EndpointArn for GetEndpointAttributes input.

", "GetPlatformApplicationAttributesInput$PlatformApplicationArn": "

PlatformApplicationArn for GetPlatformApplicationAttributesInput.

", "ListEndpointsByPlatformApplicationInput$PlatformApplicationArn": "

PlatformApplicationArn for ListEndpointsByPlatformApplicationInput action.

", @@ -646,10 +717,15 @@ "PhoneNumberInformation$PhoneNumber": "

The phone number.

", "PhoneNumberInformation$Status": "

The status of the phone number.

", "PlatformApplication$PlatformApplicationArn": "

PlatformApplicationArn for platform application object.

", + "PublishBatchRequestEntry$Id": "

An identifier for the message in this batch.

The Ids of a batch request must be unique within a request.

This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, hyphens(-), and underscores (_).

", + "PublishBatchRequestEntry$MessageDeduplicationId": "

This parameter applies only to FIFO (first-in-first-out) topics.

The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a message with a particular MessageDeduplicationId is sent successfully, subsequent messages with the same MessageDeduplicationId are accepted successfully but aren't delivered.

The MessageDeduplicationId is available to the consumer of the message (this can be useful for troubleshooting delivery issues).

If a message is sent successfully but the acknowledgement is lost and the message is resent with the same MessageDeduplicationId after the deduplication interval, Amazon SNS can't detect duplicate messages.

Amazon SNS continues to keep track of the message deduplication ID even after the message is received and deleted.

The length of MessageDeduplicationId is 128 characters.

MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

", + "PublishBatchRequestEntry$MessageGroupId": "

This parameter applies only to FIFO (first-in-first-out) topics.

The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner (however, messages in different message groups might be processed out of order). To interleave multiple ordered streams within a single topic, use MessageGroupId values (for example, session data for multiple users). In this scenario, multiple consumers can process the topic, but the session data of each user is processed in a FIFO fashion.

You must associate a non-empty MessageGroupId with a message. If you don't provide a MessageGroupId, the action fails.

The length of MessageGroupId is 128 characters.

MessageGroupId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

MessageGroupId is required for FIFO topics. You can't use it for standard topics.

", + "PublishBatchResultEntry$Id": "

The Id of an entry in a batch request.

", + "PublishBatchResultEntry$SequenceNumber": "

This parameter applies only to FIFO (first-in-first-out) topics.

The large, non-consecutive number that Amazon SNS assigns to each message.

The length of SequenceNumber is 128 bits. SequenceNumber continues to increase for a particular MessageGroupId.

", "PublishInput$TargetArn": "

If you don't specify a value for the TargetArn parameter, you must specify a value for the PhoneNumber or TopicArn parameters.

", "PublishInput$PhoneNumber": "

The phone number to which you want to deliver an SMS message. Use E.164 format.

If you don't specify a value for the PhoneNumber parameter, you must specify a value for the TargetArn or TopicArn parameters.

", - "PublishInput$MessageDeduplicationId": "

This parameter applies only to FIFO (first-in-first-out) topics. The MessageDeduplicationId can contain up to 128 alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

Every message must have a unique MessageDeduplicationId, which is a token used for deduplication of sent messages. If a message with a particular MessageDeduplicationId is sent successfully, any message sent with the same MessageDeduplicationId during the 5-minute deduplication interval is treated as a duplicate.

If the topic has ContentBasedDeduplication set, the system generates a MessageDeduplicationId based on the contents of the message. Your MessageDeduplicationId overrides the generated one.

", - "PublishInput$MessageGroupId": "

This parameter applies only to FIFO (first-in-first-out) topics. The MessageGroupId can contain up to 128 alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

The MessageGroupId is a tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner (however, messages in different message groups might be processed out of order). Every message must include a MessageGroupId.

", + "PublishInput$MessageDeduplicationId": "

This parameter applies only to FIFO (first-in-first-out) topics. The MessageDeduplicationId can contain up to 128 alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

Every message must have a unique MessageDeduplicationId, which is a token used for deduplication of sent messages. If a message with a particular MessageDeduplicationId is sent successfully, any message sent with the same MessageDeduplicationId during the 5-minute deduplication interval is treated as a duplicate.

If the topic has ContentBasedDeduplication set, the system generates a MessageDeduplicationId based on the contents of the message. Your MessageDeduplicationId overrides the generated one.

", + "PublishInput$MessageGroupId": "

This parameter applies only to FIFO (first-in-first-out) topics. The MessageGroupId can contain up to 128 alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

The MessageGroupId is a tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner (however, messages in different message groups might be processed out of order). Every message must include a MessageGroupId.

", "PublishResponse$SequenceNumber": "

This response element applies only to FIFO (first-in-first-out) topics.

The sequence number is a large, non-consecutive number that Amazon SNS assigns to each message. The length of SequenceNumber is 128 bits. SequenceNumber continues to increase for each MessageGroupId.

", "SetEndpointAttributesInput$EndpointArn": "

EndpointArn used for SetEndpointAttributes action.

", "SetPlatformApplicationAttributesInput$PlatformApplicationArn": "

PlatformApplicationArn for SetPlatformApplicationAttributes action.

" @@ -674,7 +750,7 @@ "SubscriptionAttributesMap": { "base": null, "refs": { - "GetSubscriptionAttributesResponse$Attributes": "

A map of the subscription's attributes. Attributes in this map include the following:

The following attribute applies only to Amazon Kinesis Data Firehose delivery stream subscriptions:

", + "GetSubscriptionAttributesResponse$Attributes": "

A map of the subscription's attributes. Attributes in this map include the following:

The following attribute applies only to Amazon Kinesis Data Firehose delivery stream subscriptions:

", "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 Subscribe action uses:

The following attribute applies only to Amazon Kinesis Data Firehose delivery stream subscriptions:

" } }, @@ -744,7 +820,7 @@ } }, "ThrottledException": { - "base": "

Indicates that the rate at which requests have been submitted for this action exceeds the limit for your account.

", + "base": "

Indicates that the rate at which requests have been submitted for this action exceeds the limit for your Amazon Web Services account.

", "refs": { } }, @@ -754,6 +830,11 @@ "PhoneNumberInformation$CreatedAt": "

The date and time when the phone number was created.

" } }, + "TooManyEntriesInBatchRequestException": { + "base": "

The batch request contains more entries than permissible.

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

A wrapper type for the topic's Amazon Resource Name (ARN). To retrieve a topic's attributes, use GetTopicAttributes.

", "refs": { @@ -764,7 +845,7 @@ "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:

The following attribute applies only to server-side encryption:

The following attributes apply only to FIFO topics:

", - "GetTopicAttributesResponse$Attributes": "

A map of the topic's attributes. Attributes in this map include the following:

The following attribute applies only to server-side-encryption:

The following attributes apply only to FIFO topics:

" + "GetTopicAttributesResponse$Attributes": "

A map of the topic's attributes. Attributes in this map include the following:

The following attribute applies only to server-side-encryption:

The following attributes apply only to FIFO topics:

" } }, "TopicLimitExceededException": { @@ -857,8 +938,9 @@ "boolean": { "base": null, "refs": { + "BatchResultErrorEntry$SenderFault": "

Specifies whether the error happened due to the caller of the batch API action.

", "CheckIfPhoneNumberIsOptedOutResponse$isOptedOut": "

Indicates whether the phone number is opted out:

", - "GetSMSSandboxAccountStatusResult$IsInSandbox": "

Indicates whether the calling account is in the SMS sandbox.

", + "GetSMSSandboxAccountStatusResult$IsInSandbox": "

Indicates whether the calling Amazon Web Services account is in the SMS sandbox.

", "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.

" } }, @@ -885,18 +967,21 @@ "message": { "base": null, "refs": { + "PublishBatchRequestEntry$Message": "

The body of the message.

", "PublishInput$Message": "

The message you want to send.

If you are publishing to a topic and you want to send the same message to all transport protocols, include the text of the message as a String value. If you want to send different messages for each transport protocol, set the value of the MessageStructure parameter to json and use a JSON object for the Message parameter.

Constraints:

JSON-specific constraints:

" } }, "messageId": { "base": null, "refs": { + "PublishBatchResultEntry$MessageId": "

An identifier for the message.

", "PublishResponse$MessageId": "

Unique identifier assigned to the published message.

Length Constraint: Maximum 100 characters

" } }, "messageStructure": { "base": null, "refs": { + "PublishBatchRequestEntry$MessageStructure": "

Set MessageStructure to json if you want to send a different message for each protocol. For example, using one publish action, you can send a short message to your SMS subscribers and a longer message to your email subscribers. If you set MessageStructure to json, the value of the Message parameter must:

You can define other top-level keys that define the message you want to send to a specific transport protocol (e.g. http).

", "PublishInput$MessageStructure": "

Set MessageStructure to json if you want to send a different message for each protocol. For example, using one publish action, you can send a short message to your SMS subscribers and a longer message to your email subscribers. If you set MessageStructure to json, the value of the Message parameter must:

You can define other top-level keys that define the message you want to send to a specific transport protocol (e.g., \"http\").

Valid value: json

" } }, @@ -925,12 +1010,16 @@ "base": null, "refs": { "AuthorizationErrorException$message": null, + "BatchEntryIdsNotDistinctException$message": null, + "BatchRequestTooLongException$message": null, "ConcurrentAccessException$message": null, + "EmptyBatchRequestException$message": null, "EndpointDisabledException$message": "

Message for endpoint disabled.

", "FilterPolicyLimitExceededException$message": null, "InternalErrorException$message": null, + "InvalidBatchEntryIdException$message": null, "InvalidParameterException$message": null, - "InvalidParameterValueException$message": "

The parameter value is invalid.

", + "InvalidParameterValueException$message": "

The parameter of an entry in a request doesn't abide by the specification.

", "InvalidSecurityException$message": null, "KMSAccessDeniedException$message": null, "KMSDisabledException$message": null, @@ -950,6 +1039,7 @@ "TagLimitExceededException$message": null, "TagPolicyException$message": null, "ThrottledException$message": "

Throttled request.

", + "TooManyEntriesInBatchRequestException$message": null, "TopicLimitExceededException$message": null, "UserErrorException$message": null, "ValidationException$Message": null, @@ -960,6 +1050,7 @@ "subject": { "base": null, "refs": { + "PublishBatchRequestEntry$Subject": "

The subject of the batch message.

", "PublishInput$Subject": "

Optional parameter to be used as the \"Subject\" line when the message is delivered to email endpoints. This field will also be included, if present, in the standard JSON messages delivered to other endpoints.

Constraints: Subjects must be ASCII text that begins with a letter, number, or punctuation mark; must not include line breaks or control characters; and must be less than 100 characters long.

" } }, @@ -989,6 +1080,7 @@ "DeleteTopicInput$TopicArn": "

The ARN of the topic you want to delete.

", "GetTopicAttributesInput$TopicArn": "

The ARN of the topic whose properties you want to get.

", "ListSubscriptionsByTopicInput$TopicArn": "

The ARN of the topic for which you wish to find subscriptions.

", + "PublishBatchInput$TopicArn": "

The Amazon resource name (ARN) of the topic you want to batch publish to.

", "PublishInput$TopicArn": "

The topic you want to publish to.

If you don't specify a value for the TopicArn parameter, you must specify a value for the PhoneNumber or TargetArn parameters.

", "RemovePermissionInput$TopicArn": "

The ARN of the topic whose access control policy you wish to modify.

", "SetTopicAttributesInput$TopicArn": "

The ARN of the topic to modify.

", diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 9d0c0a986c..a8dad5d0a4 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -969,6 +969,31 @@ "us-west-2" : { } } }, + "appconfigdata" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-northeast-3" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "appflow" : { "endpoints" : { "af-south-1" : { }, @@ -6489,6 +6514,13 @@ "deprecated" : true, "hostname" : "kms-fips.ap-southeast-2.amazonaws.com" }, + "ap-southeast-3-fips" : { + "credentialScope" : { + "region" : "ap-southeast-3" + }, + "deprecated" : true, + "hostname" : "kms-fips.ap-southeast-3.amazonaws.com" + }, "ca-central-1" : { "variants" : [ { "hostname" : "kms-fips.ca-central-1.amazonaws.com", @@ -12329,6 +12361,12 @@ "cn-northwest-1" : { } } }, + "appconfigdata" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, "application-autoscaling" : { "defaults" : { "protocols" : [ "http", "https" ] @@ -13499,6 +13537,12 @@ "us-gov-west-1" : { } } }, + "appconfigdata" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, "application-autoscaling" : { "defaults" : { "protocols" : [ "http", "https" ] diff --git a/service/amplifybackend/amplifybackendiface/interface.go b/service/amplifybackend/amplifybackendiface/interface.go index ed67709dfc..186f0078c2 100644 --- a/service/amplifybackend/amplifybackendiface/interface.go +++ b/service/amplifybackend/amplifybackendiface/interface.go @@ -80,6 +80,10 @@ type AmplifyBackendAPI interface { CreateBackendConfigWithContext(aws.Context, *amplifybackend.CreateBackendConfigInput, ...request.Option) (*amplifybackend.CreateBackendConfigOutput, error) CreateBackendConfigRequest(*amplifybackend.CreateBackendConfigInput) (*request.Request, *amplifybackend.CreateBackendConfigOutput) + CreateBackendStorage(*amplifybackend.CreateBackendStorageInput) (*amplifybackend.CreateBackendStorageOutput, error) + CreateBackendStorageWithContext(aws.Context, *amplifybackend.CreateBackendStorageInput, ...request.Option) (*amplifybackend.CreateBackendStorageOutput, error) + CreateBackendStorageRequest(*amplifybackend.CreateBackendStorageInput) (*request.Request, *amplifybackend.CreateBackendStorageOutput) + CreateToken(*amplifybackend.CreateTokenInput) (*amplifybackend.CreateTokenOutput, error) CreateTokenWithContext(aws.Context, *amplifybackend.CreateTokenInput, ...request.Option) (*amplifybackend.CreateTokenOutput, error) CreateTokenRequest(*amplifybackend.CreateTokenInput) (*request.Request, *amplifybackend.CreateTokenOutput) @@ -96,6 +100,10 @@ type AmplifyBackendAPI interface { DeleteBackendAuthWithContext(aws.Context, *amplifybackend.DeleteBackendAuthInput, ...request.Option) (*amplifybackend.DeleteBackendAuthOutput, error) DeleteBackendAuthRequest(*amplifybackend.DeleteBackendAuthInput) (*request.Request, *amplifybackend.DeleteBackendAuthOutput) + DeleteBackendStorage(*amplifybackend.DeleteBackendStorageInput) (*amplifybackend.DeleteBackendStorageOutput, error) + DeleteBackendStorageWithContext(aws.Context, *amplifybackend.DeleteBackendStorageInput, ...request.Option) (*amplifybackend.DeleteBackendStorageOutput, error) + DeleteBackendStorageRequest(*amplifybackend.DeleteBackendStorageInput) (*request.Request, *amplifybackend.DeleteBackendStorageOutput) + DeleteToken(*amplifybackend.DeleteTokenInput) (*amplifybackend.DeleteTokenOutput, error) DeleteTokenWithContext(aws.Context, *amplifybackend.DeleteTokenInput, ...request.Option) (*amplifybackend.DeleteTokenOutput, error) DeleteTokenRequest(*amplifybackend.DeleteTokenInput) (*request.Request, *amplifybackend.DeleteTokenOutput) @@ -124,6 +132,10 @@ type AmplifyBackendAPI interface { GetBackendJobWithContext(aws.Context, *amplifybackend.GetBackendJobInput, ...request.Option) (*amplifybackend.GetBackendJobOutput, error) GetBackendJobRequest(*amplifybackend.GetBackendJobInput) (*request.Request, *amplifybackend.GetBackendJobOutput) + GetBackendStorage(*amplifybackend.GetBackendStorageInput) (*amplifybackend.GetBackendStorageOutput, error) + GetBackendStorageWithContext(aws.Context, *amplifybackend.GetBackendStorageInput, ...request.Option) (*amplifybackend.GetBackendStorageOutput, error) + GetBackendStorageRequest(*amplifybackend.GetBackendStorageInput) (*request.Request, *amplifybackend.GetBackendStorageOutput) + GetToken(*amplifybackend.GetTokenInput) (*amplifybackend.GetTokenOutput, error) GetTokenWithContext(aws.Context, *amplifybackend.GetTokenInput, ...request.Option) (*amplifybackend.GetTokenOutput, error) GetTokenRequest(*amplifybackend.GetTokenInput) (*request.Request, *amplifybackend.GetTokenOutput) @@ -132,6 +144,10 @@ type AmplifyBackendAPI interface { ImportBackendAuthWithContext(aws.Context, *amplifybackend.ImportBackendAuthInput, ...request.Option) (*amplifybackend.ImportBackendAuthOutput, error) ImportBackendAuthRequest(*amplifybackend.ImportBackendAuthInput) (*request.Request, *amplifybackend.ImportBackendAuthOutput) + ImportBackendStorage(*amplifybackend.ImportBackendStorageInput) (*amplifybackend.ImportBackendStorageOutput, error) + ImportBackendStorageWithContext(aws.Context, *amplifybackend.ImportBackendStorageInput, ...request.Option) (*amplifybackend.ImportBackendStorageOutput, error) + ImportBackendStorageRequest(*amplifybackend.ImportBackendStorageInput) (*request.Request, *amplifybackend.ImportBackendStorageOutput) + ListBackendJobs(*amplifybackend.ListBackendJobsInput) (*amplifybackend.ListBackendJobsOutput, error) ListBackendJobsWithContext(aws.Context, *amplifybackend.ListBackendJobsInput, ...request.Option) (*amplifybackend.ListBackendJobsOutput, error) ListBackendJobsRequest(*amplifybackend.ListBackendJobsInput) (*request.Request, *amplifybackend.ListBackendJobsOutput) @@ -139,6 +155,10 @@ type AmplifyBackendAPI interface { ListBackendJobsPages(*amplifybackend.ListBackendJobsInput, func(*amplifybackend.ListBackendJobsOutput, bool) bool) error ListBackendJobsPagesWithContext(aws.Context, *amplifybackend.ListBackendJobsInput, func(*amplifybackend.ListBackendJobsOutput, bool) bool, ...request.Option) error + ListS3Buckets(*amplifybackend.ListS3BucketsInput) (*amplifybackend.ListS3BucketsOutput, error) + ListS3BucketsWithContext(aws.Context, *amplifybackend.ListS3BucketsInput, ...request.Option) (*amplifybackend.ListS3BucketsOutput, error) + ListS3BucketsRequest(*amplifybackend.ListS3BucketsInput) (*request.Request, *amplifybackend.ListS3BucketsOutput) + RemoveAllBackends(*amplifybackend.RemoveAllBackendsInput) (*amplifybackend.RemoveAllBackendsOutput, error) RemoveAllBackendsWithContext(aws.Context, *amplifybackend.RemoveAllBackendsInput, ...request.Option) (*amplifybackend.RemoveAllBackendsOutput, error) RemoveAllBackendsRequest(*amplifybackend.RemoveAllBackendsInput) (*request.Request, *amplifybackend.RemoveAllBackendsOutput) @@ -162,6 +182,10 @@ type AmplifyBackendAPI interface { UpdateBackendJob(*amplifybackend.UpdateBackendJobInput) (*amplifybackend.UpdateBackendJobOutput, error) UpdateBackendJobWithContext(aws.Context, *amplifybackend.UpdateBackendJobInput, ...request.Option) (*amplifybackend.UpdateBackendJobOutput, error) UpdateBackendJobRequest(*amplifybackend.UpdateBackendJobInput) (*request.Request, *amplifybackend.UpdateBackendJobOutput) + + UpdateBackendStorage(*amplifybackend.UpdateBackendStorageInput) (*amplifybackend.UpdateBackendStorageOutput, error) + UpdateBackendStorageWithContext(aws.Context, *amplifybackend.UpdateBackendStorageInput, ...request.Option) (*amplifybackend.UpdateBackendStorageOutput, error) + UpdateBackendStorageRequest(*amplifybackend.UpdateBackendStorageInput) (*request.Request, *amplifybackend.UpdateBackendStorageOutput) } var _ AmplifyBackendAPI = (*amplifybackend.AmplifyBackend)(nil) diff --git a/service/amplifybackend/api.go b/service/amplifybackend/api.go index 50824378de..5437540f01 100644 --- a/service/amplifybackend/api.go +++ b/service/amplifybackend/api.go @@ -452,6 +452,94 @@ func (c *AmplifyBackend) CreateBackendConfigWithContext(ctx aws.Context, input * return out, req.Send() } +const opCreateBackendStorage = "CreateBackendStorage" + +// CreateBackendStorageRequest generates a "aws/request.Request" representing the +// client's request for the CreateBackendStorage operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateBackendStorage for more information on using the CreateBackendStorage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateBackendStorageRequest method. +// req, resp := client.CreateBackendStorageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CreateBackendStorage +func (c *AmplifyBackend) CreateBackendStorageRequest(input *CreateBackendStorageInput) (req *request.Request, output *CreateBackendStorageOutput) { + op := &request.Operation{ + Name: opCreateBackendStorage, + HTTPMethod: "POST", + HTTPPath: "/backend/{appId}/storage", + } + + if input == nil { + input = &CreateBackendStorageInput{} + } + + output = &CreateBackendStorageOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateBackendStorage API operation for AmplifyBackend. +// +// Creates a backend storage resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmplifyBackend's +// API operation CreateBackendStorage for usage and error information. +// +// Returned Error Types: +// * NotFoundException +// An error returned when a specific resource type is not found. +// +// * GatewayTimeoutException +// An error returned if there's a temporary issue with the service. +// +// * TooManyRequestsException +// An error that is returned when a limit of a specific type has been exceeded. +// +// * BadRequestException +// An error returned if a request is not formed properly. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/CreateBackendStorage +func (c *AmplifyBackend) CreateBackendStorage(input *CreateBackendStorageInput) (*CreateBackendStorageOutput, error) { + req, out := c.CreateBackendStorageRequest(input) + return out, req.Send() +} + +// CreateBackendStorageWithContext is the same as CreateBackendStorage with the addition of +// the ability to pass a context and additional request options. +// +// See CreateBackendStorage for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AmplifyBackend) CreateBackendStorageWithContext(ctx aws.Context, input *CreateBackendStorageInput, opts ...request.Option) (*CreateBackendStorageOutput, error) { + req, out := c.CreateBackendStorageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateToken = "CreateToken" // CreateTokenRequest generates a "aws/request.Request" representing the @@ -805,6 +893,94 @@ func (c *AmplifyBackend) DeleteBackendAuthWithContext(ctx aws.Context, input *De return out, req.Send() } +const opDeleteBackendStorage = "DeleteBackendStorage" + +// DeleteBackendStorageRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBackendStorage operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteBackendStorage for more information on using the DeleteBackendStorage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteBackendStorageRequest method. +// req, resp := client.DeleteBackendStorageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/DeleteBackendStorage +func (c *AmplifyBackend) DeleteBackendStorageRequest(input *DeleteBackendStorageInput) (req *request.Request, output *DeleteBackendStorageOutput) { + op := &request.Operation{ + Name: opDeleteBackendStorage, + HTTPMethod: "POST", + HTTPPath: "/backend/{appId}/storage/{backendEnvironmentName}/remove", + } + + if input == nil { + input = &DeleteBackendStorageInput{} + } + + output = &DeleteBackendStorageOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteBackendStorage API operation for AmplifyBackend. +// +// Removes the specified backend storage resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmplifyBackend's +// API operation DeleteBackendStorage for usage and error information. +// +// Returned Error Types: +// * NotFoundException +// An error returned when a specific resource type is not found. +// +// * GatewayTimeoutException +// An error returned if there's a temporary issue with the service. +// +// * TooManyRequestsException +// An error that is returned when a limit of a specific type has been exceeded. +// +// * BadRequestException +// An error returned if a request is not formed properly. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/DeleteBackendStorage +func (c *AmplifyBackend) DeleteBackendStorage(input *DeleteBackendStorageInput) (*DeleteBackendStorageOutput, error) { + req, out := c.DeleteBackendStorageRequest(input) + return out, req.Send() +} + +// DeleteBackendStorageWithContext is the same as DeleteBackendStorage with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteBackendStorage for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AmplifyBackend) DeleteBackendStorageWithContext(ctx aws.Context, input *DeleteBackendStorageInput, opts ...request.Option) (*DeleteBackendStorageOutput, error) { + req, out := c.DeleteBackendStorageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteToken = "DeleteToken" // DeleteTokenRequest generates a "aws/request.Request" representing the @@ -1421,6 +1597,94 @@ func (c *AmplifyBackend) GetBackendJobWithContext(ctx aws.Context, input *GetBac return out, req.Send() } +const opGetBackendStorage = "GetBackendStorage" + +// GetBackendStorageRequest generates a "aws/request.Request" representing the +// client's request for the GetBackendStorage operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetBackendStorage for more information on using the GetBackendStorage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetBackendStorageRequest method. +// req, resp := client.GetBackendStorageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackendStorage +func (c *AmplifyBackend) GetBackendStorageRequest(input *GetBackendStorageInput) (req *request.Request, output *GetBackendStorageOutput) { + op := &request.Operation{ + Name: opGetBackendStorage, + HTTPMethod: "POST", + HTTPPath: "/backend/{appId}/storage/{backendEnvironmentName}/details", + } + + if input == nil { + input = &GetBackendStorageInput{} + } + + output = &GetBackendStorageOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetBackendStorage API operation for AmplifyBackend. +// +// Gets details for a backend storage resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmplifyBackend's +// API operation GetBackendStorage for usage and error information. +// +// Returned Error Types: +// * NotFoundException +// An error returned when a specific resource type is not found. +// +// * GatewayTimeoutException +// An error returned if there's a temporary issue with the service. +// +// * TooManyRequestsException +// An error that is returned when a limit of a specific type has been exceeded. +// +// * BadRequestException +// An error returned if a request is not formed properly. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/GetBackendStorage +func (c *AmplifyBackend) GetBackendStorage(input *GetBackendStorageInput) (*GetBackendStorageOutput, error) { + req, out := c.GetBackendStorageRequest(input) + return out, req.Send() +} + +// GetBackendStorageWithContext is the same as GetBackendStorage with the addition of +// the ability to pass a context and additional request options. +// +// See GetBackendStorage for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AmplifyBackend) GetBackendStorageWithContext(ctx aws.Context, input *GetBackendStorageInput, opts ...request.Option) (*GetBackendStorageOutput, error) { + req, out := c.GetBackendStorageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetToken = "GetToken" // GetTokenRequest generates a "aws/request.Request" representing the @@ -1597,64 +1861,58 @@ func (c *AmplifyBackend) ImportBackendAuthWithContext(ctx aws.Context, input *Im return out, req.Send() } -const opListBackendJobs = "ListBackendJobs" +const opImportBackendStorage = "ImportBackendStorage" -// ListBackendJobsRequest generates a "aws/request.Request" representing the -// client's request for the ListBackendJobs operation. The "output" return +// ImportBackendStorageRequest generates a "aws/request.Request" representing the +// client's request for the ImportBackendStorage operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListBackendJobs for more information on using the ListBackendJobs +// See ImportBackendStorage for more information on using the ImportBackendStorage // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListBackendJobsRequest method. -// req, resp := client.ListBackendJobsRequest(params) +// // Example sending a request using the ImportBackendStorageRequest method. +// req, resp := client.ImportBackendStorageRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/ListBackendJobs -func (c *AmplifyBackend) ListBackendJobsRequest(input *ListBackendJobsInput) (req *request.Request, output *ListBackendJobsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/ImportBackendStorage +func (c *AmplifyBackend) ImportBackendStorageRequest(input *ImportBackendStorageInput) (req *request.Request, output *ImportBackendStorageOutput) { op := &request.Operation{ - Name: opListBackendJobs, + Name: opImportBackendStorage, HTTPMethod: "POST", - HTTPPath: "/backend/{appId}/job/{backendEnvironmentName}", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/backend/{appId}/storage/{backendEnvironmentName}/import", } if input == nil { - input = &ListBackendJobsInput{} + input = &ImportBackendStorageInput{} } - output = &ListBackendJobsOutput{} + output = &ImportBackendStorageOutput{} req = c.newRequest(op, input, output) return } -// ListBackendJobs API operation for AmplifyBackend. +// ImportBackendStorage API operation for AmplifyBackend. // -// Lists the jobs for the backend of an Amplify app. +// Imports an existing backend storage resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AmplifyBackend's -// API operation ListBackendJobs for usage and error information. +// API operation ImportBackendStorage for usage and error information. // // Returned Error Types: // * NotFoundException @@ -1669,50 +1927,144 @@ func (c *AmplifyBackend) ListBackendJobsRequest(input *ListBackendJobsInput) (re // * BadRequestException // An error returned if a request is not formed properly. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/ListBackendJobs -func (c *AmplifyBackend) ListBackendJobs(input *ListBackendJobsInput) (*ListBackendJobsOutput, error) { - req, out := c.ListBackendJobsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/ImportBackendStorage +func (c *AmplifyBackend) ImportBackendStorage(input *ImportBackendStorageInput) (*ImportBackendStorageOutput, error) { + req, out := c.ImportBackendStorageRequest(input) return out, req.Send() } -// ListBackendJobsWithContext is the same as ListBackendJobs with the addition of +// ImportBackendStorageWithContext is the same as ImportBackendStorage with the addition of // the ability to pass a context and additional request options. // -// See ListBackendJobs for details on how to use this API operation. +// See ImportBackendStorage for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *AmplifyBackend) ListBackendJobsWithContext(ctx aws.Context, input *ListBackendJobsInput, opts ...request.Option) (*ListBackendJobsOutput, error) { - req, out := c.ListBackendJobsRequest(input) +func (c *AmplifyBackend) ImportBackendStorageWithContext(ctx aws.Context, input *ImportBackendStorageInput, opts ...request.Option) (*ImportBackendStorageOutput, error) { + req, out := c.ImportBackendStorageRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListBackendJobsPages iterates over the pages of a ListBackendJobs operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +const opListBackendJobs = "ListBackendJobs" + +// ListBackendJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListBackendJobs operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListBackendJobs method for more information on how to use this operation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Note: This operation can generate multiple requests to a service. +// See ListBackendJobs for more information on using the ListBackendJobs +// API call, and error handling. // -// // Example iterating over at most 3 pages of a ListBackendJobs operation. -// pageNum := 0 -// err := client.ListBackendJobsPages(params, -// func(page *amplifybackend.ListBackendJobsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -func (c *AmplifyBackend) ListBackendJobsPages(input *ListBackendJobsInput, fn func(*ListBackendJobsOutput, bool) bool) error { - return c.ListBackendJobsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListBackendJobsPagesWithContext same as ListBackendJobsPages except +// +// // Example sending a request using the ListBackendJobsRequest method. +// req, resp := client.ListBackendJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/ListBackendJobs +func (c *AmplifyBackend) ListBackendJobsRequest(input *ListBackendJobsInput) (req *request.Request, output *ListBackendJobsOutput) { + op := &request.Operation{ + Name: opListBackendJobs, + HTTPMethod: "POST", + HTTPPath: "/backend/{appId}/job/{backendEnvironmentName}", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListBackendJobsInput{} + } + + output = &ListBackendJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListBackendJobs API operation for AmplifyBackend. +// +// Lists the jobs for the backend of an Amplify app. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmplifyBackend's +// API operation ListBackendJobs for usage and error information. +// +// Returned Error Types: +// * NotFoundException +// An error returned when a specific resource type is not found. +// +// * GatewayTimeoutException +// An error returned if there's a temporary issue with the service. +// +// * TooManyRequestsException +// An error that is returned when a limit of a specific type has been exceeded. +// +// * BadRequestException +// An error returned if a request is not formed properly. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/ListBackendJobs +func (c *AmplifyBackend) ListBackendJobs(input *ListBackendJobsInput) (*ListBackendJobsOutput, error) { + req, out := c.ListBackendJobsRequest(input) + return out, req.Send() +} + +// ListBackendJobsWithContext is the same as ListBackendJobs with the addition of +// the ability to pass a context and additional request options. +// +// See ListBackendJobs for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AmplifyBackend) ListBackendJobsWithContext(ctx aws.Context, input *ListBackendJobsInput, opts ...request.Option) (*ListBackendJobsOutput, error) { + req, out := c.ListBackendJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListBackendJobsPages iterates over the pages of a ListBackendJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBackendJobs 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 ListBackendJobs operation. +// pageNum := 0 +// err := client.ListBackendJobsPages(params, +// func(page *amplifybackend.ListBackendJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *AmplifyBackend) ListBackendJobsPages(input *ListBackendJobsInput, fn func(*ListBackendJobsOutput, bool) bool) error { + return c.ListBackendJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBackendJobsPagesWithContext same as ListBackendJobsPages 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 @@ -1743,6 +2095,94 @@ func (c *AmplifyBackend) ListBackendJobsPagesWithContext(ctx aws.Context, input return p.Err() } +const opListS3Buckets = "ListS3Buckets" + +// ListS3BucketsRequest generates a "aws/request.Request" representing the +// client's request for the ListS3Buckets operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListS3Buckets for more information on using the ListS3Buckets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListS3BucketsRequest method. +// req, resp := client.ListS3BucketsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/ListS3Buckets +func (c *AmplifyBackend) ListS3BucketsRequest(input *ListS3BucketsInput) (req *request.Request, output *ListS3BucketsOutput) { + op := &request.Operation{ + Name: opListS3Buckets, + HTTPMethod: "POST", + HTTPPath: "/s3Buckets", + } + + if input == nil { + input = &ListS3BucketsInput{} + } + + output = &ListS3BucketsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListS3Buckets API operation for AmplifyBackend. +// +// The list of S3 buckets in your account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmplifyBackend's +// API operation ListS3Buckets for usage and error information. +// +// Returned Error Types: +// * NotFoundException +// An error returned when a specific resource type is not found. +// +// * GatewayTimeoutException +// An error returned if there's a temporary issue with the service. +// +// * TooManyRequestsException +// An error that is returned when a limit of a specific type has been exceeded. +// +// * BadRequestException +// An error returned if a request is not formed properly. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/ListS3Buckets +func (c *AmplifyBackend) ListS3Buckets(input *ListS3BucketsInput) (*ListS3BucketsOutput, error) { + req, out := c.ListS3BucketsRequest(input) + return out, req.Send() +} + +// ListS3BucketsWithContext is the same as ListS3Buckets with the addition of +// the ability to pass a context and additional request options. +// +// See ListS3Buckets for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AmplifyBackend) ListS3BucketsWithContext(ctx aws.Context, input *ListS3BucketsInput, opts ...request.Option) (*ListS3BucketsOutput, error) { + req, out := c.ListS3BucketsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRemoveAllBackends = "RemoveAllBackends" // RemoveAllBackendsRequest generates a "aws/request.Request" representing the @@ -2271,6 +2711,94 @@ func (c *AmplifyBackend) UpdateBackendJobWithContext(ctx aws.Context, input *Upd return out, req.Send() } +const opUpdateBackendStorage = "UpdateBackendStorage" + +// UpdateBackendStorageRequest generates a "aws/request.Request" representing the +// client's request for the UpdateBackendStorage operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateBackendStorage for more information on using the UpdateBackendStorage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateBackendStorageRequest method. +// req, resp := client.UpdateBackendStorageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/UpdateBackendStorage +func (c *AmplifyBackend) UpdateBackendStorageRequest(input *UpdateBackendStorageInput) (req *request.Request, output *UpdateBackendStorageOutput) { + op := &request.Operation{ + Name: opUpdateBackendStorage, + HTTPMethod: "POST", + HTTPPath: "/backend/{appId}/storage/{backendEnvironmentName}", + } + + if input == nil { + input = &UpdateBackendStorageInput{} + } + + output = &UpdateBackendStorageOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateBackendStorage API operation for AmplifyBackend. +// +// Updates an existing backend storage resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AmplifyBackend's +// API operation UpdateBackendStorage for usage and error information. +// +// Returned Error Types: +// * NotFoundException +// An error returned when a specific resource type is not found. +// +// * GatewayTimeoutException +// An error returned if there's a temporary issue with the service. +// +// * TooManyRequestsException +// An error that is returned when a limit of a specific type has been exceeded. +// +// * BadRequestException +// An error returned if a request is not formed properly. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplifybackend-2020-08-11/UpdateBackendStorage +func (c *AmplifyBackend) UpdateBackendStorage(input *UpdateBackendStorageInput) (*UpdateBackendStorageOutput, error) { + req, out := c.UpdateBackendStorageRequest(input) + return out, req.Send() +} + +// UpdateBackendStorageWithContext is the same as UpdateBackendStorage with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateBackendStorage for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AmplifyBackend) UpdateBackendStorageWithContext(ctx aws.Context, input *UpdateBackendStorageInput, opts ...request.Option) (*UpdateBackendStorageOutput, error) { + req, out := c.UpdateBackendStorageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + // The authentication settings for accessing provisioned data models in your // Amplify project. type BackendAPIAppSyncAuthSettings struct { @@ -2731,13 +3259,20 @@ func (s *BackendJobRespObj) SetUpdateTime(v string) *BackendJobRespObj { return s } -// An error returned if a request is not formed properly. -type BadRequestException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// Describes the read, write, and delete permissions users have against your +// storage S3 bucket. +type BackendStoragePermissions struct { + _ struct{} `type:"structure"` - // An error message to inform that the request failed. - Message_ *string `locationName:"message" type:"string"` + // Lists all authenticated user read, write, and delete permissions for your + // S3 bucket. + // + // Authenticated is a required field + Authenticated []*string `locationName:"authenticated" type:"list" required:"true"` + + // Lists all unauthenticated user read, write, and delete permissions for your + // S3 bucket. + UnAuthenticated []*string `locationName:"unAuthenticated" type:"list"` } // String returns the string representation. @@ -2745,7 +3280,7 @@ type BadRequestException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BadRequestException) String() string { +func (s BackendStoragePermissions) String() string { return awsutil.Prettify(s) } @@ -2754,19 +3289,71 @@ func (s BadRequestException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BadRequestException) GoString() string { +func (s BackendStoragePermissions) GoString() string { return s.String() } -func newErrorBadRequestException(v protocol.ResponseMetadata) error { - return &BadRequestException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *BackendStoragePermissions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BackendStoragePermissions"} + if s.Authenticated == nil { + invalidParams.Add(request.NewErrParamRequired("Authenticated")) + } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil } -// Code returns the exception type name. -func (s *BadRequestException) Code() string { - return "BadRequestException" +// SetAuthenticated sets the Authenticated field's value. +func (s *BackendStoragePermissions) SetAuthenticated(v []*string) *BackendStoragePermissions { + s.Authenticated = v + return s +} + +// SetUnAuthenticated sets the UnAuthenticated field's value. +func (s *BackendStoragePermissions) SetUnAuthenticated(v []*string) *BackendStoragePermissions { + s.UnAuthenticated = v + return s +} + +// An error returned if a request is not formed properly. +type BadRequestException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // An error message to inform that the request failed. + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BadRequestException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BadRequestException) GoString() string { + return s.String() +} + +func newErrorBadRequestException(v protocol.ResponseMetadata) error { + return &BadRequestException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *BadRequestException) Code() string { + return "BadRequestException" } // Message returns the exception's message. @@ -4113,6 +4700,225 @@ func (s *CreateBackendOutput) SetStatus(v string) *CreateBackendOutput { return s } +type CreateBackendStorageInput struct { + _ struct{} `type:"structure"` + + // AppId is a required field + AppId *string `location:"uri" locationName:"appId" type:"string" required:"true"` + + // BackendEnvironmentName is a required field + BackendEnvironmentName *string `locationName:"backendEnvironmentName" type:"string" required:"true"` + + // The resource configuration for creating backend storage. + // + // ResourceConfig is a required field + ResourceConfig *CreateBackendStorageResourceConfig `locationName:"resourceConfig" type:"structure" required:"true"` + + // ResourceName is a required field + ResourceName *string `locationName:"resourceName" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateBackendStorageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateBackendStorageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateBackendStorageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateBackendStorageInput"} + if s.AppId == nil { + invalidParams.Add(request.NewErrParamRequired("AppId")) + } + if s.AppId != nil && len(*s.AppId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AppId", 1)) + } + if s.BackendEnvironmentName == nil { + invalidParams.Add(request.NewErrParamRequired("BackendEnvironmentName")) + } + if s.ResourceConfig == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceConfig")) + } + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + if s.ResourceConfig != nil { + if err := s.ResourceConfig.Validate(); err != nil { + invalidParams.AddNested("ResourceConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppId sets the AppId field's value. +func (s *CreateBackendStorageInput) SetAppId(v string) *CreateBackendStorageInput { + s.AppId = &v + return s +} + +// SetBackendEnvironmentName sets the BackendEnvironmentName field's value. +func (s *CreateBackendStorageInput) SetBackendEnvironmentName(v string) *CreateBackendStorageInput { + s.BackendEnvironmentName = &v + return s +} + +// SetResourceConfig sets the ResourceConfig field's value. +func (s *CreateBackendStorageInput) SetResourceConfig(v *CreateBackendStorageResourceConfig) *CreateBackendStorageInput { + s.ResourceConfig = v + return s +} + +// SetResourceName sets the ResourceName field's value. +func (s *CreateBackendStorageInput) SetResourceName(v string) *CreateBackendStorageInput { + s.ResourceName = &v + return s +} + +type CreateBackendStorageOutput struct { + _ struct{} `type:"structure"` + + AppId *string `locationName:"appId" type:"string"` + + BackendEnvironmentName *string `locationName:"backendEnvironmentName" type:"string"` + + JobId *string `locationName:"jobId" type:"string"` + + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateBackendStorageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateBackendStorageOutput) GoString() string { + return s.String() +} + +// SetAppId sets the AppId field's value. +func (s *CreateBackendStorageOutput) SetAppId(v string) *CreateBackendStorageOutput { + s.AppId = &v + return s +} + +// SetBackendEnvironmentName sets the BackendEnvironmentName field's value. +func (s *CreateBackendStorageOutput) SetBackendEnvironmentName(v string) *CreateBackendStorageOutput { + s.BackendEnvironmentName = &v + return s +} + +// SetJobId sets the JobId field's value. +func (s *CreateBackendStorageOutput) SetJobId(v string) *CreateBackendStorageOutput { + s.JobId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateBackendStorageOutput) SetStatus(v string) *CreateBackendStorageOutput { + s.Status = &v + return s +} + +// The resource configuration for creating backend storage. +type CreateBackendStorageResourceConfig struct { + _ struct{} `type:"structure"` + + // The name of the S3 bucket. + BucketName *string `locationName:"bucketName" type:"string"` + + // The authorization configuration for the storage S3 bucket. + // + // Permissions is a required field + Permissions *BackendStoragePermissions `locationName:"permissions" type:"structure" required:"true"` + + // The name of the storage service. + // + // ServiceName is a required field + ServiceName *string `locationName:"serviceName" type:"string" required:"true" enum:"ServiceName"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateBackendStorageResourceConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateBackendStorageResourceConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateBackendStorageResourceConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateBackendStorageResourceConfig"} + if s.Permissions == nil { + invalidParams.Add(request.NewErrParamRequired("Permissions")) + } + if s.ServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceName")) + } + if s.Permissions != nil { + if err := s.Permissions.Validate(); err != nil { + invalidParams.AddNested("Permissions", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucketName sets the BucketName field's value. +func (s *CreateBackendStorageResourceConfig) SetBucketName(v string) *CreateBackendStorageResourceConfig { + s.BucketName = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *CreateBackendStorageResourceConfig) SetPermissions(v *BackendStoragePermissions) *CreateBackendStorageResourceConfig { + s.Permissions = v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *CreateBackendStorageResourceConfig) SetServiceName(v string) *CreateBackendStorageResourceConfig { + s.ServiceName = &v + return s +} + type CreateTokenInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -4644,14 +5450,20 @@ func (s *DeleteBackendOutput) SetStatus(v string) *DeleteBackendOutput { return s } -type DeleteTokenInput struct { - _ struct{} `type:"structure" nopayload:"true"` +type DeleteBackendStorageInput struct { + _ struct{} `type:"structure"` // AppId is a required field AppId *string `location:"uri" locationName:"appId" type:"string" required:"true"` - // SessionId is a required field - SessionId *string `location:"uri" locationName:"sessionId" type:"string" required:"true"` + // BackendEnvironmentName is a required field + BackendEnvironmentName *string `location:"uri" locationName:"backendEnvironmentName" type:"string" required:"true"` + + // ResourceName is a required field + ResourceName *string `locationName:"resourceName" type:"string" required:"true"` + + // ServiceName is a required field + ServiceName *string `locationName:"serviceName" type:"string" required:"true" enum:"ServiceName"` } // String returns the string representation. @@ -4659,7 +5471,7 @@ type DeleteTokenInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteTokenInput) String() string { +func (s DeleteBackendStorageInput) String() string { return awsutil.Prettify(s) } @@ -4668,24 +5480,30 @@ func (s DeleteTokenInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteTokenInput) GoString() string { +func (s DeleteBackendStorageInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteTokenInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteTokenInput"} +func (s *DeleteBackendStorageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBackendStorageInput"} if s.AppId == nil { invalidParams.Add(request.NewErrParamRequired("AppId")) } if s.AppId != nil && len(*s.AppId) < 1 { invalidParams.Add(request.NewErrParamMinLen("AppId", 1)) } - if s.SessionId == nil { - invalidParams.Add(request.NewErrParamRequired("SessionId")) + if s.BackendEnvironmentName == nil { + invalidParams.Add(request.NewErrParamRequired("BackendEnvironmentName")) } - if s.SessionId != nil && len(*s.SessionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SessionId", 1)) + if s.BackendEnvironmentName != nil && len(*s.BackendEnvironmentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackendEnvironmentName", 1)) + } + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + if s.ServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceName")) } if invalidParams.Len() > 0 { @@ -4695,26 +5513,154 @@ func (s *DeleteTokenInput) Validate() error { } // SetAppId sets the AppId field's value. -func (s *DeleteTokenInput) SetAppId(v string) *DeleteTokenInput { +func (s *DeleteBackendStorageInput) SetAppId(v string) *DeleteBackendStorageInput { s.AppId = &v return s } -// SetSessionId sets the SessionId field's value. -func (s *DeleteTokenInput) SetSessionId(v string) *DeleteTokenInput { - s.SessionId = &v +// SetBackendEnvironmentName sets the BackendEnvironmentName field's value. +func (s *DeleteBackendStorageInput) SetBackendEnvironmentName(v string) *DeleteBackendStorageInput { + s.BackendEnvironmentName = &v return s } -type DeleteTokenOutput struct { - _ struct{} `type:"structure"` +// SetResourceName sets the ResourceName field's value. +func (s *DeleteBackendStorageInput) SetResourceName(v string) *DeleteBackendStorageInput { + s.ResourceName = &v + return s +} - IsSuccess *bool `locationName:"isSuccess" type:"boolean"` +// SetServiceName sets the ServiceName field's value. +func (s *DeleteBackendStorageInput) SetServiceName(v string) *DeleteBackendStorageInput { + s.ServiceName = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not +type DeleteBackendStorageOutput struct { + _ struct{} `type:"structure"` + + AppId *string `locationName:"appId" type:"string"` + + BackendEnvironmentName *string `locationName:"backendEnvironmentName" type:"string"` + + JobId *string `locationName:"jobId" type:"string"` + + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteBackendStorageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteBackendStorageOutput) GoString() string { + return s.String() +} + +// SetAppId sets the AppId field's value. +func (s *DeleteBackendStorageOutput) SetAppId(v string) *DeleteBackendStorageOutput { + s.AppId = &v + return s +} + +// SetBackendEnvironmentName sets the BackendEnvironmentName field's value. +func (s *DeleteBackendStorageOutput) SetBackendEnvironmentName(v string) *DeleteBackendStorageOutput { + s.BackendEnvironmentName = &v + return s +} + +// SetJobId sets the JobId field's value. +func (s *DeleteBackendStorageOutput) SetJobId(v string) *DeleteBackendStorageOutput { + s.JobId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteBackendStorageOutput) SetStatus(v string) *DeleteBackendStorageOutput { + s.Status = &v + return s +} + +type DeleteTokenInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // AppId is a required field + AppId *string `location:"uri" locationName:"appId" type:"string" required:"true"` + + // SessionId is a required field + SessionId *string `location:"uri" locationName:"sessionId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTokenInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTokenInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTokenInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTokenInput"} + if s.AppId == nil { + invalidParams.Add(request.NewErrParamRequired("AppId")) + } + if s.AppId != nil && len(*s.AppId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AppId", 1)) + } + if s.SessionId == nil { + invalidParams.Add(request.NewErrParamRequired("SessionId")) + } + if s.SessionId != nil && len(*s.SessionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SessionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppId sets the AppId field's value. +func (s *DeleteTokenInput) SetAppId(v string) *DeleteTokenInput { + s.AppId = &v + return s +} + +// SetSessionId sets the SessionId field's value. +func (s *DeleteTokenInput) SetSessionId(v string) *DeleteTokenInput { + s.SessionId = &v + return s +} + +type DeleteTokenOutput struct { + _ struct{} `type:"structure"` + + IsSuccess *bool `locationName:"isSuccess" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeleteTokenOutput) String() string { @@ -5678,6 +6624,198 @@ func (s *GetBackendOutput) SetError(v string) *GetBackendOutput { return s } +type GetBackendStorageInput struct { + _ struct{} `type:"structure"` + + // AppId is a required field + AppId *string `location:"uri" locationName:"appId" type:"string" required:"true"` + + // BackendEnvironmentName is a required field + BackendEnvironmentName *string `location:"uri" locationName:"backendEnvironmentName" type:"string" required:"true"` + + // ResourceName is a required field + ResourceName *string `locationName:"resourceName" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetBackendStorageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetBackendStorageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetBackendStorageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetBackendStorageInput"} + if s.AppId == nil { + invalidParams.Add(request.NewErrParamRequired("AppId")) + } + if s.AppId != nil && len(*s.AppId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AppId", 1)) + } + if s.BackendEnvironmentName == nil { + invalidParams.Add(request.NewErrParamRequired("BackendEnvironmentName")) + } + if s.BackendEnvironmentName != nil && len(*s.BackendEnvironmentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackendEnvironmentName", 1)) + } + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppId sets the AppId field's value. +func (s *GetBackendStorageInput) SetAppId(v string) *GetBackendStorageInput { + s.AppId = &v + return s +} + +// SetBackendEnvironmentName sets the BackendEnvironmentName field's value. +func (s *GetBackendStorageInput) SetBackendEnvironmentName(v string) *GetBackendStorageInput { + s.BackendEnvironmentName = &v + return s +} + +// SetResourceName sets the ResourceName field's value. +func (s *GetBackendStorageInput) SetResourceName(v string) *GetBackendStorageInput { + s.ResourceName = &v + return s +} + +type GetBackendStorageOutput struct { + _ struct{} `type:"structure"` + + AppId *string `locationName:"appId" type:"string"` + + BackendEnvironmentName *string `locationName:"backendEnvironmentName" type:"string"` + + // The details for a backend storage resource. + ResourceConfig *GetBackendStorageResourceConfig `locationName:"resourceConfig" type:"structure"` + + ResourceName *string `locationName:"resourceName" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetBackendStorageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetBackendStorageOutput) GoString() string { + return s.String() +} + +// SetAppId sets the AppId field's value. +func (s *GetBackendStorageOutput) SetAppId(v string) *GetBackendStorageOutput { + s.AppId = &v + return s +} + +// SetBackendEnvironmentName sets the BackendEnvironmentName field's value. +func (s *GetBackendStorageOutput) SetBackendEnvironmentName(v string) *GetBackendStorageOutput { + s.BackendEnvironmentName = &v + return s +} + +// SetResourceConfig sets the ResourceConfig field's value. +func (s *GetBackendStorageOutput) SetResourceConfig(v *GetBackendStorageResourceConfig) *GetBackendStorageOutput { + s.ResourceConfig = v + return s +} + +// SetResourceName sets the ResourceName field's value. +func (s *GetBackendStorageOutput) SetResourceName(v string) *GetBackendStorageOutput { + s.ResourceName = &v + return s +} + +// The details for a backend storage resource. +type GetBackendStorageResourceConfig struct { + _ struct{} `type:"structure"` + + // The name of the S3 bucket. + BucketName *string `locationName:"bucketName" type:"string"` + + // Returns True if the storage resource has been imported. + // + // Imported is a required field + Imported *bool `locationName:"imported" type:"boolean" required:"true"` + + // The authorization configuration for the storage S3 bucket. + Permissions *BackendStoragePermissions `locationName:"permissions" type:"structure"` + + // The name of the storage service. + // + // ServiceName is a required field + ServiceName *string `locationName:"serviceName" type:"string" required:"true" enum:"ServiceName"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetBackendStorageResourceConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetBackendStorageResourceConfig) GoString() string { + return s.String() +} + +// SetBucketName sets the BucketName field's value. +func (s *GetBackendStorageResourceConfig) SetBucketName(v string) *GetBackendStorageResourceConfig { + s.BucketName = &v + return s +} + +// SetImported sets the Imported field's value. +func (s *GetBackendStorageResourceConfig) SetImported(v bool) *GetBackendStorageResourceConfig { + s.Imported = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *GetBackendStorageResourceConfig) SetPermissions(v *BackendStoragePermissions) *GetBackendStorageResourceConfig { + s.Permissions = v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *GetBackendStorageResourceConfig) SetServiceName(v string) *GetBackendStorageResourceConfig { + s.ServiceName = &v + return s +} + type GetTokenInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -5970,6 +7108,142 @@ func (s *ImportBackendAuthOutput) SetStatus(v string) *ImportBackendAuthOutput { return s } +type ImportBackendStorageInput struct { + _ struct{} `type:"structure"` + + // AppId is a required field + AppId *string `location:"uri" locationName:"appId" type:"string" required:"true"` + + // BackendEnvironmentName is a required field + BackendEnvironmentName *string `location:"uri" locationName:"backendEnvironmentName" type:"string" required:"true"` + + BucketName *string `locationName:"bucketName" type:"string"` + + // ServiceName is a required field + ServiceName *string `locationName:"serviceName" type:"string" required:"true" enum:"ServiceName"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImportBackendStorageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImportBackendStorageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImportBackendStorageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportBackendStorageInput"} + if s.AppId == nil { + invalidParams.Add(request.NewErrParamRequired("AppId")) + } + if s.AppId != nil && len(*s.AppId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AppId", 1)) + } + if s.BackendEnvironmentName == nil { + invalidParams.Add(request.NewErrParamRequired("BackendEnvironmentName")) + } + if s.BackendEnvironmentName != nil && len(*s.BackendEnvironmentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackendEnvironmentName", 1)) + } + if s.ServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppId sets the AppId field's value. +func (s *ImportBackendStorageInput) SetAppId(v string) *ImportBackendStorageInput { + s.AppId = &v + return s +} + +// SetBackendEnvironmentName sets the BackendEnvironmentName field's value. +func (s *ImportBackendStorageInput) SetBackendEnvironmentName(v string) *ImportBackendStorageInput { + s.BackendEnvironmentName = &v + return s +} + +// SetBucketName sets the BucketName field's value. +func (s *ImportBackendStorageInput) SetBucketName(v string) *ImportBackendStorageInput { + s.BucketName = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *ImportBackendStorageInput) SetServiceName(v string) *ImportBackendStorageInput { + s.ServiceName = &v + return s +} + +type ImportBackendStorageOutput struct { + _ struct{} `type:"structure"` + + AppId *string `locationName:"appId" type:"string"` + + BackendEnvironmentName *string `locationName:"backendEnvironmentName" type:"string"` + + JobId *string `locationName:"jobId" type:"string"` + + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImportBackendStorageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImportBackendStorageOutput) GoString() string { + return s.String() +} + +// SetAppId sets the AppId field's value. +func (s *ImportBackendStorageOutput) SetAppId(v string) *ImportBackendStorageOutput { + s.AppId = &v + return s +} + +// SetBackendEnvironmentName sets the BackendEnvironmentName field's value. +func (s *ImportBackendStorageOutput) SetBackendEnvironmentName(v string) *ImportBackendStorageOutput { + s.BackendEnvironmentName = &v + return s +} + +// SetJobId sets the JobId field's value. +func (s *ImportBackendStorageOutput) SetJobId(v string) *ImportBackendStorageOutput { + s.JobId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ImportBackendStorageOutput) SetStatus(v string) *ImportBackendStorageOutput { + s.Status = &v + return s +} + type ListBackendJobsInput struct { _ struct{} `type:"structure"` @@ -6057,28 +7331,96 @@ func (s *ListBackendJobsInput) SetMaxResults(v int64) *ListBackendJobsInput { return s } -// SetNextToken sets the NextToken field's value. -func (s *ListBackendJobsInput) SetNextToken(v string) *ListBackendJobsInput { - s.NextToken = &v - return s +// SetNextToken sets the NextToken field's value. +func (s *ListBackendJobsInput) SetNextToken(v string) *ListBackendJobsInput { + s.NextToken = &v + return s +} + +// SetOperation sets the Operation field's value. +func (s *ListBackendJobsInput) SetOperation(v string) *ListBackendJobsInput { + s.Operation = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListBackendJobsInput) SetStatus(v string) *ListBackendJobsInput { + s.Status = &v + return s +} + +type ListBackendJobsOutput struct { + _ struct{} `type:"structure"` + + Jobs []*BackendJobRespObj `locationName:"jobs" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListBackendJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListBackendJobsOutput) GoString() string { + return s.String() +} + +// SetJobs sets the Jobs field's value. +func (s *ListBackendJobsOutput) SetJobs(v []*BackendJobRespObj) *ListBackendJobsOutput { + s.Jobs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBackendJobsOutput) SetNextToken(v string) *ListBackendJobsOutput { + s.NextToken = &v + return s +} + +type ListS3BucketsInput struct { + _ struct{} `type:"structure"` + + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListS3BucketsInput) String() string { + return awsutil.Prettify(s) } -// SetOperation sets the Operation field's value. -func (s *ListBackendJobsInput) SetOperation(v string) *ListBackendJobsInput { - s.Operation = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListS3BucketsInput) GoString() string { + return s.String() } -// SetStatus sets the Status field's value. -func (s *ListBackendJobsInput) SetStatus(v string) *ListBackendJobsInput { - s.Status = &v +// SetNextToken sets the NextToken field's value. +func (s *ListS3BucketsInput) SetNextToken(v string) *ListS3BucketsInput { + s.NextToken = &v return s } -type ListBackendJobsOutput struct { +type ListS3BucketsOutput struct { _ struct{} `type:"structure"` - Jobs []*BackendJobRespObj `locationName:"jobs" type:"list"` + Buckets []*S3BucketInfo `locationName:"buckets" type:"list"` NextToken *string `locationName:"nextToken" type:"string"` } @@ -6088,7 +7430,7 @@ type ListBackendJobsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListBackendJobsOutput) String() string { +func (s ListS3BucketsOutput) String() string { return awsutil.Prettify(s) } @@ -6097,18 +7439,18 @@ func (s ListBackendJobsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListBackendJobsOutput) GoString() string { +func (s ListS3BucketsOutput) GoString() string { return s.String() } -// SetJobs sets the Jobs field's value. -func (s *ListBackendJobsOutput) SetJobs(v []*BackendJobRespObj) *ListBackendJobsOutput { - s.Jobs = v +// SetBuckets sets the Buckets field's value. +func (s *ListS3BucketsOutput) SetBuckets(v []*S3BucketInfo) *ListS3BucketsOutput { + s.Buckets = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListBackendJobsOutput) SetNextToken(v string) *ListBackendJobsOutput { +func (s *ListS3BucketsOutput) SetNextToken(v string) *ListS3BucketsOutput { s.NextToken = &v return s } @@ -6456,6 +7798,47 @@ func (s ResourceConfig) GoString() string { return s.String() } +// Describes the metadata of the S3 bucket. +type S3BucketInfo struct { + _ struct{} `type:"structure"` + + // The creation date of the S3 bucket. + CreationDate *string `locationName:"creationDate" type:"string"` + + // The name of the S3 bucket. + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3BucketInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3BucketInfo) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *S3BucketInfo) SetCreationDate(v string) *S3BucketInfo { + s.CreationDate = &v + return s +} + +// SetName sets the Name field's value. +func (s *S3BucketInfo) SetName(v string) *S3BucketInfo { + s.Name = &v + return s +} + type Settings struct { _ struct{} `type:"structure"` @@ -7668,6 +9051,219 @@ func (s *UpdateBackendJobOutput) SetUpdateTime(v string) *UpdateBackendJobOutput return s } +type UpdateBackendStorageInput struct { + _ struct{} `type:"structure"` + + // AppId is a required field + AppId *string `location:"uri" locationName:"appId" type:"string" required:"true"` + + // BackendEnvironmentName is a required field + BackendEnvironmentName *string `location:"uri" locationName:"backendEnvironmentName" type:"string" required:"true"` + + // The resource configuration for updating backend storage. + // + // ResourceConfig is a required field + ResourceConfig *UpdateBackendStorageResourceConfig `locationName:"resourceConfig" type:"structure" required:"true"` + + // ResourceName is a required field + ResourceName *string `locationName:"resourceName" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateBackendStorageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateBackendStorageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateBackendStorageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateBackendStorageInput"} + if s.AppId == nil { + invalidParams.Add(request.NewErrParamRequired("AppId")) + } + if s.AppId != nil && len(*s.AppId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AppId", 1)) + } + if s.BackendEnvironmentName == nil { + invalidParams.Add(request.NewErrParamRequired("BackendEnvironmentName")) + } + if s.BackendEnvironmentName != nil && len(*s.BackendEnvironmentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackendEnvironmentName", 1)) + } + if s.ResourceConfig == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceConfig")) + } + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + if s.ResourceConfig != nil { + if err := s.ResourceConfig.Validate(); err != nil { + invalidParams.AddNested("ResourceConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppId sets the AppId field's value. +func (s *UpdateBackendStorageInput) SetAppId(v string) *UpdateBackendStorageInput { + s.AppId = &v + return s +} + +// SetBackendEnvironmentName sets the BackendEnvironmentName field's value. +func (s *UpdateBackendStorageInput) SetBackendEnvironmentName(v string) *UpdateBackendStorageInput { + s.BackendEnvironmentName = &v + return s +} + +// SetResourceConfig sets the ResourceConfig field's value. +func (s *UpdateBackendStorageInput) SetResourceConfig(v *UpdateBackendStorageResourceConfig) *UpdateBackendStorageInput { + s.ResourceConfig = v + return s +} + +// SetResourceName sets the ResourceName field's value. +func (s *UpdateBackendStorageInput) SetResourceName(v string) *UpdateBackendStorageInput { + s.ResourceName = &v + return s +} + +type UpdateBackendStorageOutput struct { + _ struct{} `type:"structure"` + + AppId *string `locationName:"appId" type:"string"` + + BackendEnvironmentName *string `locationName:"backendEnvironmentName" type:"string"` + + JobId *string `locationName:"jobId" type:"string"` + + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateBackendStorageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateBackendStorageOutput) GoString() string { + return s.String() +} + +// SetAppId sets the AppId field's value. +func (s *UpdateBackendStorageOutput) SetAppId(v string) *UpdateBackendStorageOutput { + s.AppId = &v + return s +} + +// SetBackendEnvironmentName sets the BackendEnvironmentName field's value. +func (s *UpdateBackendStorageOutput) SetBackendEnvironmentName(v string) *UpdateBackendStorageOutput { + s.BackendEnvironmentName = &v + return s +} + +// SetJobId sets the JobId field's value. +func (s *UpdateBackendStorageOutput) SetJobId(v string) *UpdateBackendStorageOutput { + s.JobId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *UpdateBackendStorageOutput) SetStatus(v string) *UpdateBackendStorageOutput { + s.Status = &v + return s +} + +// The resource configuration for updating backend storage. +type UpdateBackendStorageResourceConfig struct { + _ struct{} `type:"structure"` + + // The authorization configuration for the storage S3 bucket. + // + // Permissions is a required field + Permissions *BackendStoragePermissions `locationName:"permissions" type:"structure" required:"true"` + + // The name of the storage service. + // + // ServiceName is a required field + ServiceName *string `locationName:"serviceName" type:"string" required:"true" enum:"ServiceName"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateBackendStorageResourceConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateBackendStorageResourceConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateBackendStorageResourceConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateBackendStorageResourceConfig"} + if s.Permissions == nil { + invalidParams.Add(request.NewErrParamRequired("Permissions")) + } + if s.ServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceName")) + } + if s.Permissions != nil { + if err := s.Permissions.Validate(); err != nil { + invalidParams.AddNested("Permissions", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPermissions sets the Permissions field's value. +func (s *UpdateBackendStorageResourceConfig) SetPermissions(v *BackendStoragePermissions) *UpdateBackendStorageResourceConfig { + s.Permissions = v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *UpdateBackendStorageResourceConfig) SetServiceName(v string) *UpdateBackendStorageResourceConfig { + s.ServiceName = &v + return s +} + const ( // AdditionalConstraintsElementRequireDigit is a AdditionalConstraintsElement enum value AdditionalConstraintsElementRequireDigit = "REQUIRE_DIGIT" @@ -7708,6 +9304,26 @@ func AuthResources_Values() []string { } } +const ( + // AuthenticatedElementRead is a AuthenticatedElement enum value + AuthenticatedElementRead = "READ" + + // AuthenticatedElementCreateAndUpdate is a AuthenticatedElement enum value + AuthenticatedElementCreateAndUpdate = "CREATE_AND_UPDATE" + + // AuthenticatedElementDelete is a AuthenticatedElement enum value + AuthenticatedElementDelete = "DELETE" +) + +// AuthenticatedElement_Values returns all elements of the AuthenticatedElement enum +func AuthenticatedElement_Values() []string { + return []string{ + AuthenticatedElementRead, + AuthenticatedElementCreateAndUpdate, + AuthenticatedElementDelete, + } +} + const ( // DeliveryMethodEmail is a DeliveryMethod enum value DeliveryMethodEmail = "EMAIL" @@ -7940,6 +9556,18 @@ func Service_Values() []string { } } +const ( + // ServiceNameS3 is a ServiceName enum value + ServiceNameS3 = "S3" +) + +// ServiceName_Values returns all elements of the ServiceName enum +func ServiceName_Values() []string { + return []string{ + ServiceNameS3, + } +} + const ( // SignInMethodEmail is a SignInMethod enum value SignInMethodEmail = "EMAIL" @@ -7979,3 +9607,23 @@ func Status_Values() []string { StatusStale, } } + +const ( + // UnAuthenticatedElementRead is a UnAuthenticatedElement enum value + UnAuthenticatedElementRead = "READ" + + // UnAuthenticatedElementCreateAndUpdate is a UnAuthenticatedElement enum value + UnAuthenticatedElementCreateAndUpdate = "CREATE_AND_UPDATE" + + // UnAuthenticatedElementDelete is a UnAuthenticatedElement enum value + UnAuthenticatedElementDelete = "DELETE" +) + +// UnAuthenticatedElement_Values returns all elements of the UnAuthenticatedElement enum +func UnAuthenticatedElement_Values() []string { + return []string{ + UnAuthenticatedElementRead, + UnAuthenticatedElementCreateAndUpdate, + UnAuthenticatedElementDelete, + } +} diff --git a/service/apigateway/api.go b/service/apigateway/api.go index 5de63dd551..19493d38c0 100644 --- a/service/apigateway/api.go +++ b/service/apigateway/api.go @@ -22264,9 +22264,12 @@ type MethodSetting struct { // the value is a Boolean. CachingEnabled *bool `locationName:"cachingEnabled" type:"boolean"` - // Specifies whether data trace logging is enabled for this method, which affects - // the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this - // setting is /{method_setting_key}/logging/dataTrace, and the value is a Boolean. + // Specifies whether full requests and responses are logged for this method, + // which affects the log entries pushed to Amazon CloudWatch Logs. This can + // be useful to troubleshoot APIs, but can result in logging sensitive data. + // We recommend that you don't enable this option for production APIs. The PATCH + // path for this setting is /{method_setting_key}/logging/dataTrace, and the + // value is a Boolean. DataTraceEnabled *bool `locationName:"dataTraceEnabled" type:"boolean"` // Specifies the logging level for this method, which affects the log entries diff --git a/service/appconfigdata/api.go b/service/appconfigdata/api.go new file mode 100644 index 0000000000..843ab5053c --- /dev/null +++ b/service/appconfigdata/api.go @@ -0,0 +1,847 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package appconfigdata + +import ( + "fmt" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" +) + +const opGetLatestConfiguration = "GetLatestConfiguration" + +// GetLatestConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetLatestConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetLatestConfiguration for more information on using the GetLatestConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetLatestConfigurationRequest method. +// req, resp := client.GetLatestConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfigdata-2021-11-11/GetLatestConfiguration +func (c *AppConfigData) GetLatestConfigurationRequest(input *GetLatestConfigurationInput) (req *request.Request, output *GetLatestConfigurationOutput) { + op := &request.Operation{ + Name: opGetLatestConfiguration, + HTTPMethod: "GET", + HTTPPath: "/configuration", + } + + if input == nil { + input = &GetLatestConfigurationInput{} + } + + output = &GetLatestConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetLatestConfiguration API operation for AWS AppConfig Data. +// +// Retrieves the latest deployed configuration. This API may return empty Configuration +// data if the client already has the latest version. See StartConfigurationSession +// to obtain an InitialConfigurationToken to call this API. +// +// Each call to GetLatestConfiguration returns a new ConfigurationToken (NextPollConfigurationToken +// in the response). This new token MUST be provided to the next call to GetLatestConfiguration +// when polling for configuration updates. +// +// To avoid excess charges, we recommend that you include the ClientConfigurationVersion +// value with every call to GetConfiguration. This value must be saved on your +// client. Subsequent calls to GetConfiguration must pass this value by using +// the ClientConfigurationVersion parameter. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 AppConfig Data's +// API operation GetLatestConfiguration for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// The requested resource could not be found. +// +// * BadRequestException +// The input fails to satisfy the constraints specified by the service. +// +// * InternalServerException +// There was an internal failure in the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfigdata-2021-11-11/GetLatestConfiguration +func (c *AppConfigData) GetLatestConfiguration(input *GetLatestConfigurationInput) (*GetLatestConfigurationOutput, error) { + req, out := c.GetLatestConfigurationRequest(input) + return out, req.Send() +} + +// GetLatestConfigurationWithContext is the same as GetLatestConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See GetLatestConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfigData) GetLatestConfigurationWithContext(ctx aws.Context, input *GetLatestConfigurationInput, opts ...request.Option) (*GetLatestConfigurationOutput, error) { + req, out := c.GetLatestConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartConfigurationSession = "StartConfigurationSession" + +// StartConfigurationSessionRequest generates a "aws/request.Request" representing the +// client's request for the StartConfigurationSession operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartConfigurationSession for more information on using the StartConfigurationSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartConfigurationSessionRequest method. +// req, resp := client.StartConfigurationSessionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfigdata-2021-11-11/StartConfigurationSession +func (c *AppConfigData) StartConfigurationSessionRequest(input *StartConfigurationSessionInput) (req *request.Request, output *StartConfigurationSessionOutput) { + op := &request.Operation{ + Name: opStartConfigurationSession, + HTTPMethod: "POST", + HTTPPath: "/configurationsessions", + } + + if input == nil { + input = &StartConfigurationSessionInput{} + } + + output = &StartConfigurationSessionOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartConfigurationSession API operation for AWS AppConfig Data. +// +// Starts a configuration session used to retrieve a deployed configuration. +// See the GetLatestConfiguration API for more details. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 AppConfig Data's +// API operation StartConfigurationSession for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ResourceNotFoundException +// The requested resource could not be found. +// +// * BadRequestException +// The input fails to satisfy the constraints specified by the service. +// +// * InternalServerException +// There was an internal failure in the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfigdata-2021-11-11/StartConfigurationSession +func (c *AppConfigData) StartConfigurationSession(input *StartConfigurationSessionInput) (*StartConfigurationSessionOutput, error) { + req, out := c.StartConfigurationSessionRequest(input) + return out, req.Send() +} + +// StartConfigurationSessionWithContext is the same as StartConfigurationSession with the addition of +// the ability to pass a context and additional request options. +// +// See StartConfigurationSession for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppConfigData) StartConfigurationSessionWithContext(ctx aws.Context, input *StartConfigurationSessionInput, opts ...request.Option) (*StartConfigurationSessionOutput, error) { + req, out := c.StartConfigurationSessionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Details describing why the request was invalid +type BadRequestDetails struct { + _ struct{} `type:"structure"` + + // Present if the Reason for the bad request was 'InvalidParameters' + InvalidParameters map[string]*InvalidParameterDetail `type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BadRequestDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BadRequestDetails) GoString() string { + return s.String() +} + +// SetInvalidParameters sets the InvalidParameters field's value. +func (s *BadRequestDetails) SetInvalidParameters(v map[string]*InvalidParameterDetail) *BadRequestDetails { + s.InvalidParameters = v + return s +} + +// The input fails to satisfy the constraints specified by the service. +type BadRequestException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // Details describing why the request was invalid + Details *BadRequestDetails `type:"structure"` + + Message_ *string `locationName:"Message" type:"string"` + + // Code indicating the reason the request was invalid. + Reason *string `type:"string" enum:"BadRequestReason"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BadRequestException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BadRequestException) GoString() string { + return s.String() +} + +func newErrorBadRequestException(v protocol.ResponseMetadata) error { + return &BadRequestException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *BadRequestException) Code() string { + return "BadRequestException" +} + +// Message returns the exception's message. +func (s *BadRequestException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *BadRequestException) OrigErr() error { + return nil +} + +func (s *BadRequestException) 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 *BadRequestException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *BadRequestException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Request parameters for the GetLatestConfiguration API +type GetLatestConfigurationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // Token describing the current state of the configuration session. To obtain + // a token, first call the StartConfigurationSession API. Note that every call + // to GetLatestConfiguration will return a new ConfigurationToken (NextPollConfigurationToken + // in the response) and MUST be provided to subsequent GetLatestConfiguration + // API calls. + // + // ConfigurationToken is a required field + ConfigurationToken *string `location:"querystring" locationName:"configuration_token" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLatestConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLatestConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetLatestConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetLatestConfigurationInput"} + if s.ConfigurationToken == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationToken")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfigurationToken sets the ConfigurationToken field's value. +func (s *GetLatestConfigurationInput) SetConfigurationToken(v string) *GetLatestConfigurationInput { + s.ConfigurationToken = &v + return s +} + +// Response parameters for the GetLatestConfiguration API +type GetLatestConfigurationOutput struct { + _ struct{} `type:"structure" payload:"Configuration"` + + // The data of the configuration. Note that this may be empty if the client + // already has the latest version of configuration. + // + // Configuration is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GetLatestConfigurationOutput's + // String and GoString methods. + Configuration []byte `type:"blob" sensitive:"true"` + + // A standard MIME type describing the format of the configuration content. + ContentType *string `location:"header" locationName:"Content-Type" type:"string"` + + // The latest token describing the current state of the configuration session. + // This MUST be provided to the next call to GetLatestConfiguration. + NextPollConfigurationToken *string `location:"header" locationName:"Next-Poll-Configuration-Token" type:"string"` + + // The amount of time the client should wait before polling for configuration + // updates again. See RequiredMinimumPollIntervalInSeconds to set the desired + // poll interval. + NextPollIntervalInSeconds *int64 `location:"header" locationName:"Next-Poll-Interval-In-Seconds" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLatestConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLatestConfigurationOutput) GoString() string { + return s.String() +} + +// SetConfiguration sets the Configuration field's value. +func (s *GetLatestConfigurationOutput) SetConfiguration(v []byte) *GetLatestConfigurationOutput { + s.Configuration = v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *GetLatestConfigurationOutput) SetContentType(v string) *GetLatestConfigurationOutput { + s.ContentType = &v + return s +} + +// SetNextPollConfigurationToken sets the NextPollConfigurationToken field's value. +func (s *GetLatestConfigurationOutput) SetNextPollConfigurationToken(v string) *GetLatestConfigurationOutput { + s.NextPollConfigurationToken = &v + return s +} + +// SetNextPollIntervalInSeconds sets the NextPollIntervalInSeconds field's value. +func (s *GetLatestConfigurationOutput) SetNextPollIntervalInSeconds(v int64) *GetLatestConfigurationOutput { + s.NextPollIntervalInSeconds = &v + return s +} + +// There was an internal failure in the service. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Contains details about an invalid parameter. +type InvalidParameterDetail struct { + _ struct{} `type:"structure"` + + // Detail describing why an individual parameter did not satisfy the constraints + // specified by the service + Problem *string `type:"string" enum:"InvalidParameterProblem"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidParameterDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidParameterDetail) GoString() string { + return s.String() +} + +// SetProblem sets the Problem field's value. +func (s *InvalidParameterDetail) SetProblem(v string) *InvalidParameterDetail { + s.Problem = &v + return s +} + +// The requested resource could not be found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + // A map indicating which parameters in the request reference the resource that + // was not found. + ReferencedBy map[string]*string `type:"map"` + + // The type of resource that was not found. + ResourceType *string `type:"string" enum:"ResourceType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Request parameters for the StartConfigurationSession API. +type StartConfigurationSessionInput struct { + _ struct{} `type:"structure"` + + // The application ID or the application name. + // + // ApplicationIdentifier is a required field + ApplicationIdentifier *string `min:"1" type:"string" required:"true"` + + // The configuration profile ID or the configuration profile name. + // + // ConfigurationProfileIdentifier is a required field + ConfigurationProfileIdentifier *string `min:"1" type:"string" required:"true"` + + // The environment ID or the environment name. + // + // EnvironmentIdentifier is a required field + EnvironmentIdentifier *string `min:"1" type:"string" required:"true"` + + // The interval at which your client will poll for configuration. If provided, + // the service will throw a BadRequestException if the client polls before the + // specified poll interval. By default, client poll intervals are not enforced. + RequiredMinimumPollIntervalInSeconds *int64 `min:"15" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartConfigurationSessionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartConfigurationSessionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartConfigurationSessionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartConfigurationSessionInput"} + if s.ApplicationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationIdentifier")) + } + if s.ApplicationIdentifier != nil && len(*s.ApplicationIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationIdentifier", 1)) + } + if s.ConfigurationProfileIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileIdentifier")) + } + if s.ConfigurationProfileIdentifier != nil && len(*s.ConfigurationProfileIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileIdentifier", 1)) + } + if s.EnvironmentIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentIdentifier")) + } + if s.EnvironmentIdentifier != nil && len(*s.EnvironmentIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentIdentifier", 1)) + } + if s.RequiredMinimumPollIntervalInSeconds != nil && *s.RequiredMinimumPollIntervalInSeconds < 15 { + invalidParams.Add(request.NewErrParamMinValue("RequiredMinimumPollIntervalInSeconds", 15)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationIdentifier sets the ApplicationIdentifier field's value. +func (s *StartConfigurationSessionInput) SetApplicationIdentifier(v string) *StartConfigurationSessionInput { + s.ApplicationIdentifier = &v + return s +} + +// SetConfigurationProfileIdentifier sets the ConfigurationProfileIdentifier field's value. +func (s *StartConfigurationSessionInput) SetConfigurationProfileIdentifier(v string) *StartConfigurationSessionInput { + s.ConfigurationProfileIdentifier = &v + return s +} + +// SetEnvironmentIdentifier sets the EnvironmentIdentifier field's value. +func (s *StartConfigurationSessionInput) SetEnvironmentIdentifier(v string) *StartConfigurationSessionInput { + s.EnvironmentIdentifier = &v + return s +} + +// SetRequiredMinimumPollIntervalInSeconds sets the RequiredMinimumPollIntervalInSeconds field's value. +func (s *StartConfigurationSessionInput) SetRequiredMinimumPollIntervalInSeconds(v int64) *StartConfigurationSessionInput { + s.RequiredMinimumPollIntervalInSeconds = &v + return s +} + +// Response parameters for the StartConfigurationSession API. +type StartConfigurationSessionOutput struct { + _ struct{} `type:"structure"` + + // Token encapsulating state about the configuration session. Provide this token + // to the GetLatestConfiguration API to retrieve configuration data. + // + // This token should only be used once in your first call to GetLatestConfiguration. + // You MUST use the new token in the GetConfiguration response (NextPollConfigurationToken) + // in each subsequent call to GetLatestConfiguration. + InitialConfigurationToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartConfigurationSessionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartConfigurationSessionOutput) GoString() string { + return s.String() +} + +// SetInitialConfigurationToken sets the InitialConfigurationToken field's value. +func (s *StartConfigurationSessionOutput) SetInitialConfigurationToken(v string) *StartConfigurationSessionOutput { + s.InitialConfigurationToken = &v + return s +} + +// The request was denied due to request throttling. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +const ( + // BadRequestReasonInvalidParameters is a BadRequestReason enum value + BadRequestReasonInvalidParameters = "InvalidParameters" +) + +// BadRequestReason_Values returns all elements of the BadRequestReason enum +func BadRequestReason_Values() []string { + return []string{ + BadRequestReasonInvalidParameters, + } +} + +const ( + // InvalidParameterProblemCorrupted is a InvalidParameterProblem enum value + InvalidParameterProblemCorrupted = "Corrupted" + + // InvalidParameterProblemExpired is a InvalidParameterProblem enum value + InvalidParameterProblemExpired = "Expired" + + // InvalidParameterProblemPollIntervalNotSatisfied is a InvalidParameterProblem enum value + InvalidParameterProblemPollIntervalNotSatisfied = "PollIntervalNotSatisfied" +) + +// InvalidParameterProblem_Values returns all elements of the InvalidParameterProblem enum +func InvalidParameterProblem_Values() []string { + return []string{ + InvalidParameterProblemCorrupted, + InvalidParameterProblemExpired, + InvalidParameterProblemPollIntervalNotSatisfied, + } +} + +const ( + // ResourceTypeApplication is a ResourceType enum value + ResourceTypeApplication = "Application" + + // ResourceTypeConfigurationProfile is a ResourceType enum value + ResourceTypeConfigurationProfile = "ConfigurationProfile" + + // ResourceTypeDeployment is a ResourceType enum value + ResourceTypeDeployment = "Deployment" + + // ResourceTypeEnvironment is a ResourceType enum value + ResourceTypeEnvironment = "Environment" + + // ResourceTypeConfiguration is a ResourceType enum value + ResourceTypeConfiguration = "Configuration" +) + +// ResourceType_Values returns all elements of the ResourceType enum +func ResourceType_Values() []string { + return []string{ + ResourceTypeApplication, + ResourceTypeConfigurationProfile, + ResourceTypeDeployment, + ResourceTypeEnvironment, + ResourceTypeConfiguration, + } +} diff --git a/service/appconfigdata/appconfigdataiface/interface.go b/service/appconfigdata/appconfigdataiface/interface.go new file mode 100644 index 0000000000..a0dd085228 --- /dev/null +++ b/service/appconfigdata/appconfigdataiface/interface.go @@ -0,0 +1,72 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package appconfigdataiface provides an interface to enable mocking the AWS AppConfig Data service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package appconfigdataiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/appconfigdata" +) + +// AppConfigDataAPI provides an interface to enable mocking the +// appconfigdata.AppConfigData service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // AWS AppConfig Data. +// func myFunc(svc appconfigdataiface.AppConfigDataAPI) bool { +// // Make svc.GetLatestConfiguration request +// } +// +// func main() { +// sess := session.New() +// svc := appconfigdata.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockAppConfigDataClient struct { +// appconfigdataiface.AppConfigDataAPI +// } +// func (m *mockAppConfigDataClient) GetLatestConfiguration(input *appconfigdata.GetLatestConfigurationInput) (*appconfigdata.GetLatestConfigurationOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockAppConfigDataClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type AppConfigDataAPI interface { + GetLatestConfiguration(*appconfigdata.GetLatestConfigurationInput) (*appconfigdata.GetLatestConfigurationOutput, error) + GetLatestConfigurationWithContext(aws.Context, *appconfigdata.GetLatestConfigurationInput, ...request.Option) (*appconfigdata.GetLatestConfigurationOutput, error) + GetLatestConfigurationRequest(*appconfigdata.GetLatestConfigurationInput) (*request.Request, *appconfigdata.GetLatestConfigurationOutput) + + StartConfigurationSession(*appconfigdata.StartConfigurationSessionInput) (*appconfigdata.StartConfigurationSessionOutput, error) + StartConfigurationSessionWithContext(aws.Context, *appconfigdata.StartConfigurationSessionInput, ...request.Option) (*appconfigdata.StartConfigurationSessionOutput, error) + StartConfigurationSessionRequest(*appconfigdata.StartConfigurationSessionInput) (*request.Request, *appconfigdata.StartConfigurationSessionOutput) +} + +var _ AppConfigDataAPI = (*appconfigdata.AppConfigData)(nil) diff --git a/service/appconfigdata/doc.go b/service/appconfigdata/doc.go new file mode 100644 index 0000000000..e545bd1b0e --- /dev/null +++ b/service/appconfigdata/doc.go @@ -0,0 +1,29 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package appconfigdata provides the client and types for making API +// requests to AWS AppConfig Data. +// +// Use the AppConfigData API, a capability of AWS AppConfig, to retrieve deployed +// configuration. +// +// See https://docs.aws.amazon.com/goto/WebAPI/appconfigdata-2021-11-11 for more information on this service. +// +// See appconfigdata package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/appconfigdata/ +// +// Using the Client +// +// To contact AWS AppConfig Data with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the AWS AppConfig Data client AppConfigData for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/appconfigdata/#New +package appconfigdata diff --git a/service/appconfigdata/errors.go b/service/appconfigdata/errors.go new file mode 100644 index 0000000000..561921e04d --- /dev/null +++ b/service/appconfigdata/errors.go @@ -0,0 +1,41 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package appconfigdata + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeBadRequestException for service response error code + // "BadRequestException". + // + // The input fails to satisfy the constraints specified by the service. + ErrCodeBadRequestException = "BadRequestException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // There was an internal failure in the service. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The requested resource could not be found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // The request was denied due to request throttling. + ErrCodeThrottlingException = "ThrottlingException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "BadRequestException": newErrorBadRequestException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ThrottlingException": newErrorThrottlingException, +} diff --git a/service/appconfigdata/service.go b/service/appconfigdata/service.go new file mode 100644 index 0000000000..20006dd3b1 --- /dev/null +++ b/service/appconfigdata/service.go @@ -0,0 +1,105 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package appconfigdata + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// AppConfigData provides the API operation methods for making requests to +// AWS AppConfig Data. See this package's package overview docs +// for details on the service. +// +// AppConfigData methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type AppConfigData struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "AppConfigData" // Name of service. + EndpointsID = "appconfigdata" // ID to lookup a service endpoint with. + ServiceID = "AppConfigData" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the AppConfigData client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// mySession := session.Must(session.NewSession()) +// +// // Create a AppConfigData client from just a session. +// svc := appconfigdata.New(mySession) +// +// // Create a AppConfigData client with additional configuration +// svc := appconfigdata.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *AppConfigData { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "appconfig" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *AppConfigData { + svc := &AppConfigData{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2021-11-11", + ResolvedRegion: resolvedRegion, + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a AppConfigData operation and runs any +// custom request initialization. +func (c *AppConfigData) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/drs/api.go b/service/drs/api.go new file mode 100644 index 0000000000..3fa6a6542a --- /dev/null +++ b/service/drs/api.go @@ -0,0 +1,10956 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package drs + +import ( + "fmt" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opCreateReplicationConfigurationTemplate = "CreateReplicationConfigurationTemplate" + +// CreateReplicationConfigurationTemplateRequest generates a "aws/request.Request" representing the +// client's request for the CreateReplicationConfigurationTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateReplicationConfigurationTemplate for more information on using the CreateReplicationConfigurationTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateReplicationConfigurationTemplateRequest method. +// req, resp := client.CreateReplicationConfigurationTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/CreateReplicationConfigurationTemplate +func (c *Drs) CreateReplicationConfigurationTemplateRequest(input *CreateReplicationConfigurationTemplateInput) (req *request.Request, output *CreateReplicationConfigurationTemplateOutput) { + op := &request.Operation{ + Name: opCreateReplicationConfigurationTemplate, + HTTPMethod: "POST", + HTTPPath: "/CreateReplicationConfigurationTemplate", + } + + if input == nil { + input = &CreateReplicationConfigurationTemplateInput{} + } + + output = &CreateReplicationConfigurationTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateReplicationConfigurationTemplate API operation for Elastic Disaster Recovery Service. +// +// Creates a new ReplicationConfigurationTemplate. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation CreateReplicationConfigurationTemplate for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ServiceQuotaExceededException +// The request could not be completed because its exceeded the service quota. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// TYou do not have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by the AWS service. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/CreateReplicationConfigurationTemplate +func (c *Drs) CreateReplicationConfigurationTemplate(input *CreateReplicationConfigurationTemplateInput) (*CreateReplicationConfigurationTemplateOutput, error) { + req, out := c.CreateReplicationConfigurationTemplateRequest(input) + return out, req.Send() +} + +// CreateReplicationConfigurationTemplateWithContext is the same as CreateReplicationConfigurationTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See CreateReplicationConfigurationTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) CreateReplicationConfigurationTemplateWithContext(ctx aws.Context, input *CreateReplicationConfigurationTemplateInput, opts ...request.Option) (*CreateReplicationConfigurationTemplateOutput, error) { + req, out := c.CreateReplicationConfigurationTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteJob = "DeleteJob" + +// DeleteJobRequest generates a "aws/request.Request" representing the +// client's request for the DeleteJob operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteJob for more information on using the DeleteJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteJobRequest method. +// req, resp := client.DeleteJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DeleteJob +func (c *Drs) DeleteJobRequest(input *DeleteJobInput) (req *request.Request, output *DeleteJobOutput) { + op := &request.Operation{ + Name: opDeleteJob, + HTTPMethod: "POST", + HTTPPath: "/DeleteJob", + } + + if input == nil { + input = &DeleteJobInput{} + } + + output = &DeleteJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteJob API operation for Elastic Disaster Recovery Service. +// +// Deletes a single Job by ID. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation DeleteJob for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ConflictException +// The request could not be completed due to a conflict with the current state +// of the target resource. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DeleteJob +func (c *Drs) DeleteJob(input *DeleteJobInput) (*DeleteJobOutput, error) { + req, out := c.DeleteJobRequest(input) + return out, req.Send() +} + +// DeleteJobWithContext is the same as DeleteJob with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) DeleteJobWithContext(ctx aws.Context, input *DeleteJobInput, opts ...request.Option) (*DeleteJobOutput, error) { + req, out := c.DeleteJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteRecoveryInstance = "DeleteRecoveryInstance" + +// DeleteRecoveryInstanceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRecoveryInstance operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteRecoveryInstance for more information on using the DeleteRecoveryInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteRecoveryInstanceRequest method. +// req, resp := client.DeleteRecoveryInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DeleteRecoveryInstance +func (c *Drs) DeleteRecoveryInstanceRequest(input *DeleteRecoveryInstanceInput) (req *request.Request, output *DeleteRecoveryInstanceOutput) { + op := &request.Operation{ + Name: opDeleteRecoveryInstance, + HTTPMethod: "POST", + HTTPPath: "/DeleteRecoveryInstance", + } + + if input == nil { + input = &DeleteRecoveryInstanceInput{} + } + + output = &DeleteRecoveryInstanceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteRecoveryInstance API operation for Elastic Disaster Recovery Service. +// +// Deletes a single Recovery Instance by ID. This deletes the Recovery Instance +// resource from Elastic Disaster Recovery. The Recovery Instance must be disconnected +// first in order to delete 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 Elastic Disaster Recovery Service's +// API operation DeleteRecoveryInstance for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ConflictException +// The request could not be completed due to a conflict with the current state +// of the target resource. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// TYou do not have sufficient access to perform this action. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DeleteRecoveryInstance +func (c *Drs) DeleteRecoveryInstance(input *DeleteRecoveryInstanceInput) (*DeleteRecoveryInstanceOutput, error) { + req, out := c.DeleteRecoveryInstanceRequest(input) + return out, req.Send() +} + +// DeleteRecoveryInstanceWithContext is the same as DeleteRecoveryInstance with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteRecoveryInstance for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) DeleteRecoveryInstanceWithContext(ctx aws.Context, input *DeleteRecoveryInstanceInput, opts ...request.Option) (*DeleteRecoveryInstanceOutput, error) { + req, out := c.DeleteRecoveryInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteReplicationConfigurationTemplate = "DeleteReplicationConfigurationTemplate" + +// DeleteReplicationConfigurationTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReplicationConfigurationTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteReplicationConfigurationTemplate for more information on using the DeleteReplicationConfigurationTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteReplicationConfigurationTemplateRequest method. +// req, resp := client.DeleteReplicationConfigurationTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DeleteReplicationConfigurationTemplate +func (c *Drs) DeleteReplicationConfigurationTemplateRequest(input *DeleteReplicationConfigurationTemplateInput) (req *request.Request, output *DeleteReplicationConfigurationTemplateOutput) { + op := &request.Operation{ + Name: opDeleteReplicationConfigurationTemplate, + HTTPMethod: "POST", + HTTPPath: "/DeleteReplicationConfigurationTemplate", + } + + if input == nil { + input = &DeleteReplicationConfigurationTemplateInput{} + } + + output = &DeleteReplicationConfigurationTemplateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteReplicationConfigurationTemplate API operation for Elastic Disaster Recovery Service. +// +// Deletes a single Replication Configuration Template by ID +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation DeleteReplicationConfigurationTemplate for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ConflictException +// The request could not be completed due to a conflict with the current state +// of the target resource. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DeleteReplicationConfigurationTemplate +func (c *Drs) DeleteReplicationConfigurationTemplate(input *DeleteReplicationConfigurationTemplateInput) (*DeleteReplicationConfigurationTemplateOutput, error) { + req, out := c.DeleteReplicationConfigurationTemplateRequest(input) + return out, req.Send() +} + +// DeleteReplicationConfigurationTemplateWithContext is the same as DeleteReplicationConfigurationTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteReplicationConfigurationTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) DeleteReplicationConfigurationTemplateWithContext(ctx aws.Context, input *DeleteReplicationConfigurationTemplateInput, opts ...request.Option) (*DeleteReplicationConfigurationTemplateOutput, error) { + req, out := c.DeleteReplicationConfigurationTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteSourceServer = "DeleteSourceServer" + +// DeleteSourceServerRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSourceServer operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteSourceServer for more information on using the DeleteSourceServer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteSourceServerRequest method. +// req, resp := client.DeleteSourceServerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DeleteSourceServer +func (c *Drs) DeleteSourceServerRequest(input *DeleteSourceServerInput) (req *request.Request, output *DeleteSourceServerOutput) { + op := &request.Operation{ + Name: opDeleteSourceServer, + HTTPMethod: "POST", + HTTPPath: "/DeleteSourceServer", + } + + if input == nil { + input = &DeleteSourceServerInput{} + } + + output = &DeleteSourceServerOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteSourceServer API operation for Elastic Disaster Recovery Service. +// +// Deletes a single Source Server by ID. The Source Server must be disconnected +// first. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation DeleteSourceServer for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ConflictException +// The request could not be completed due to a conflict with the current state +// of the target resource. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DeleteSourceServer +func (c *Drs) DeleteSourceServer(input *DeleteSourceServerInput) (*DeleteSourceServerOutput, error) { + req, out := c.DeleteSourceServerRequest(input) + return out, req.Send() +} + +// DeleteSourceServerWithContext is the same as DeleteSourceServer with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSourceServer for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) DeleteSourceServerWithContext(ctx aws.Context, input *DeleteSourceServerInput, opts ...request.Option) (*DeleteSourceServerOutput, error) { + req, out := c.DeleteSourceServerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeJobLogItems = "DescribeJobLogItems" + +// DescribeJobLogItemsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeJobLogItems operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeJobLogItems for more information on using the DescribeJobLogItems +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeJobLogItemsRequest method. +// req, resp := client.DescribeJobLogItemsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeJobLogItems +func (c *Drs) DescribeJobLogItemsRequest(input *DescribeJobLogItemsInput) (req *request.Request, output *DescribeJobLogItemsOutput) { + op := &request.Operation{ + Name: opDescribeJobLogItems, + HTTPMethod: "POST", + HTTPPath: "/DescribeJobLogItems", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeJobLogItemsInput{} + } + + output = &DescribeJobLogItemsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeJobLogItems API operation for Elastic Disaster Recovery Service. +// +// Retrieves a detailed Job log with pagination. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation DescribeJobLogItems for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by the AWS service. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeJobLogItems +func (c *Drs) DescribeJobLogItems(input *DescribeJobLogItemsInput) (*DescribeJobLogItemsOutput, error) { + req, out := c.DescribeJobLogItemsRequest(input) + return out, req.Send() +} + +// DescribeJobLogItemsWithContext is the same as DescribeJobLogItems with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeJobLogItems for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) DescribeJobLogItemsWithContext(ctx aws.Context, input *DescribeJobLogItemsInput, opts ...request.Option) (*DescribeJobLogItemsOutput, error) { + req, out := c.DescribeJobLogItemsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeJobLogItemsPages iterates over the pages of a DescribeJobLogItems operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeJobLogItems 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 DescribeJobLogItems operation. +// pageNum := 0 +// err := client.DescribeJobLogItemsPages(params, +// func(page *drs.DescribeJobLogItemsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Drs) DescribeJobLogItemsPages(input *DescribeJobLogItemsInput, fn func(*DescribeJobLogItemsOutput, bool) bool) error { + return c.DescribeJobLogItemsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeJobLogItemsPagesWithContext same as DescribeJobLogItemsPages 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 *Drs) DescribeJobLogItemsPagesWithContext(ctx aws.Context, input *DescribeJobLogItemsInput, fn func(*DescribeJobLogItemsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeJobLogItemsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeJobLogItemsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeJobLogItemsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeJobs = "DescribeJobs" + +// DescribeJobsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeJobs operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeJobs for more information on using the DescribeJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeJobsRequest method. +// req, resp := client.DescribeJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeJobs +func (c *Drs) DescribeJobsRequest(input *DescribeJobsInput) (req *request.Request, output *DescribeJobsOutput) { + op := &request.Operation{ + Name: opDescribeJobs, + HTTPMethod: "POST", + HTTPPath: "/DescribeJobs", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeJobsInput{} + } + + output = &DescribeJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeJobs API operation for Elastic Disaster Recovery Service. +// +// Returns a list of Jobs. Use the JobsID and fromDate and toDate filters to +// limit which jobs are returned. The response is sorted by creationDataTime +// - latest date first. Jobs are created by the StartRecovery, TerminateRecoveryInstances +// and StartFailbackLaunch APIs. Jobs are also created by DiagnosticLaunch and +// TerminateDiagnosticInstances, which are APIs available only to *Support* +// and only used in response to relevant support tickets. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation DescribeJobs for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by the AWS service. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeJobs +func (c *Drs) DescribeJobs(input *DescribeJobsInput) (*DescribeJobsOutput, error) { + req, out := c.DescribeJobsRequest(input) + return out, req.Send() +} + +// DescribeJobsWithContext is the same as DescribeJobs with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeJobs for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) DescribeJobsWithContext(ctx aws.Context, input *DescribeJobsInput, opts ...request.Option) (*DescribeJobsOutput, error) { + req, out := c.DescribeJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeJobsPages iterates over the pages of a DescribeJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeJobs 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 DescribeJobs operation. +// pageNum := 0 +// err := client.DescribeJobsPages(params, +// func(page *drs.DescribeJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Drs) DescribeJobsPages(input *DescribeJobsInput, fn func(*DescribeJobsOutput, bool) bool) error { + return c.DescribeJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeJobsPagesWithContext same as DescribeJobsPages 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 *Drs) DescribeJobsPagesWithContext(ctx aws.Context, input *DescribeJobsInput, fn func(*DescribeJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeJobsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeRecoveryInstances = "DescribeRecoveryInstances" + +// DescribeRecoveryInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRecoveryInstances operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeRecoveryInstances for more information on using the DescribeRecoveryInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeRecoveryInstancesRequest method. +// req, resp := client.DescribeRecoveryInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeRecoveryInstances +func (c *Drs) DescribeRecoveryInstancesRequest(input *DescribeRecoveryInstancesInput) (req *request.Request, output *DescribeRecoveryInstancesOutput) { + op := &request.Operation{ + Name: opDescribeRecoveryInstances, + HTTPMethod: "POST", + HTTPPath: "/DescribeRecoveryInstances", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeRecoveryInstancesInput{} + } + + output = &DescribeRecoveryInstancesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeRecoveryInstances API operation for Elastic Disaster Recovery Service. +// +// Lists all Recovery Instances or multiple Recovery Instances by ID. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation DescribeRecoveryInstances for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// TYou do not have sufficient access to perform this action. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeRecoveryInstances +func (c *Drs) DescribeRecoveryInstances(input *DescribeRecoveryInstancesInput) (*DescribeRecoveryInstancesOutput, error) { + req, out := c.DescribeRecoveryInstancesRequest(input) + return out, req.Send() +} + +// DescribeRecoveryInstancesWithContext is the same as DescribeRecoveryInstances with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeRecoveryInstances for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) DescribeRecoveryInstancesWithContext(ctx aws.Context, input *DescribeRecoveryInstancesInput, opts ...request.Option) (*DescribeRecoveryInstancesOutput, error) { + req, out := c.DescribeRecoveryInstancesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeRecoveryInstancesPages iterates over the pages of a DescribeRecoveryInstances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeRecoveryInstances 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 DescribeRecoveryInstances operation. +// pageNum := 0 +// err := client.DescribeRecoveryInstancesPages(params, +// func(page *drs.DescribeRecoveryInstancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Drs) DescribeRecoveryInstancesPages(input *DescribeRecoveryInstancesInput, fn func(*DescribeRecoveryInstancesOutput, bool) bool) error { + return c.DescribeRecoveryInstancesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeRecoveryInstancesPagesWithContext same as DescribeRecoveryInstancesPages 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 *Drs) DescribeRecoveryInstancesPagesWithContext(ctx aws.Context, input *DescribeRecoveryInstancesInput, fn func(*DescribeRecoveryInstancesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeRecoveryInstancesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeRecoveryInstancesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeRecoveryInstancesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeRecoverySnapshots = "DescribeRecoverySnapshots" + +// DescribeRecoverySnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRecoverySnapshots operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeRecoverySnapshots for more information on using the DescribeRecoverySnapshots +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeRecoverySnapshotsRequest method. +// req, resp := client.DescribeRecoverySnapshotsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeRecoverySnapshots +func (c *Drs) DescribeRecoverySnapshotsRequest(input *DescribeRecoverySnapshotsInput) (req *request.Request, output *DescribeRecoverySnapshotsOutput) { + op := &request.Operation{ + Name: opDescribeRecoverySnapshots, + HTTPMethod: "POST", + HTTPPath: "/DescribeRecoverySnapshots", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeRecoverySnapshotsInput{} + } + + output = &DescribeRecoverySnapshotsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeRecoverySnapshots API operation for Elastic Disaster Recovery Service. +// +// Lists all Recovery Snapshots for a single Source Server. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation DescribeRecoverySnapshots for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// TYou do not have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by the AWS service. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeRecoverySnapshots +func (c *Drs) DescribeRecoverySnapshots(input *DescribeRecoverySnapshotsInput) (*DescribeRecoverySnapshotsOutput, error) { + req, out := c.DescribeRecoverySnapshotsRequest(input) + return out, req.Send() +} + +// DescribeRecoverySnapshotsWithContext is the same as DescribeRecoverySnapshots with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeRecoverySnapshots for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) DescribeRecoverySnapshotsWithContext(ctx aws.Context, input *DescribeRecoverySnapshotsInput, opts ...request.Option) (*DescribeRecoverySnapshotsOutput, error) { + req, out := c.DescribeRecoverySnapshotsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeRecoverySnapshotsPages iterates over the pages of a DescribeRecoverySnapshots operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeRecoverySnapshots 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 DescribeRecoverySnapshots operation. +// pageNum := 0 +// err := client.DescribeRecoverySnapshotsPages(params, +// func(page *drs.DescribeRecoverySnapshotsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Drs) DescribeRecoverySnapshotsPages(input *DescribeRecoverySnapshotsInput, fn func(*DescribeRecoverySnapshotsOutput, bool) bool) error { + return c.DescribeRecoverySnapshotsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeRecoverySnapshotsPagesWithContext same as DescribeRecoverySnapshotsPages 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 *Drs) DescribeRecoverySnapshotsPagesWithContext(ctx aws.Context, input *DescribeRecoverySnapshotsInput, fn func(*DescribeRecoverySnapshotsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeRecoverySnapshotsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeRecoverySnapshotsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeRecoverySnapshotsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeReplicationConfigurationTemplates = "DescribeReplicationConfigurationTemplates" + +// DescribeReplicationConfigurationTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReplicationConfigurationTemplates operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeReplicationConfigurationTemplates for more information on using the DescribeReplicationConfigurationTemplates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeReplicationConfigurationTemplatesRequest method. +// req, resp := client.DescribeReplicationConfigurationTemplatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeReplicationConfigurationTemplates +func (c *Drs) DescribeReplicationConfigurationTemplatesRequest(input *DescribeReplicationConfigurationTemplatesInput) (req *request.Request, output *DescribeReplicationConfigurationTemplatesOutput) { + op := &request.Operation{ + Name: opDescribeReplicationConfigurationTemplates, + HTTPMethod: "POST", + HTTPPath: "/DescribeReplicationConfigurationTemplates", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeReplicationConfigurationTemplatesInput{} + } + + output = &DescribeReplicationConfigurationTemplatesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeReplicationConfigurationTemplates API operation for Elastic Disaster Recovery Service. +// +// Lists all ReplicationConfigurationTemplates, filtered by Source Server IDs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation DescribeReplicationConfigurationTemplates for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by the AWS service. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeReplicationConfigurationTemplates +func (c *Drs) DescribeReplicationConfigurationTemplates(input *DescribeReplicationConfigurationTemplatesInput) (*DescribeReplicationConfigurationTemplatesOutput, error) { + req, out := c.DescribeReplicationConfigurationTemplatesRequest(input) + return out, req.Send() +} + +// DescribeReplicationConfigurationTemplatesWithContext is the same as DescribeReplicationConfigurationTemplates with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeReplicationConfigurationTemplates for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) DescribeReplicationConfigurationTemplatesWithContext(ctx aws.Context, input *DescribeReplicationConfigurationTemplatesInput, opts ...request.Option) (*DescribeReplicationConfigurationTemplatesOutput, error) { + req, out := c.DescribeReplicationConfigurationTemplatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeReplicationConfigurationTemplatesPages iterates over the pages of a DescribeReplicationConfigurationTemplates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeReplicationConfigurationTemplates 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 DescribeReplicationConfigurationTemplates operation. +// pageNum := 0 +// err := client.DescribeReplicationConfigurationTemplatesPages(params, +// func(page *drs.DescribeReplicationConfigurationTemplatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Drs) DescribeReplicationConfigurationTemplatesPages(input *DescribeReplicationConfigurationTemplatesInput, fn func(*DescribeReplicationConfigurationTemplatesOutput, bool) bool) error { + return c.DescribeReplicationConfigurationTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeReplicationConfigurationTemplatesPagesWithContext same as DescribeReplicationConfigurationTemplatesPages 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 *Drs) DescribeReplicationConfigurationTemplatesPagesWithContext(ctx aws.Context, input *DescribeReplicationConfigurationTemplatesInput, fn func(*DescribeReplicationConfigurationTemplatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeReplicationConfigurationTemplatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeReplicationConfigurationTemplatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeReplicationConfigurationTemplatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeSourceServers = "DescribeSourceServers" + +// DescribeSourceServersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSourceServers operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeSourceServers for more information on using the DescribeSourceServers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeSourceServersRequest method. +// req, resp := client.DescribeSourceServersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeSourceServers +func (c *Drs) DescribeSourceServersRequest(input *DescribeSourceServersInput) (req *request.Request, output *DescribeSourceServersOutput) { + op := &request.Operation{ + Name: opDescribeSourceServers, + HTTPMethod: "POST", + HTTPPath: "/DescribeSourceServers", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeSourceServersInput{} + } + + output = &DescribeSourceServersOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSourceServers API operation for Elastic Disaster Recovery Service. +// +// Lists all Source Servers or multiple Source Servers filtered by ID. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation DescribeSourceServers for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by the AWS service. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DescribeSourceServers +func (c *Drs) DescribeSourceServers(input *DescribeSourceServersInput) (*DescribeSourceServersOutput, error) { + req, out := c.DescribeSourceServersRequest(input) + return out, req.Send() +} + +// DescribeSourceServersWithContext is the same as DescribeSourceServers with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSourceServers for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) DescribeSourceServersWithContext(ctx aws.Context, input *DescribeSourceServersInput, opts ...request.Option) (*DescribeSourceServersOutput, error) { + req, out := c.DescribeSourceServersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeSourceServersPages iterates over the pages of a DescribeSourceServers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSourceServers 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 DescribeSourceServers operation. +// pageNum := 0 +// err := client.DescribeSourceServersPages(params, +// func(page *drs.DescribeSourceServersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Drs) DescribeSourceServersPages(input *DescribeSourceServersInput, fn func(*DescribeSourceServersOutput, bool) bool) error { + return c.DescribeSourceServersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeSourceServersPagesWithContext same as DescribeSourceServersPages 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 *Drs) DescribeSourceServersPagesWithContext(ctx aws.Context, input *DescribeSourceServersInput, fn func(*DescribeSourceServersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeSourceServersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeSourceServersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeSourceServersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDisconnectRecoveryInstance = "DisconnectRecoveryInstance" + +// DisconnectRecoveryInstanceRequest generates a "aws/request.Request" representing the +// client's request for the DisconnectRecoveryInstance operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisconnectRecoveryInstance for more information on using the DisconnectRecoveryInstance +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DisconnectRecoveryInstanceRequest method. +// req, resp := client.DisconnectRecoveryInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DisconnectRecoveryInstance +func (c *Drs) DisconnectRecoveryInstanceRequest(input *DisconnectRecoveryInstanceInput) (req *request.Request, output *DisconnectRecoveryInstanceOutput) { + op := &request.Operation{ + Name: opDisconnectRecoveryInstance, + HTTPMethod: "POST", + HTTPPath: "/DisconnectRecoveryInstance", + } + + if input == nil { + input = &DisconnectRecoveryInstanceInput{} + } + + output = &DisconnectRecoveryInstanceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisconnectRecoveryInstance API operation for Elastic Disaster Recovery Service. +// +// Disconnect a Recovery Instance from Elastic Disaster Recovery. Data replication +// is stopped immediately. All AWS resources created by Elastic Disaster Recovery +// for enabling the replication of the Recovery Instance will be terminated +// / deleted within 90 minutes. If the agent on the Recovery Instance has not +// been prevented from communicating with the Elastic Disaster Recovery service, +// then it will receive a command to uninstall itself (within approximately +// 10 minutes). The following properties of the Recovery Instance will be changed +// immediately: dataReplicationInfo.dataReplicationState will be set to DISCONNECTED; +// The totalStorageBytes property for each of dataReplicationInfo.replicatedDisks +// will be set to zero; dataReplicationInfo.lagDuration and dataReplicationInfo.lagDuration +// will be nullified. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation DisconnectRecoveryInstance for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ConflictException +// The request could not be completed due to a conflict with the current state +// of the target resource. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// TYou do not have sufficient access to perform this action. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DisconnectRecoveryInstance +func (c *Drs) DisconnectRecoveryInstance(input *DisconnectRecoveryInstanceInput) (*DisconnectRecoveryInstanceOutput, error) { + req, out := c.DisconnectRecoveryInstanceRequest(input) + return out, req.Send() +} + +// DisconnectRecoveryInstanceWithContext is the same as DisconnectRecoveryInstance with the addition of +// the ability to pass a context and additional request options. +// +// See DisconnectRecoveryInstance for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) DisconnectRecoveryInstanceWithContext(ctx aws.Context, input *DisconnectRecoveryInstanceInput, opts ...request.Option) (*DisconnectRecoveryInstanceOutput, error) { + req, out := c.DisconnectRecoveryInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisconnectSourceServer = "DisconnectSourceServer" + +// DisconnectSourceServerRequest generates a "aws/request.Request" representing the +// client's request for the DisconnectSourceServer operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisconnectSourceServer for more information on using the DisconnectSourceServer +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DisconnectSourceServerRequest method. +// req, resp := client.DisconnectSourceServerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DisconnectSourceServer +func (c *Drs) DisconnectSourceServerRequest(input *DisconnectSourceServerInput) (req *request.Request, output *DisconnectSourceServerOutput) { + op := &request.Operation{ + Name: opDisconnectSourceServer, + HTTPMethod: "POST", + HTTPPath: "/DisconnectSourceServer", + } + + if input == nil { + input = &DisconnectSourceServerInput{} + } + + output = &DisconnectSourceServerOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisconnectSourceServer API operation for Elastic Disaster Recovery Service. +// +// Disconnects a specific Source Server from Elastic Disaster Recovery. Data +// replication is stopped immediately. All AWS resources created by Elastic +// Disaster Recovery for enabling the replication of the Source Server will +// be terminated / deleted within 90 minutes. You cannot disconnect a Source +// Server if it has a Recovery Instance. If the agent on the Source Server has +// not been prevented from communicating with the Elastic Disaster Recovery +// service, then it will receive a command to uninstall itself (within approximately +// 10 minutes). The following properties of the SourceServer will be changed +// immediately: dataReplicationInfo.dataReplicationState will be set to DISCONNECTED; +// The totalStorageBytes property for each of dataReplicationInfo.replicatedDisks +// will be set to zero; dataReplicationInfo.lagDuration and dataReplicationInfo.lagDuration +// will be nullified. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation DisconnectSourceServer for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ConflictException +// The request could not be completed due to a conflict with the current state +// of the target resource. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/DisconnectSourceServer +func (c *Drs) DisconnectSourceServer(input *DisconnectSourceServerInput) (*DisconnectSourceServerOutput, error) { + req, out := c.DisconnectSourceServerRequest(input) + return out, req.Send() +} + +// DisconnectSourceServerWithContext is the same as DisconnectSourceServer with the addition of +// the ability to pass a context and additional request options. +// +// See DisconnectSourceServer for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) DisconnectSourceServerWithContext(ctx aws.Context, input *DisconnectSourceServerInput, opts ...request.Option) (*DisconnectSourceServerOutput, error) { + req, out := c.DisconnectSourceServerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetFailbackReplicationConfiguration = "GetFailbackReplicationConfiguration" + +// GetFailbackReplicationConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetFailbackReplicationConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetFailbackReplicationConfiguration for more information on using the GetFailbackReplicationConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetFailbackReplicationConfigurationRequest method. +// req, resp := client.GetFailbackReplicationConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/GetFailbackReplicationConfiguration +func (c *Drs) GetFailbackReplicationConfigurationRequest(input *GetFailbackReplicationConfigurationInput) (req *request.Request, output *GetFailbackReplicationConfigurationOutput) { + op := &request.Operation{ + Name: opGetFailbackReplicationConfiguration, + HTTPMethod: "POST", + HTTPPath: "/GetFailbackReplicationConfiguration", + } + + if input == nil { + input = &GetFailbackReplicationConfigurationInput{} + } + + output = &GetFailbackReplicationConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetFailbackReplicationConfiguration API operation for Elastic Disaster Recovery Service. +// +// Lists all Failback ReplicationConfigurations, filtered by Recovery Instance +// ID. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation GetFailbackReplicationConfiguration for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/GetFailbackReplicationConfiguration +func (c *Drs) GetFailbackReplicationConfiguration(input *GetFailbackReplicationConfigurationInput) (*GetFailbackReplicationConfigurationOutput, error) { + req, out := c.GetFailbackReplicationConfigurationRequest(input) + return out, req.Send() +} + +// GetFailbackReplicationConfigurationWithContext is the same as GetFailbackReplicationConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See GetFailbackReplicationConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) GetFailbackReplicationConfigurationWithContext(ctx aws.Context, input *GetFailbackReplicationConfigurationInput, opts ...request.Option) (*GetFailbackReplicationConfigurationOutput, error) { + req, out := c.GetFailbackReplicationConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetLaunchConfiguration = "GetLaunchConfiguration" + +// GetLaunchConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetLaunchConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetLaunchConfiguration for more information on using the GetLaunchConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetLaunchConfigurationRequest method. +// req, resp := client.GetLaunchConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/GetLaunchConfiguration +func (c *Drs) GetLaunchConfigurationRequest(input *GetLaunchConfigurationInput) (req *request.Request, output *GetLaunchConfigurationOutput) { + op := &request.Operation{ + Name: opGetLaunchConfiguration, + HTTPMethod: "POST", + HTTPPath: "/GetLaunchConfiguration", + } + + if input == nil { + input = &GetLaunchConfigurationInput{} + } + + output = &GetLaunchConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetLaunchConfiguration API operation for Elastic Disaster Recovery Service. +// +// Gets a LaunchConfiguration, filtered by Source Server IDs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation GetLaunchConfiguration for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/GetLaunchConfiguration +func (c *Drs) GetLaunchConfiguration(input *GetLaunchConfigurationInput) (*GetLaunchConfigurationOutput, error) { + req, out := c.GetLaunchConfigurationRequest(input) + return out, req.Send() +} + +// GetLaunchConfigurationWithContext is the same as GetLaunchConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See GetLaunchConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) GetLaunchConfigurationWithContext(ctx aws.Context, input *GetLaunchConfigurationInput, opts ...request.Option) (*GetLaunchConfigurationOutput, error) { + req, out := c.GetLaunchConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetReplicationConfiguration = "GetReplicationConfiguration" + +// GetReplicationConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetReplicationConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetReplicationConfiguration for more information on using the GetReplicationConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetReplicationConfigurationRequest method. +// req, resp := client.GetReplicationConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/GetReplicationConfiguration +func (c *Drs) GetReplicationConfigurationRequest(input *GetReplicationConfigurationInput) (req *request.Request, output *GetReplicationConfigurationOutput) { + op := &request.Operation{ + Name: opGetReplicationConfiguration, + HTTPMethod: "POST", + HTTPPath: "/GetReplicationConfiguration", + } + + if input == nil { + input = &GetReplicationConfigurationInput{} + } + + output = &GetReplicationConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetReplicationConfiguration API operation for Elastic Disaster Recovery Service. +// +// Gets a ReplicationConfiguration, filtered by Source Server ID. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation GetReplicationConfiguration for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/GetReplicationConfiguration +func (c *Drs) GetReplicationConfiguration(input *GetReplicationConfigurationInput) (*GetReplicationConfigurationOutput, error) { + req, out := c.GetReplicationConfigurationRequest(input) + return out, req.Send() +} + +// GetReplicationConfigurationWithContext is the same as GetReplicationConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See GetReplicationConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) GetReplicationConfigurationWithContext(ctx aws.Context, input *GetReplicationConfigurationInput, opts ...request.Option) (*GetReplicationConfigurationOutput, error) { + req, out := c.GetReplicationConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opInitializeService = "InitializeService" + +// InitializeServiceRequest generates a "aws/request.Request" representing the +// client's request for the InitializeService operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See InitializeService for more information on using the InitializeService +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the InitializeServiceRequest method. +// req, resp := client.InitializeServiceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/InitializeService +func (c *Drs) InitializeServiceRequest(input *InitializeServiceInput) (req *request.Request, output *InitializeServiceOutput) { + op := &request.Operation{ + Name: opInitializeService, + HTTPMethod: "POST", + HTTPPath: "/InitializeService", + } + + if input == nil { + input = &InitializeServiceInput{} + } + + output = &InitializeServiceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// InitializeService API operation for Elastic Disaster Recovery Service. +// +// Initialize Elastic Disaster Recovery. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation InitializeService for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// TYou do not have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by the AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/InitializeService +func (c *Drs) InitializeService(input *InitializeServiceInput) (*InitializeServiceOutput, error) { + req, out := c.InitializeServiceRequest(input) + return out, req.Send() +} + +// InitializeServiceWithContext is the same as InitializeService with the addition of +// the ability to pass a context and additional request options. +// +// See InitializeService for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) InitializeServiceWithContext(ctx aws.Context, input *InitializeServiceInput, opts ...request.Option) (*InitializeServiceOutput, error) { + req, out := c.InitializeServiceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ListTagsForResource +func (c *Drs) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Elastic Disaster Recovery Service. +// +// List all tags for your Elastic Disaster Recovery resources. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// TYou do not have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by the AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/ListTagsForResource +func (c *Drs) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRetryDataReplication = "RetryDataReplication" + +// RetryDataReplicationRequest generates a "aws/request.Request" representing the +// client's request for the RetryDataReplication operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See RetryDataReplication for more information on using the RetryDataReplication +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the RetryDataReplicationRequest method. +// req, resp := client.RetryDataReplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/RetryDataReplication +func (c *Drs) RetryDataReplicationRequest(input *RetryDataReplicationInput) (req *request.Request, output *RetryDataReplicationOutput) { + op := &request.Operation{ + Name: opRetryDataReplication, + HTTPMethod: "POST", + HTTPPath: "/RetryDataReplication", + } + + if input == nil { + input = &RetryDataReplicationInput{} + } + + output = &RetryDataReplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// RetryDataReplication API operation for Elastic Disaster Recovery Service. +// +// Causes the data replication initiation sequence to begin immediately upon +// next Handshake for the specified Source Server ID, regardless of when the +// previous initiation started. This command will work only if the Source Server +// is stalled or is in a DISCONNECTED or STOPPED state. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation RetryDataReplication for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by the AWS service. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/RetryDataReplication +func (c *Drs) RetryDataReplication(input *RetryDataReplicationInput) (*RetryDataReplicationOutput, error) { + req, out := c.RetryDataReplicationRequest(input) + return out, req.Send() +} + +// RetryDataReplicationWithContext is the same as RetryDataReplication with the addition of +// the ability to pass a context and additional request options. +// +// See RetryDataReplication for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) RetryDataReplicationWithContext(ctx aws.Context, input *RetryDataReplicationInput, opts ...request.Option) (*RetryDataReplicationOutput, error) { + req, out := c.RetryDataReplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartFailbackLaunch = "StartFailbackLaunch" + +// StartFailbackLaunchRequest generates a "aws/request.Request" representing the +// client's request for the StartFailbackLaunch operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartFailbackLaunch for more information on using the StartFailbackLaunch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartFailbackLaunchRequest method. +// req, resp := client.StartFailbackLaunchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StartFailbackLaunch +func (c *Drs) StartFailbackLaunchRequest(input *StartFailbackLaunchInput) (req *request.Request, output *StartFailbackLaunchOutput) { + op := &request.Operation{ + Name: opStartFailbackLaunch, + HTTPMethod: "POST", + HTTPPath: "/StartFailbackLaunch", + } + + if input == nil { + input = &StartFailbackLaunchInput{} + } + + output = &StartFailbackLaunchOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartFailbackLaunch API operation for Elastic Disaster Recovery Service. +// +// Initiates a Job for launching the machine that is being failed back to from +// the specified Recovery Instance. This will run conversion on the failback +// client and will reboot your machine, thus completing the failback process. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation StartFailbackLaunch for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ConflictException +// The request could not be completed due to a conflict with the current state +// of the target resource. +// +// * ServiceQuotaExceededException +// The request could not be completed because its exceeded the service quota. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by the AWS service. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StartFailbackLaunch +func (c *Drs) StartFailbackLaunch(input *StartFailbackLaunchInput) (*StartFailbackLaunchOutput, error) { + req, out := c.StartFailbackLaunchRequest(input) + return out, req.Send() +} + +// StartFailbackLaunchWithContext is the same as StartFailbackLaunch with the addition of +// the ability to pass a context and additional request options. +// +// See StartFailbackLaunch for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) StartFailbackLaunchWithContext(ctx aws.Context, input *StartFailbackLaunchInput, opts ...request.Option) (*StartFailbackLaunchOutput, error) { + req, out := c.StartFailbackLaunchRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartRecovery = "StartRecovery" + +// StartRecoveryRequest generates a "aws/request.Request" representing the +// client's request for the StartRecovery operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartRecovery for more information on using the StartRecovery +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartRecoveryRequest method. +// req, resp := client.StartRecoveryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StartRecovery +func (c *Drs) StartRecoveryRequest(input *StartRecoveryInput) (req *request.Request, output *StartRecoveryOutput) { + op := &request.Operation{ + Name: opStartRecovery, + HTTPMethod: "POST", + HTTPPath: "/StartRecovery", + } + + if input == nil { + input = &StartRecoveryInput{} + } + + output = &StartRecoveryOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartRecovery API operation for Elastic Disaster Recovery Service. +// +// Launches Recovery Instances for the specified Source Servers. For each Source +// Server you may choose a point in time snapshot to launch from, or use an +// on demand 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 Elastic Disaster Recovery Service's +// API operation StartRecovery for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ConflictException +// The request could not be completed due to a conflict with the current state +// of the target resource. +// +// * ServiceQuotaExceededException +// The request could not be completed because its exceeded the service quota. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StartRecovery +func (c *Drs) StartRecovery(input *StartRecoveryInput) (*StartRecoveryOutput, error) { + req, out := c.StartRecoveryRequest(input) + return out, req.Send() +} + +// StartRecoveryWithContext is the same as StartRecovery with the addition of +// the ability to pass a context and additional request options. +// +// See StartRecovery for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) StartRecoveryWithContext(ctx aws.Context, input *StartRecoveryInput, opts ...request.Option) (*StartRecoveryOutput, error) { + req, out := c.StartRecoveryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopFailback = "StopFailback" + +// StopFailbackRequest generates a "aws/request.Request" representing the +// client's request for the StopFailback operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopFailback for more information on using the StopFailback +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StopFailbackRequest method. +// req, resp := client.StopFailbackRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StopFailback +func (c *Drs) StopFailbackRequest(input *StopFailbackInput) (req *request.Request, output *StopFailbackOutput) { + op := &request.Operation{ + Name: opStopFailback, + HTTPMethod: "POST", + HTTPPath: "/StopFailback", + } + + if input == nil { + input = &StopFailbackInput{} + } + + output = &StopFailbackOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopFailback API operation for Elastic Disaster Recovery Service. +// +// Stops the failback process for a specified Recovery Instance. This changes +// the Failback State of the Recovery Instance back to FAILBACK_NOT_STARTED. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation StopFailback for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/StopFailback +func (c *Drs) StopFailback(input *StopFailbackInput) (*StopFailbackOutput, error) { + req, out := c.StopFailbackRequest(input) + return out, req.Send() +} + +// StopFailbackWithContext is the same as StopFailback with the addition of +// the ability to pass a context and additional request options. +// +// See StopFailback for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) StopFailbackWithContext(ctx aws.Context, input *StopFailbackInput, opts ...request.Option) (*StopFailbackOutput, error) { + req, out := c.StopFailbackRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/TagResource +func (c *Drs) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Elastic Disaster Recovery Service. +// +// Adds or overwrites only the specified tags for the specified Elastic Disaster +// Recovery resource or resources. When you specify an existing tag key, the +// value is overwritten with the new value. Each resource can have a maximum +// of 50 tags. Each tag consists of a key and optional value. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// TYou do not have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by the AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/TagResource +func (c *Drs) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTerminateRecoveryInstances = "TerminateRecoveryInstances" + +// TerminateRecoveryInstancesRequest generates a "aws/request.Request" representing the +// client's request for the TerminateRecoveryInstances operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TerminateRecoveryInstances for more information on using the TerminateRecoveryInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TerminateRecoveryInstancesRequest method. +// req, resp := client.TerminateRecoveryInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/TerminateRecoveryInstances +func (c *Drs) TerminateRecoveryInstancesRequest(input *TerminateRecoveryInstancesInput) (req *request.Request, output *TerminateRecoveryInstancesOutput) { + op := &request.Operation{ + Name: opTerminateRecoveryInstances, + HTTPMethod: "POST", + HTTPPath: "/TerminateRecoveryInstances", + } + + if input == nil { + input = &TerminateRecoveryInstancesInput{} + } + + output = &TerminateRecoveryInstancesOutput{} + req = c.newRequest(op, input, output) + return +} + +// TerminateRecoveryInstances API operation for Elastic Disaster Recovery Service. +// +// Initiates a Job for terminating the EC2 resources associated with the specified +// Recovery Instances, and then will delete the Recovery Instances from the +// Elastic Disaster Recovery service. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation TerminateRecoveryInstances for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ConflictException +// The request could not be completed due to a conflict with the current state +// of the target resource. +// +// * ServiceQuotaExceededException +// The request could not be completed because its exceeded the service quota. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/TerminateRecoveryInstances +func (c *Drs) TerminateRecoveryInstances(input *TerminateRecoveryInstancesInput) (*TerminateRecoveryInstancesOutput, error) { + req, out := c.TerminateRecoveryInstancesRequest(input) + return out, req.Send() +} + +// TerminateRecoveryInstancesWithContext is the same as TerminateRecoveryInstances with the addition of +// the ability to pass a context and additional request options. +// +// See TerminateRecoveryInstances for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) TerminateRecoveryInstancesWithContext(ctx aws.Context, input *TerminateRecoveryInstancesInput, opts ...request.Option) (*TerminateRecoveryInstancesOutput, error) { + req, out := c.TerminateRecoveryInstancesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/UntagResource +func (c *Drs) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Elastic Disaster Recovery Service. +// +// Deletes the specified set of tags from the specified set of Elastic Disaster +// Recovery resources. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// TYou do not have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by the AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/UntagResource +func (c *Drs) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateFailbackReplicationConfiguration = "UpdateFailbackReplicationConfiguration" + +// UpdateFailbackReplicationConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFailbackReplicationConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateFailbackReplicationConfiguration for more information on using the UpdateFailbackReplicationConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateFailbackReplicationConfigurationRequest method. +// req, resp := client.UpdateFailbackReplicationConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/UpdateFailbackReplicationConfiguration +func (c *Drs) UpdateFailbackReplicationConfigurationRequest(input *UpdateFailbackReplicationConfigurationInput) (req *request.Request, output *UpdateFailbackReplicationConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateFailbackReplicationConfiguration, + HTTPMethod: "POST", + HTTPPath: "/UpdateFailbackReplicationConfiguration", + } + + if input == nil { + input = &UpdateFailbackReplicationConfigurationInput{} + } + + output = &UpdateFailbackReplicationConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateFailbackReplicationConfiguration API operation for Elastic Disaster Recovery Service. +// +// Allows you to update the failback replication configuration of a Recovery +// Instance by ID. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation UpdateFailbackReplicationConfiguration for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// TYou do not have sufficient access to perform this action. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/UpdateFailbackReplicationConfiguration +func (c *Drs) UpdateFailbackReplicationConfiguration(input *UpdateFailbackReplicationConfigurationInput) (*UpdateFailbackReplicationConfigurationOutput, error) { + req, out := c.UpdateFailbackReplicationConfigurationRequest(input) + return out, req.Send() +} + +// UpdateFailbackReplicationConfigurationWithContext is the same as UpdateFailbackReplicationConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFailbackReplicationConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) UpdateFailbackReplicationConfigurationWithContext(ctx aws.Context, input *UpdateFailbackReplicationConfigurationInput, opts ...request.Option) (*UpdateFailbackReplicationConfigurationOutput, error) { + req, out := c.UpdateFailbackReplicationConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateLaunchConfiguration = "UpdateLaunchConfiguration" + +// UpdateLaunchConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLaunchConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateLaunchConfiguration for more information on using the UpdateLaunchConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateLaunchConfigurationRequest method. +// req, resp := client.UpdateLaunchConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/UpdateLaunchConfiguration +func (c *Drs) UpdateLaunchConfigurationRequest(input *UpdateLaunchConfigurationInput) (req *request.Request, output *UpdateLaunchConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateLaunchConfiguration, + HTTPMethod: "POST", + HTTPPath: "/UpdateLaunchConfiguration", + } + + if input == nil { + input = &UpdateLaunchConfigurationInput{} + } + + output = &UpdateLaunchConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateLaunchConfiguration API operation for Elastic Disaster Recovery Service. +// +// Updates a LaunchConfiguration by Source Server ID. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation UpdateLaunchConfiguration for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ConflictException +// The request could not be completed due to a conflict with the current state +// of the target resource. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * ValidationException +// The input fails to satisfy the constraints specified by the AWS service. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/UpdateLaunchConfiguration +func (c *Drs) UpdateLaunchConfiguration(input *UpdateLaunchConfigurationInput) (*UpdateLaunchConfigurationOutput, error) { + req, out := c.UpdateLaunchConfigurationRequest(input) + return out, req.Send() +} + +// UpdateLaunchConfigurationWithContext is the same as UpdateLaunchConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateLaunchConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) UpdateLaunchConfigurationWithContext(ctx aws.Context, input *UpdateLaunchConfigurationInput, opts ...request.Option) (*UpdateLaunchConfigurationOutput, error) { + req, out := c.UpdateLaunchConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateReplicationConfiguration = "UpdateReplicationConfiguration" + +// UpdateReplicationConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateReplicationConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateReplicationConfiguration for more information on using the UpdateReplicationConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateReplicationConfigurationRequest method. +// req, resp := client.UpdateReplicationConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/UpdateReplicationConfiguration +func (c *Drs) UpdateReplicationConfigurationRequest(input *UpdateReplicationConfigurationInput) (req *request.Request, output *UpdateReplicationConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateReplicationConfiguration, + HTTPMethod: "POST", + HTTPPath: "/UpdateReplicationConfiguration", + } + + if input == nil { + input = &UpdateReplicationConfigurationInput{} + } + + output = &UpdateReplicationConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateReplicationConfiguration API operation for Elastic Disaster Recovery Service. +// +// Allows you to update a ReplicationConfiguration by Source Server ID. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation UpdateReplicationConfiguration for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ConflictException +// The request could not be completed due to a conflict with the current state +// of the target resource. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// TYou do not have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by the AWS service. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/UpdateReplicationConfiguration +func (c *Drs) UpdateReplicationConfiguration(input *UpdateReplicationConfigurationInput) (*UpdateReplicationConfigurationOutput, error) { + req, out := c.UpdateReplicationConfigurationRequest(input) + return out, req.Send() +} + +// UpdateReplicationConfigurationWithContext is the same as UpdateReplicationConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateReplicationConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) UpdateReplicationConfigurationWithContext(ctx aws.Context, input *UpdateReplicationConfigurationInput, opts ...request.Option) (*UpdateReplicationConfigurationOutput, error) { + req, out := c.UpdateReplicationConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateReplicationConfigurationTemplate = "UpdateReplicationConfigurationTemplate" + +// UpdateReplicationConfigurationTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateReplicationConfigurationTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateReplicationConfigurationTemplate for more information on using the UpdateReplicationConfigurationTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateReplicationConfigurationTemplateRequest method. +// req, resp := client.UpdateReplicationConfigurationTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/UpdateReplicationConfigurationTemplate +func (c *Drs) UpdateReplicationConfigurationTemplateRequest(input *UpdateReplicationConfigurationTemplateInput) (req *request.Request, output *UpdateReplicationConfigurationTemplateOutput) { + op := &request.Operation{ + Name: opUpdateReplicationConfigurationTemplate, + HTTPMethod: "POST", + HTTPPath: "/UpdateReplicationConfigurationTemplate", + } + + if input == nil { + input = &UpdateReplicationConfigurationTemplateInput{} + } + + output = &UpdateReplicationConfigurationTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateReplicationConfigurationTemplate API operation for Elastic Disaster Recovery Service. +// +// Updates a ReplicationConfigurationTemplate by ID. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Elastic Disaster Recovery Service's +// API operation UpdateReplicationConfigurationTemplate for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource for this operation was not found. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// * ThrottlingException +// The request was denied due to request throttling. +// +// * AccessDeniedException +// TYou do not have sufficient access to perform this action. +// +// * ValidationException +// The input fails to satisfy the constraints specified by the AWS service. +// +// * UninitializedAccountException +// The account performing the request has not been initialized. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26/UpdateReplicationConfigurationTemplate +func (c *Drs) UpdateReplicationConfigurationTemplate(input *UpdateReplicationConfigurationTemplateInput) (*UpdateReplicationConfigurationTemplateOutput, error) { + req, out := c.UpdateReplicationConfigurationTemplateRequest(input) + return out, req.Send() +} + +// UpdateReplicationConfigurationTemplateWithContext is the same as UpdateReplicationConfigurationTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateReplicationConfigurationTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Drs) UpdateReplicationConfigurationTemplateWithContext(ctx aws.Context, input *UpdateReplicationConfigurationTemplateInput, opts ...request.Option) (*UpdateReplicationConfigurationTemplateOutput, error) { + req, out := c.UpdateReplicationConfigurationTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// TYou do not have sufficient access to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s\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 +} + +// Information about a server's CPU. +type CPU struct { + _ struct{} `type:"structure"` + + // The number of CPU cores. + Cores *int64 `locationName:"cores" type:"long"` + + // The model name of the CPU. + ModelName *string `locationName:"modelName" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CPU) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CPU) GoString() string { + return s.String() +} + +// SetCores sets the Cores field's value. +func (s *CPU) SetCores(v int64) *CPU { + s.Cores = &v + return s +} + +// SetModelName sets the ModelName field's value. +func (s *CPU) SetModelName(v string) *CPU { + s.ModelName = &v + return s +} + +// The request could not be completed due to a conflict with the current state +// of the target resource. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + Message_ *string `locationName:"message" type:"string"` + + // The ID of the resource. + ResourceId *string `locationName:"resourceId" type:"string"` + + // The type of the resource. + ResourceType *string `locationName:"resourceType" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateReplicationConfigurationTemplateInput struct { + _ struct{} `type:"structure"` + + // Whether to associate the default Elastic Disaster Recovery Security group + // with the Replication Configuration Template. + // + // AssociateDefaultSecurityGroup is a required field + AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean" required:"true"` + + // Configure bandwidth throttling for the outbound data transfer rate of the + // Source Server in Mbps. + // + // BandwidthThrottling is a required field + BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long" required:"true"` + + // Whether to create a Public IP for the Recovery Instance by default. + // + // CreatePublicIP is a required field + CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean" required:"true"` + + // The data plane routing mechanism that will be used for replication. + // + // DataPlaneRouting is a required field + DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" required:"true" enum:"ReplicationConfigurationDataPlaneRouting"` + + // The Staging Disk EBS volume type to be used during replication. + // + // DefaultLargeStagingDiskType is a required field + DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" required:"true" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"` + + // The type of EBS encryption to be used during replication. + // + // EbsEncryption is a required field + EbsEncryption *string `locationName:"ebsEncryption" type:"string" required:"true" enum:"ReplicationConfigurationEbsEncryption"` + + // The ARN of the EBS encryption key to be used during replication. + EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"` + + // The Point in time (PIT) policy to manage snapshots taken during replication. + // + // PitPolicy is a required field + PitPolicy []*PITPolicyRule `locationName:"pitPolicy" min:"1" type:"list" required:"true"` + + // The instance type to be used for the replication server. + // + // ReplicationServerInstanceType is a required field + ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string" required:"true"` + + // The security group IDs that will be used by the replication server. + // + // ReplicationServersSecurityGroupsIDs is a required field + ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list" required:"true"` + + // The subnet to be used by the replication staging area. + // + // StagingAreaSubnetId is a required field + StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string" required:"true"` + + // A set of tags to be associated with all resources created in the replication + // staging area: EC2 replication server, EBS volumes, EBS snapshots, etc. + // + // StagingAreaTags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateReplicationConfigurationTemplateInput's + // String and GoString methods. + // + // StagingAreaTags is a required field + StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" required:"true" sensitive:"true"` + + // A set of tags to be associated with the Replication Configuration Template + // resource. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateReplicationConfigurationTemplateInput's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` + + // Whether to use a dedicated Replication Server in the replication staging + // area. + // + // UseDedicatedReplicationServer is a required field + UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateReplicationConfigurationTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateReplicationConfigurationTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateReplicationConfigurationTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateReplicationConfigurationTemplateInput"} + if s.AssociateDefaultSecurityGroup == nil { + invalidParams.Add(request.NewErrParamRequired("AssociateDefaultSecurityGroup")) + } + if s.BandwidthThrottling == nil { + invalidParams.Add(request.NewErrParamRequired("BandwidthThrottling")) + } + if s.CreatePublicIP == nil { + invalidParams.Add(request.NewErrParamRequired("CreatePublicIP")) + } + if s.DataPlaneRouting == nil { + invalidParams.Add(request.NewErrParamRequired("DataPlaneRouting")) + } + if s.DefaultLargeStagingDiskType == nil { + invalidParams.Add(request.NewErrParamRequired("DefaultLargeStagingDiskType")) + } + if s.EbsEncryption == nil { + invalidParams.Add(request.NewErrParamRequired("EbsEncryption")) + } + if s.EbsEncryptionKeyArn != nil && len(*s.EbsEncryptionKeyArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("EbsEncryptionKeyArn", 20)) + } + if s.PitPolicy == nil { + invalidParams.Add(request.NewErrParamRequired("PitPolicy")) + } + if s.PitPolicy != nil && len(s.PitPolicy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PitPolicy", 1)) + } + if s.ReplicationServerInstanceType == nil { + invalidParams.Add(request.NewErrParamRequired("ReplicationServerInstanceType")) + } + if s.ReplicationServersSecurityGroupsIDs == nil { + invalidParams.Add(request.NewErrParamRequired("ReplicationServersSecurityGroupsIDs")) + } + if s.StagingAreaSubnetId == nil { + invalidParams.Add(request.NewErrParamRequired("StagingAreaSubnetId")) + } + if s.StagingAreaTags == nil { + invalidParams.Add(request.NewErrParamRequired("StagingAreaTags")) + } + if s.UseDedicatedReplicationServer == nil { + invalidParams.Add(request.NewErrParamRequired("UseDedicatedReplicationServer")) + } + if s.PitPolicy != nil { + for i, v := range s.PitPolicy { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PitPolicy", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value. +func (s *CreateReplicationConfigurationTemplateInput) SetAssociateDefaultSecurityGroup(v bool) *CreateReplicationConfigurationTemplateInput { + s.AssociateDefaultSecurityGroup = &v + return s +} + +// SetBandwidthThrottling sets the BandwidthThrottling field's value. +func (s *CreateReplicationConfigurationTemplateInput) SetBandwidthThrottling(v int64) *CreateReplicationConfigurationTemplateInput { + s.BandwidthThrottling = &v + return s +} + +// SetCreatePublicIP sets the CreatePublicIP field's value. +func (s *CreateReplicationConfigurationTemplateInput) SetCreatePublicIP(v bool) *CreateReplicationConfigurationTemplateInput { + s.CreatePublicIP = &v + return s +} + +// SetDataPlaneRouting sets the DataPlaneRouting field's value. +func (s *CreateReplicationConfigurationTemplateInput) SetDataPlaneRouting(v string) *CreateReplicationConfigurationTemplateInput { + s.DataPlaneRouting = &v + return s +} + +// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value. +func (s *CreateReplicationConfigurationTemplateInput) SetDefaultLargeStagingDiskType(v string) *CreateReplicationConfigurationTemplateInput { + s.DefaultLargeStagingDiskType = &v + return s +} + +// SetEbsEncryption sets the EbsEncryption field's value. +func (s *CreateReplicationConfigurationTemplateInput) SetEbsEncryption(v string) *CreateReplicationConfigurationTemplateInput { + s.EbsEncryption = &v + return s +} + +// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value. +func (s *CreateReplicationConfigurationTemplateInput) SetEbsEncryptionKeyArn(v string) *CreateReplicationConfigurationTemplateInput { + s.EbsEncryptionKeyArn = &v + return s +} + +// SetPitPolicy sets the PitPolicy field's value. +func (s *CreateReplicationConfigurationTemplateInput) SetPitPolicy(v []*PITPolicyRule) *CreateReplicationConfigurationTemplateInput { + s.PitPolicy = v + return s +} + +// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value. +func (s *CreateReplicationConfigurationTemplateInput) SetReplicationServerInstanceType(v string) *CreateReplicationConfigurationTemplateInput { + s.ReplicationServerInstanceType = &v + return s +} + +// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value. +func (s *CreateReplicationConfigurationTemplateInput) SetReplicationServersSecurityGroupsIDs(v []*string) *CreateReplicationConfigurationTemplateInput { + s.ReplicationServersSecurityGroupsIDs = v + return s +} + +// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value. +func (s *CreateReplicationConfigurationTemplateInput) SetStagingAreaSubnetId(v string) *CreateReplicationConfigurationTemplateInput { + s.StagingAreaSubnetId = &v + return s +} + +// SetStagingAreaTags sets the StagingAreaTags field's value. +func (s *CreateReplicationConfigurationTemplateInput) SetStagingAreaTags(v map[string]*string) *CreateReplicationConfigurationTemplateInput { + s.StagingAreaTags = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateReplicationConfigurationTemplateInput) SetTags(v map[string]*string) *CreateReplicationConfigurationTemplateInput { + s.Tags = v + return s +} + +// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value. +func (s *CreateReplicationConfigurationTemplateInput) SetUseDedicatedReplicationServer(v bool) *CreateReplicationConfigurationTemplateInput { + s.UseDedicatedReplicationServer = &v + return s +} + +type CreateReplicationConfigurationTemplateOutput struct { + _ struct{} `type:"structure"` + + // The Replication Configuration Template ARN. + Arn *string `locationName:"arn" min:"20" type:"string"` + + // Whether to associate the default Elastic Disaster Recovery Security group + // with the Replication Configuration Template. + AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"` + + // Configure bandwidth throttling for the outbound data transfer rate of the + // Source Server in Mbps. + BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"` + + // Whether to create a Public IP for the Recovery Instance by default. + CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"` + + // The data plane routing mechanism that will be used for replication. + DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"` + + // The Staging Disk EBS volume type to be used during replication. + DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"` + + // The type of EBS encryption to be used during replication. + EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"` + + // The ARN of the EBS encryption key to be used during replication. + EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"` + + // The Point in time (PIT) policy to manage snapshots taken during replication. + PitPolicy []*PITPolicyRule `locationName:"pitPolicy" min:"1" type:"list"` + + // The Replication Configuration Template ID. + // + // ReplicationConfigurationTemplateID is a required field + ReplicationConfigurationTemplateID *string `locationName:"replicationConfigurationTemplateID" min:"21" type:"string" required:"true"` + + // The instance type to be used for the replication server. + ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"` + + // The security group IDs that will be used by the replication server. + ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"` + + // The subnet to be used by the replication staging area. + StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"` + + // A set of tags to be associated with all resources created in the replication + // staging area: EC2 replication server, EBS volumes, EBS snapshots, etc. + // + // StagingAreaTags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateReplicationConfigurationTemplateOutput's + // String and GoString methods. + StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"` + + // A set of tags to be associated with the Replication Configuration Template + // resource. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateReplicationConfigurationTemplateOutput's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` + + // Whether to use a dedicated Replication Server in the replication staging + // area. + UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateReplicationConfigurationTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateReplicationConfigurationTemplateOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateReplicationConfigurationTemplateOutput) SetArn(v string) *CreateReplicationConfigurationTemplateOutput { + s.Arn = &v + return s +} + +// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value. +func (s *CreateReplicationConfigurationTemplateOutput) SetAssociateDefaultSecurityGroup(v bool) *CreateReplicationConfigurationTemplateOutput { + s.AssociateDefaultSecurityGroup = &v + return s +} + +// SetBandwidthThrottling sets the BandwidthThrottling field's value. +func (s *CreateReplicationConfigurationTemplateOutput) SetBandwidthThrottling(v int64) *CreateReplicationConfigurationTemplateOutput { + s.BandwidthThrottling = &v + return s +} + +// SetCreatePublicIP sets the CreatePublicIP field's value. +func (s *CreateReplicationConfigurationTemplateOutput) SetCreatePublicIP(v bool) *CreateReplicationConfigurationTemplateOutput { + s.CreatePublicIP = &v + return s +} + +// SetDataPlaneRouting sets the DataPlaneRouting field's value. +func (s *CreateReplicationConfigurationTemplateOutput) SetDataPlaneRouting(v string) *CreateReplicationConfigurationTemplateOutput { + s.DataPlaneRouting = &v + return s +} + +// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value. +func (s *CreateReplicationConfigurationTemplateOutput) SetDefaultLargeStagingDiskType(v string) *CreateReplicationConfigurationTemplateOutput { + s.DefaultLargeStagingDiskType = &v + return s +} + +// SetEbsEncryption sets the EbsEncryption field's value. +func (s *CreateReplicationConfigurationTemplateOutput) SetEbsEncryption(v string) *CreateReplicationConfigurationTemplateOutput { + s.EbsEncryption = &v + return s +} + +// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value. +func (s *CreateReplicationConfigurationTemplateOutput) SetEbsEncryptionKeyArn(v string) *CreateReplicationConfigurationTemplateOutput { + s.EbsEncryptionKeyArn = &v + return s +} + +// SetPitPolicy sets the PitPolicy field's value. +func (s *CreateReplicationConfigurationTemplateOutput) SetPitPolicy(v []*PITPolicyRule) *CreateReplicationConfigurationTemplateOutput { + s.PitPolicy = v + return s +} + +// SetReplicationConfigurationTemplateID sets the ReplicationConfigurationTemplateID field's value. +func (s *CreateReplicationConfigurationTemplateOutput) SetReplicationConfigurationTemplateID(v string) *CreateReplicationConfigurationTemplateOutput { + s.ReplicationConfigurationTemplateID = &v + return s +} + +// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value. +func (s *CreateReplicationConfigurationTemplateOutput) SetReplicationServerInstanceType(v string) *CreateReplicationConfigurationTemplateOutput { + s.ReplicationServerInstanceType = &v + return s +} + +// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value. +func (s *CreateReplicationConfigurationTemplateOutput) SetReplicationServersSecurityGroupsIDs(v []*string) *CreateReplicationConfigurationTemplateOutput { + s.ReplicationServersSecurityGroupsIDs = v + return s +} + +// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value. +func (s *CreateReplicationConfigurationTemplateOutput) SetStagingAreaSubnetId(v string) *CreateReplicationConfigurationTemplateOutput { + s.StagingAreaSubnetId = &v + return s +} + +// SetStagingAreaTags sets the StagingAreaTags field's value. +func (s *CreateReplicationConfigurationTemplateOutput) SetStagingAreaTags(v map[string]*string) *CreateReplicationConfigurationTemplateOutput { + s.StagingAreaTags = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateReplicationConfigurationTemplateOutput) SetTags(v map[string]*string) *CreateReplicationConfigurationTemplateOutput { + s.Tags = v + return s +} + +// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value. +func (s *CreateReplicationConfigurationTemplateOutput) SetUseDedicatedReplicationServer(v bool) *CreateReplicationConfigurationTemplateOutput { + s.UseDedicatedReplicationServer = &v + return s +} + +// Error in data replication. +type DataReplicationError struct { + _ struct{} `type:"structure"` + + // Error in data replication. + Error *string `locationName:"error" type:"string" enum:"DataReplicationErrorString"` + + // Error in data replication. + RawError *string `locationName:"rawError" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataReplicationError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataReplicationError) GoString() string { + return s.String() +} + +// SetError sets the Error field's value. +func (s *DataReplicationError) SetError(v string) *DataReplicationError { + s.Error = &v + return s +} + +// SetRawError sets the RawError field's value. +func (s *DataReplicationError) SetRawError(v string) *DataReplicationError { + s.RawError = &v + return s +} + +// Information about Data Replication +type DataReplicationInfo struct { + _ struct{} `type:"structure"` + + // Error in data replication. + DataReplicationError *DataReplicationError `locationName:"dataReplicationError" type:"structure"` + + // Information about whether the data replication has been initiated. + DataReplicationInitiation *DataReplicationInitiation `locationName:"dataReplicationInitiation" type:"structure"` + + // The state of the data replication. + DataReplicationState *string `locationName:"dataReplicationState" type:"string" enum:"DataReplicationState"` + + // An estimate of when the data replication will be completed. + EtaDateTime *string `locationName:"etaDateTime" min:"19" type:"string"` + + // Data replication lag duration. + LagDuration *string `locationName:"lagDuration" min:"19" type:"string"` + + // The disks that should be replicated. + ReplicatedDisks []*DataReplicationInfoReplicatedDisk `locationName:"replicatedDisks" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataReplicationInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataReplicationInfo) GoString() string { + return s.String() +} + +// SetDataReplicationError sets the DataReplicationError field's value. +func (s *DataReplicationInfo) SetDataReplicationError(v *DataReplicationError) *DataReplicationInfo { + s.DataReplicationError = v + return s +} + +// SetDataReplicationInitiation sets the DataReplicationInitiation field's value. +func (s *DataReplicationInfo) SetDataReplicationInitiation(v *DataReplicationInitiation) *DataReplicationInfo { + s.DataReplicationInitiation = v + return s +} + +// SetDataReplicationState sets the DataReplicationState field's value. +func (s *DataReplicationInfo) SetDataReplicationState(v string) *DataReplicationInfo { + s.DataReplicationState = &v + return s +} + +// SetEtaDateTime sets the EtaDateTime field's value. +func (s *DataReplicationInfo) SetEtaDateTime(v string) *DataReplicationInfo { + s.EtaDateTime = &v + return s +} + +// SetLagDuration sets the LagDuration field's value. +func (s *DataReplicationInfo) SetLagDuration(v string) *DataReplicationInfo { + s.LagDuration = &v + return s +} + +// SetReplicatedDisks sets the ReplicatedDisks field's value. +func (s *DataReplicationInfo) SetReplicatedDisks(v []*DataReplicationInfoReplicatedDisk) *DataReplicationInfo { + s.ReplicatedDisks = v + return s +} + +// A disk that should be replicated. +type DataReplicationInfoReplicatedDisk struct { + _ struct{} `type:"structure"` + + // The size of the replication backlog in bytes. + BackloggedStorageBytes *int64 `locationName:"backloggedStorageBytes" type:"long"` + + // The name of the device. + DeviceName *string `locationName:"deviceName" type:"string"` + + // The amount of data replicated so far in bytes. + ReplicatedStorageBytes *int64 `locationName:"replicatedStorageBytes" type:"long"` + + // The amount of data to be rescanned in bytes. + RescannedStorageBytes *int64 `locationName:"rescannedStorageBytes" type:"long"` + + // The total amount of data to be replicated in bytes. + TotalStorageBytes *int64 `locationName:"totalStorageBytes" type:"long"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataReplicationInfoReplicatedDisk) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataReplicationInfoReplicatedDisk) GoString() string { + return s.String() +} + +// SetBackloggedStorageBytes sets the BackloggedStorageBytes field's value. +func (s *DataReplicationInfoReplicatedDisk) SetBackloggedStorageBytes(v int64) *DataReplicationInfoReplicatedDisk { + s.BackloggedStorageBytes = &v + return s +} + +// SetDeviceName sets the DeviceName field's value. +func (s *DataReplicationInfoReplicatedDisk) SetDeviceName(v string) *DataReplicationInfoReplicatedDisk { + s.DeviceName = &v + return s +} + +// SetReplicatedStorageBytes sets the ReplicatedStorageBytes field's value. +func (s *DataReplicationInfoReplicatedDisk) SetReplicatedStorageBytes(v int64) *DataReplicationInfoReplicatedDisk { + s.ReplicatedStorageBytes = &v + return s +} + +// SetRescannedStorageBytes sets the RescannedStorageBytes field's value. +func (s *DataReplicationInfoReplicatedDisk) SetRescannedStorageBytes(v int64) *DataReplicationInfoReplicatedDisk { + s.RescannedStorageBytes = &v + return s +} + +// SetTotalStorageBytes sets the TotalStorageBytes field's value. +func (s *DataReplicationInfoReplicatedDisk) SetTotalStorageBytes(v int64) *DataReplicationInfoReplicatedDisk { + s.TotalStorageBytes = &v + return s +} + +// Data replication initiation. +type DataReplicationInitiation struct { + _ struct{} `type:"structure"` + + // The date and time of the next attempt to initiate data replication. + NextAttemptDateTime *string `locationName:"nextAttemptDateTime" min:"19" type:"string"` + + // The date and time of the current attempt to initiate data replication. + StartDateTime *string `locationName:"startDateTime" min:"19" type:"string"` + + // The steps of the current attempt to initiate data replication. + Steps []*DataReplicationInitiationStep `locationName:"steps" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataReplicationInitiation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataReplicationInitiation) GoString() string { + return s.String() +} + +// SetNextAttemptDateTime sets the NextAttemptDateTime field's value. +func (s *DataReplicationInitiation) SetNextAttemptDateTime(v string) *DataReplicationInitiation { + s.NextAttemptDateTime = &v + return s +} + +// SetStartDateTime sets the StartDateTime field's value. +func (s *DataReplicationInitiation) SetStartDateTime(v string) *DataReplicationInitiation { + s.StartDateTime = &v + return s +} + +// SetSteps sets the Steps field's value. +func (s *DataReplicationInitiation) SetSteps(v []*DataReplicationInitiationStep) *DataReplicationInitiation { + s.Steps = v + return s +} + +// Data replication initiation step. +type DataReplicationInitiationStep struct { + _ struct{} `type:"structure"` + + // The name of the step. + Name *string `locationName:"name" type:"string" enum:"DataReplicationInitiationStepName"` + + // The status of the step. + Status *string `locationName:"status" type:"string" enum:"DataReplicationInitiationStepStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataReplicationInitiationStep) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataReplicationInitiationStep) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *DataReplicationInitiationStep) SetName(v string) *DataReplicationInitiationStep { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DataReplicationInitiationStep) SetStatus(v string) *DataReplicationInitiationStep { + s.Status = &v + return s +} + +type DeleteJobInput struct { + _ struct{} `type:"structure"` + + // The ID of the Job to be deleted. + // + // JobID is a required field + JobID *string `locationName:"jobID" min:"24" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteJobInput"} + if s.JobID == nil { + invalidParams.Add(request.NewErrParamRequired("JobID")) + } + if s.JobID != nil && len(*s.JobID) < 24 { + invalidParams.Add(request.NewErrParamMinLen("JobID", 24)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobID sets the JobID field's value. +func (s *DeleteJobInput) SetJobID(v string) *DeleteJobInput { + s.JobID = &v + return s +} + +type DeleteJobOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteJobOutput) GoString() string { + return s.String() +} + +type DeleteRecoveryInstanceInput struct { + _ struct{} `type:"structure"` + + // RThe ID of the Recovery Instance to be deleted. + // + // RecoveryInstanceID is a required field + RecoveryInstanceID *string `locationName:"recoveryInstanceID" min:"10" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRecoveryInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRecoveryInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteRecoveryInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRecoveryInstanceInput"} + if s.RecoveryInstanceID == nil { + invalidParams.Add(request.NewErrParamRequired("RecoveryInstanceID")) + } + if s.RecoveryInstanceID != nil && len(*s.RecoveryInstanceID) < 10 { + invalidParams.Add(request.NewErrParamMinLen("RecoveryInstanceID", 10)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRecoveryInstanceID sets the RecoveryInstanceID field's value. +func (s *DeleteRecoveryInstanceInput) SetRecoveryInstanceID(v string) *DeleteRecoveryInstanceInput { + s.RecoveryInstanceID = &v + return s +} + +type DeleteRecoveryInstanceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRecoveryInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRecoveryInstanceOutput) GoString() string { + return s.String() +} + +type DeleteReplicationConfigurationTemplateInput struct { + _ struct{} `type:"structure"` + + // The ID of the Replication Configuration Template to be deleted. + // + // ReplicationConfigurationTemplateID is a required field + ReplicationConfigurationTemplateID *string `locationName:"replicationConfigurationTemplateID" min:"21" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteReplicationConfigurationTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteReplicationConfigurationTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReplicationConfigurationTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationConfigurationTemplateInput"} + if s.ReplicationConfigurationTemplateID == nil { + invalidParams.Add(request.NewErrParamRequired("ReplicationConfigurationTemplateID")) + } + if s.ReplicationConfigurationTemplateID != nil && len(*s.ReplicationConfigurationTemplateID) < 21 { + invalidParams.Add(request.NewErrParamMinLen("ReplicationConfigurationTemplateID", 21)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReplicationConfigurationTemplateID sets the ReplicationConfigurationTemplateID field's value. +func (s *DeleteReplicationConfigurationTemplateInput) SetReplicationConfigurationTemplateID(v string) *DeleteReplicationConfigurationTemplateInput { + s.ReplicationConfigurationTemplateID = &v + return s +} + +type DeleteReplicationConfigurationTemplateOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteReplicationConfigurationTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteReplicationConfigurationTemplateOutput) GoString() string { + return s.String() +} + +type DeleteSourceServerInput struct { + _ struct{} `type:"structure"` + + // The ID of the Source Server to be deleted. + // + // SourceServerID is a required field + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSourceServerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSourceServerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSourceServerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSourceServerInput"} + if s.SourceServerID == nil { + invalidParams.Add(request.NewErrParamRequired("SourceServerID")) + } + if s.SourceServerID != nil && len(*s.SourceServerID) < 19 { + invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *DeleteSourceServerInput) SetSourceServerID(v string) *DeleteSourceServerInput { + s.SourceServerID = &v + return s +} + +type DeleteSourceServerOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSourceServerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSourceServerOutput) GoString() string { + return s.String() +} + +type DescribeJobLogItemsInput struct { + _ struct{} `type:"structure"` + + // The ID of the Job for which Job log items will be retrieved. + // + // JobID is a required field + JobID *string `locationName:"jobID" min:"24" type:"string" required:"true"` + + // Maximum number of Job log items to retrieve. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token of the next Job log items to retrieve. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeJobLogItemsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeJobLogItemsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeJobLogItemsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeJobLogItemsInput"} + if s.JobID == nil { + invalidParams.Add(request.NewErrParamRequired("JobID")) + } + if s.JobID != nil && len(*s.JobID) < 24 { + invalidParams.Add(request.NewErrParamMinLen("JobID", 24)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobID sets the JobID field's value. +func (s *DescribeJobLogItemsInput) SetJobID(v string) *DescribeJobLogItemsInput { + s.JobID = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeJobLogItemsInput) SetMaxResults(v int64) *DescribeJobLogItemsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeJobLogItemsInput) SetNextToken(v string) *DescribeJobLogItemsInput { + s.NextToken = &v + return s +} + +type DescribeJobLogItemsOutput struct { + _ struct{} `type:"structure"` + + // An array of Job log items. + Items []*JobLog `locationName:"items" type:"list"` + + // The token of the next Job log items to retrieve. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeJobLogItemsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeJobLogItemsOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *DescribeJobLogItemsOutput) SetItems(v []*JobLog) *DescribeJobLogItemsOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeJobLogItemsOutput) SetNextToken(v string) *DescribeJobLogItemsOutput { + s.NextToken = &v + return s +} + +type DescribeJobsInput struct { + _ struct{} `type:"structure"` + + // A set of filters by which to return Jobs. + // + // Filters is a required field + Filters *DescribeJobsRequestFilters `locationName:"filters" type:"structure" required:"true"` + + // Maximum number of Jobs to retrieve. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token of the next Job to retrieve. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeJobsInput"} + if s.Filters == nil { + invalidParams.Add(request.NewErrParamRequired("Filters")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Filters != nil { + if err := s.Filters.Validate(); err != nil { + invalidParams.AddNested("Filters", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeJobsInput) SetFilters(v *DescribeJobsRequestFilters) *DescribeJobsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeJobsInput) SetMaxResults(v int64) *DescribeJobsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeJobsInput) SetNextToken(v string) *DescribeJobsInput { + s.NextToken = &v + return s +} + +type DescribeJobsOutput struct { + _ struct{} `type:"structure"` + + // An array of Jobs. + Items []*Job `locationName:"items" type:"list"` + + // The token of the next Job to retrieve. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeJobsOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *DescribeJobsOutput) SetItems(v []*Job) *DescribeJobsOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeJobsOutput) SetNextToken(v string) *DescribeJobsOutput { + s.NextToken = &v + return s +} + +// A set of filters by which to return Jobs. +type DescribeJobsRequestFilters struct { + _ struct{} `type:"structure"` + + // The start date in a date range query. + FromDate *string `locationName:"fromDate" min:"19" type:"string"` + + // An array of Job IDs that should be returned. An empty array means all jobs. + JobIDs []*string `locationName:"jobIDs" type:"list"` + + // The end date in a date range query. + ToDate *string `locationName:"toDate" min:"19" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeJobsRequestFilters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeJobsRequestFilters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeJobsRequestFilters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeJobsRequestFilters"} + if s.FromDate != nil && len(*s.FromDate) < 19 { + invalidParams.Add(request.NewErrParamMinLen("FromDate", 19)) + } + if s.ToDate != nil && len(*s.ToDate) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ToDate", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFromDate sets the FromDate field's value. +func (s *DescribeJobsRequestFilters) SetFromDate(v string) *DescribeJobsRequestFilters { + s.FromDate = &v + return s +} + +// SetJobIDs sets the JobIDs field's value. +func (s *DescribeJobsRequestFilters) SetJobIDs(v []*string) *DescribeJobsRequestFilters { + s.JobIDs = v + return s +} + +// SetToDate sets the ToDate field's value. +func (s *DescribeJobsRequestFilters) SetToDate(v string) *DescribeJobsRequestFilters { + s.ToDate = &v + return s +} + +type DescribeRecoveryInstancesInput struct { + _ struct{} `type:"structure"` + + // A set of filters by which to return Recovery Instances. + // + // Filters is a required field + Filters *DescribeRecoveryInstancesRequestFilters `locationName:"filters" type:"structure" required:"true"` + + // Maximum number of Recovery Instances to retrieve. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token of the next Recovery Instance to retrieve. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeRecoveryInstancesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeRecoveryInstancesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeRecoveryInstancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeRecoveryInstancesInput"} + if s.Filters == nil { + invalidParams.Add(request.NewErrParamRequired("Filters")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeRecoveryInstancesInput) SetFilters(v *DescribeRecoveryInstancesRequestFilters) *DescribeRecoveryInstancesInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeRecoveryInstancesInput) SetMaxResults(v int64) *DescribeRecoveryInstancesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeRecoveryInstancesInput) SetNextToken(v string) *DescribeRecoveryInstancesInput { + s.NextToken = &v + return s +} + +type DescribeRecoveryInstancesOutput struct { + _ struct{} `type:"structure"` + + // An array of Recovery Instances. + Items []*RecoveryInstance `locationName:"items" type:"list"` + + // The token of the next Recovery Instance to retrieve. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeRecoveryInstancesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeRecoveryInstancesOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *DescribeRecoveryInstancesOutput) SetItems(v []*RecoveryInstance) *DescribeRecoveryInstancesOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeRecoveryInstancesOutput) SetNextToken(v string) *DescribeRecoveryInstancesOutput { + s.NextToken = &v + return s +} + +// A set of filters by which to return Recovery Instances. +type DescribeRecoveryInstancesRequestFilters struct { + _ struct{} `type:"structure"` + + // An array of Recovery Instance IDs that should be returned. An empty array + // means all Recovery Instances. + RecoveryInstanceIDs []*string `locationName:"recoveryInstanceIDs" type:"list"` + + // An array of Source Server IDs for which associated Recovery Instances should + // be returned. + SourceServerIDs []*string `locationName:"sourceServerIDs" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeRecoveryInstancesRequestFilters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeRecoveryInstancesRequestFilters) GoString() string { + return s.String() +} + +// SetRecoveryInstanceIDs sets the RecoveryInstanceIDs field's value. +func (s *DescribeRecoveryInstancesRequestFilters) SetRecoveryInstanceIDs(v []*string) *DescribeRecoveryInstancesRequestFilters { + s.RecoveryInstanceIDs = v + return s +} + +// SetSourceServerIDs sets the SourceServerIDs field's value. +func (s *DescribeRecoveryInstancesRequestFilters) SetSourceServerIDs(v []*string) *DescribeRecoveryInstancesRequestFilters { + s.SourceServerIDs = v + return s +} + +type DescribeRecoverySnapshotsInput struct { + _ struct{} `type:"structure"` + + // A set of filters by which to return Recovery Snapshots. + Filters *DescribeRecoverySnapshotsRequestFilters `locationName:"filters" type:"structure"` + + // Maximum number of Recovery Snapshots to retrieve. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token of the next Recovery Snapshot to retrieve. + NextToken *string `locationName:"nextToken" type:"string"` + + // The sorted ordering by which to return Recovery Snapshots. + Order *string `locationName:"order" type:"string" enum:"RecoverySnapshotsOrder"` + + // Filter Recovery Snapshots by Source Server ID. + // + // SourceServerID is a required field + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeRecoverySnapshotsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeRecoverySnapshotsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeRecoverySnapshotsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeRecoverySnapshotsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.SourceServerID == nil { + invalidParams.Add(request.NewErrParamRequired("SourceServerID")) + } + if s.SourceServerID != nil && len(*s.SourceServerID) < 19 { + invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19)) + } + if s.Filters != nil { + if err := s.Filters.Validate(); err != nil { + invalidParams.AddNested("Filters", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeRecoverySnapshotsInput) SetFilters(v *DescribeRecoverySnapshotsRequestFilters) *DescribeRecoverySnapshotsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeRecoverySnapshotsInput) SetMaxResults(v int64) *DescribeRecoverySnapshotsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeRecoverySnapshotsInput) SetNextToken(v string) *DescribeRecoverySnapshotsInput { + s.NextToken = &v + return s +} + +// SetOrder sets the Order field's value. +func (s *DescribeRecoverySnapshotsInput) SetOrder(v string) *DescribeRecoverySnapshotsInput { + s.Order = &v + return s +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *DescribeRecoverySnapshotsInput) SetSourceServerID(v string) *DescribeRecoverySnapshotsInput { + s.SourceServerID = &v + return s +} + +type DescribeRecoverySnapshotsOutput struct { + _ struct{} `type:"structure"` + + // An array of Recovery Snapshots. + Items []*RecoverySnapshot `locationName:"items" type:"list"` + + // The token of the next Recovery Snapshot to retrieve. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeRecoverySnapshotsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeRecoverySnapshotsOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *DescribeRecoverySnapshotsOutput) SetItems(v []*RecoverySnapshot) *DescribeRecoverySnapshotsOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeRecoverySnapshotsOutput) SetNextToken(v string) *DescribeRecoverySnapshotsOutput { + s.NextToken = &v + return s +} + +// A set of filters by which to return Recovery Snapshots. +type DescribeRecoverySnapshotsRequestFilters struct { + _ struct{} `type:"structure"` + + // The start date in a date range query. + FromDateTime *string `locationName:"fromDateTime" min:"19" type:"string"` + + // The end date in a date range query. + ToDateTime *string `locationName:"toDateTime" min:"19" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeRecoverySnapshotsRequestFilters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeRecoverySnapshotsRequestFilters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeRecoverySnapshotsRequestFilters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeRecoverySnapshotsRequestFilters"} + if s.FromDateTime != nil && len(*s.FromDateTime) < 19 { + invalidParams.Add(request.NewErrParamMinLen("FromDateTime", 19)) + } + if s.ToDateTime != nil && len(*s.ToDateTime) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ToDateTime", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFromDateTime sets the FromDateTime field's value. +func (s *DescribeRecoverySnapshotsRequestFilters) SetFromDateTime(v string) *DescribeRecoverySnapshotsRequestFilters { + s.FromDateTime = &v + return s +} + +// SetToDateTime sets the ToDateTime field's value. +func (s *DescribeRecoverySnapshotsRequestFilters) SetToDateTime(v string) *DescribeRecoverySnapshotsRequestFilters { + s.ToDateTime = &v + return s +} + +type DescribeReplicationConfigurationTemplatesInput struct { + _ struct{} `type:"structure"` + + // Maximum number of Replication Configuration Templates to retrieve. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token of the next Replication Configuration Template to retrieve. + NextToken *string `locationName:"nextToken" type:"string"` + + // The IDs of the Replication Configuration Templates to retrieve. An empty + // list means all Replication Configuration Templates. + // + // ReplicationConfigurationTemplateIDs is a required field + ReplicationConfigurationTemplateIDs []*string `locationName:"replicationConfigurationTemplateIDs" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeReplicationConfigurationTemplatesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeReplicationConfigurationTemplatesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeReplicationConfigurationTemplatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeReplicationConfigurationTemplatesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ReplicationConfigurationTemplateIDs == nil { + invalidParams.Add(request.NewErrParamRequired("ReplicationConfigurationTemplateIDs")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeReplicationConfigurationTemplatesInput) SetMaxResults(v int64) *DescribeReplicationConfigurationTemplatesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeReplicationConfigurationTemplatesInput) SetNextToken(v string) *DescribeReplicationConfigurationTemplatesInput { + s.NextToken = &v + return s +} + +// SetReplicationConfigurationTemplateIDs sets the ReplicationConfigurationTemplateIDs field's value. +func (s *DescribeReplicationConfigurationTemplatesInput) SetReplicationConfigurationTemplateIDs(v []*string) *DescribeReplicationConfigurationTemplatesInput { + s.ReplicationConfigurationTemplateIDs = v + return s +} + +type DescribeReplicationConfigurationTemplatesOutput struct { + _ struct{} `type:"structure"` + + // An array of Replication Configuration Templates. + Items []*ReplicationConfigurationTemplate `locationName:"items" type:"list"` + + // The token of the next Replication Configuration Template to retrieve. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeReplicationConfigurationTemplatesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeReplicationConfigurationTemplatesOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *DescribeReplicationConfigurationTemplatesOutput) SetItems(v []*ReplicationConfigurationTemplate) *DescribeReplicationConfigurationTemplatesOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeReplicationConfigurationTemplatesOutput) SetNextToken(v string) *DescribeReplicationConfigurationTemplatesOutput { + s.NextToken = &v + return s +} + +type DescribeSourceServersInput struct { + _ struct{} `type:"structure"` + + // A set of filters by which to return Source Servers. + // + // Filters is a required field + Filters *DescribeSourceServersRequestFilters `locationName:"filters" type:"structure" required:"true"` + + // Maximum number of Source Servers to retrieve. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token of the next Source Server to retrieve. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSourceServersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSourceServersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSourceServersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSourceServersInput"} + if s.Filters == nil { + invalidParams.Add(request.NewErrParamRequired("Filters")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeSourceServersInput) SetFilters(v *DescribeSourceServersRequestFilters) *DescribeSourceServersInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeSourceServersInput) SetMaxResults(v int64) *DescribeSourceServersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSourceServersInput) SetNextToken(v string) *DescribeSourceServersInput { + s.NextToken = &v + return s +} + +type DescribeSourceServersOutput struct { + _ struct{} `type:"structure"` + + // An array of Source Servers. + Items []*SourceServer `locationName:"items" type:"list"` + + // The token of the next Source Server to retrieve. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSourceServersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSourceServersOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *DescribeSourceServersOutput) SetItems(v []*SourceServer) *DescribeSourceServersOutput { + s.Items = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSourceServersOutput) SetNextToken(v string) *DescribeSourceServersOutput { + s.NextToken = &v + return s +} + +// A set of filters by which to return Source Servers. +type DescribeSourceServersRequestFilters struct { + _ struct{} `type:"structure"` + + // An ID that describes the hardware of the Source Server. This is either an + // EC2 instance id, a VMware uuid or a mac address. + HardwareId *string `locationName:"hardwareId" type:"string"` + + // An array of Source Servers IDs that should be returned. An empty array means + // all Source Servers. + SourceServerIDs []*string `locationName:"sourceServerIDs" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSourceServersRequestFilters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSourceServersRequestFilters) GoString() string { + return s.String() +} + +// SetHardwareId sets the HardwareId field's value. +func (s *DescribeSourceServersRequestFilters) SetHardwareId(v string) *DescribeSourceServersRequestFilters { + s.HardwareId = &v + return s +} + +// SetSourceServerIDs sets the SourceServerIDs field's value. +func (s *DescribeSourceServersRequestFilters) SetSourceServerIDs(v []*string) *DescribeSourceServersRequestFilters { + s.SourceServerIDs = v + return s +} + +type DisconnectRecoveryInstanceInput struct { + _ struct{} `type:"structure"` + + // The ID of the Recovery Instance to disconnect. + // + // RecoveryInstanceID is a required field + RecoveryInstanceID *string `locationName:"recoveryInstanceID" min:"10" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisconnectRecoveryInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisconnectRecoveryInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisconnectRecoveryInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisconnectRecoveryInstanceInput"} + if s.RecoveryInstanceID == nil { + invalidParams.Add(request.NewErrParamRequired("RecoveryInstanceID")) + } + if s.RecoveryInstanceID != nil && len(*s.RecoveryInstanceID) < 10 { + invalidParams.Add(request.NewErrParamMinLen("RecoveryInstanceID", 10)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRecoveryInstanceID sets the RecoveryInstanceID field's value. +func (s *DisconnectRecoveryInstanceInput) SetRecoveryInstanceID(v string) *DisconnectRecoveryInstanceInput { + s.RecoveryInstanceID = &v + return s +} + +type DisconnectRecoveryInstanceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisconnectRecoveryInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisconnectRecoveryInstanceOutput) GoString() string { + return s.String() +} + +type DisconnectSourceServerInput struct { + _ struct{} `type:"structure"` + + // The ID of the Source Server to disconnect. + // + // SourceServerID is a required field + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisconnectSourceServerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisconnectSourceServerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisconnectSourceServerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisconnectSourceServerInput"} + if s.SourceServerID == nil { + invalidParams.Add(request.NewErrParamRequired("SourceServerID")) + } + if s.SourceServerID != nil && len(*s.SourceServerID) < 19 { + invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *DisconnectSourceServerInput) SetSourceServerID(v string) *DisconnectSourceServerInput { + s.SourceServerID = &v + return s +} + +type DisconnectSourceServerOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the Source Server. + Arn *string `locationName:"arn" min:"20" type:"string"` + + // The Data Replication Info of the Source Server. + DataReplicationInfo *DataReplicationInfo `locationName:"dataReplicationInfo" type:"structure"` + + // The status of the last recovery launch of this Source Server. + LastLaunchResult *string `locationName:"lastLaunchResult" type:"string" enum:"LastLaunchResult"` + + // The lifecycle information of this Source Server. + LifeCycle *LifeCycle `locationName:"lifeCycle" type:"structure"` + + // The ID of the Recovery Instance associated with this Source Server. + RecoveryInstanceId *string `locationName:"recoveryInstanceId" min:"10" type:"string"` + + // The source properties of the Source Server. + SourceProperties *SourceProperties `locationName:"sourceProperties" type:"structure"` + + // The ID of the Source Server. + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"` + + // The tags associated with the Source Server. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by DisconnectSourceServerOutput's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisconnectSourceServerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisconnectSourceServerOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DisconnectSourceServerOutput) SetArn(v string) *DisconnectSourceServerOutput { + s.Arn = &v + return s +} + +// SetDataReplicationInfo sets the DataReplicationInfo field's value. +func (s *DisconnectSourceServerOutput) SetDataReplicationInfo(v *DataReplicationInfo) *DisconnectSourceServerOutput { + s.DataReplicationInfo = v + return s +} + +// SetLastLaunchResult sets the LastLaunchResult field's value. +func (s *DisconnectSourceServerOutput) SetLastLaunchResult(v string) *DisconnectSourceServerOutput { + s.LastLaunchResult = &v + return s +} + +// SetLifeCycle sets the LifeCycle field's value. +func (s *DisconnectSourceServerOutput) SetLifeCycle(v *LifeCycle) *DisconnectSourceServerOutput { + s.LifeCycle = v + return s +} + +// SetRecoveryInstanceId sets the RecoveryInstanceId field's value. +func (s *DisconnectSourceServerOutput) SetRecoveryInstanceId(v string) *DisconnectSourceServerOutput { + s.RecoveryInstanceId = &v + return s +} + +// SetSourceProperties sets the SourceProperties field's value. +func (s *DisconnectSourceServerOutput) SetSourceProperties(v *SourceProperties) *DisconnectSourceServerOutput { + s.SourceProperties = v + return s +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *DisconnectSourceServerOutput) SetSourceServerID(v string) *DisconnectSourceServerOutput { + s.SourceServerID = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DisconnectSourceServerOutput) SetTags(v map[string]*string) *DisconnectSourceServerOutput { + s.Tags = v + return s +} + +// An object representing a data storage device on a server. +type Disk struct { + _ struct{} `type:"structure"` + + // The amount of storage on the disk in bytes. + Bytes *int64 `locationName:"bytes" type:"long"` + + // The disk or device name. + DeviceName *string `locationName:"deviceName" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Disk) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Disk) GoString() string { + return s.String() +} + +// SetBytes sets the Bytes field's value. +func (s *Disk) SetBytes(v int64) *Disk { + s.Bytes = &v + return s +} + +// SetDeviceName sets the DeviceName field's value. +func (s *Disk) SetDeviceName(v string) *Disk { + s.DeviceName = &v + return s +} + +type GetFailbackReplicationConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ID of the Recovery Instance whose failback replication configuration + // should be returned. + // + // RecoveryInstanceID is a required field + RecoveryInstanceID *string `locationName:"recoveryInstanceID" min:"10" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetFailbackReplicationConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetFailbackReplicationConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetFailbackReplicationConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFailbackReplicationConfigurationInput"} + if s.RecoveryInstanceID == nil { + invalidParams.Add(request.NewErrParamRequired("RecoveryInstanceID")) + } + if s.RecoveryInstanceID != nil && len(*s.RecoveryInstanceID) < 10 { + invalidParams.Add(request.NewErrParamMinLen("RecoveryInstanceID", 10)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRecoveryInstanceID sets the RecoveryInstanceID field's value. +func (s *GetFailbackReplicationConfigurationInput) SetRecoveryInstanceID(v string) *GetFailbackReplicationConfigurationInput { + s.RecoveryInstanceID = &v + return s +} + +type GetFailbackReplicationConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Configure bandwidth throttling for the outbound data transfer rate of the + // Recovery Instance in Mbps. + BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"` + + // The name of the Failback Replication Configuration. + Name *string `locationName:"name" type:"string"` + + // The ID of the Recovery Instance. + // + // RecoveryInstanceID is a required field + RecoveryInstanceID *string `locationName:"recoveryInstanceID" min:"10" type:"string" required:"true"` + + // Whether to use Private IP for the failback replication of the Recovery Instance. + UsePrivateIP *bool `locationName:"usePrivateIP" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetFailbackReplicationConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetFailbackReplicationConfigurationOutput) GoString() string { + return s.String() +} + +// SetBandwidthThrottling sets the BandwidthThrottling field's value. +func (s *GetFailbackReplicationConfigurationOutput) SetBandwidthThrottling(v int64) *GetFailbackReplicationConfigurationOutput { + s.BandwidthThrottling = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetFailbackReplicationConfigurationOutput) SetName(v string) *GetFailbackReplicationConfigurationOutput { + s.Name = &v + return s +} + +// SetRecoveryInstanceID sets the RecoveryInstanceID field's value. +func (s *GetFailbackReplicationConfigurationOutput) SetRecoveryInstanceID(v string) *GetFailbackReplicationConfigurationOutput { + s.RecoveryInstanceID = &v + return s +} + +// SetUsePrivateIP sets the UsePrivateIP field's value. +func (s *GetFailbackReplicationConfigurationOutput) SetUsePrivateIP(v bool) *GetFailbackReplicationConfigurationOutput { + s.UsePrivateIP = &v + return s +} + +type GetLaunchConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ID of the Source Server that we want to retrieve a Launch Configuration + // for. + // + // SourceServerID is a required field + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLaunchConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLaunchConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetLaunchConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetLaunchConfigurationInput"} + if s.SourceServerID == nil { + invalidParams.Add(request.NewErrParamRequired("SourceServerID")) + } + if s.SourceServerID != nil && len(*s.SourceServerID) < 19 { + invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *GetLaunchConfigurationInput) SetSourceServerID(v string) *GetLaunchConfigurationInput { + s.SourceServerID = &v + return s +} + +type GetLaunchConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Whether we should copy the Private IP of the Source Server to the Recovery + // Instance. + CopyPrivateIp *bool `locationName:"copyPrivateIp" type:"boolean"` + + // Whether we want to copy the tags of the Source Server to the EC2 machine + // of the Recovery Instance. + CopyTags *bool `locationName:"copyTags" type:"boolean"` + + // The EC2 launch template ID of this launch configuration. + Ec2LaunchTemplateID *string `locationName:"ec2LaunchTemplateID" type:"string"` + + // The state of the Recovery Instance in EC2 after the recovery operation. + LaunchDisposition *string `locationName:"launchDisposition" type:"string" enum:"LaunchDisposition"` + + // The licensing configuration to be used for this launch configuration. + Licensing *Licensing `locationName:"licensing" type:"structure"` + + // The name of the launch configuration. + Name *string `locationName:"name" type:"string"` + + // The ID of the Source Server for this launch configuration. + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"` + + // Whether Elastic Disaster Recovery should try to automatically choose the + // instance type that best matches the OS, CPU, and RAM of your Source Server. + TargetInstanceTypeRightSizingMethod *string `locationName:"targetInstanceTypeRightSizingMethod" type:"string" enum:"TargetInstanceTypeRightSizingMethod"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLaunchConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLaunchConfigurationOutput) GoString() string { + return s.String() +} + +// SetCopyPrivateIp sets the CopyPrivateIp field's value. +func (s *GetLaunchConfigurationOutput) SetCopyPrivateIp(v bool) *GetLaunchConfigurationOutput { + s.CopyPrivateIp = &v + return s +} + +// SetCopyTags sets the CopyTags field's value. +func (s *GetLaunchConfigurationOutput) SetCopyTags(v bool) *GetLaunchConfigurationOutput { + s.CopyTags = &v + return s +} + +// SetEc2LaunchTemplateID sets the Ec2LaunchTemplateID field's value. +func (s *GetLaunchConfigurationOutput) SetEc2LaunchTemplateID(v string) *GetLaunchConfigurationOutput { + s.Ec2LaunchTemplateID = &v + return s +} + +// SetLaunchDisposition sets the LaunchDisposition field's value. +func (s *GetLaunchConfigurationOutput) SetLaunchDisposition(v string) *GetLaunchConfigurationOutput { + s.LaunchDisposition = &v + return s +} + +// SetLicensing sets the Licensing field's value. +func (s *GetLaunchConfigurationOutput) SetLicensing(v *Licensing) *GetLaunchConfigurationOutput { + s.Licensing = v + return s +} + +// SetName sets the Name field's value. +func (s *GetLaunchConfigurationOutput) SetName(v string) *GetLaunchConfigurationOutput { + s.Name = &v + return s +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *GetLaunchConfigurationOutput) SetSourceServerID(v string) *GetLaunchConfigurationOutput { + s.SourceServerID = &v + return s +} + +// SetTargetInstanceTypeRightSizingMethod sets the TargetInstanceTypeRightSizingMethod field's value. +func (s *GetLaunchConfigurationOutput) SetTargetInstanceTypeRightSizingMethod(v string) *GetLaunchConfigurationOutput { + s.TargetInstanceTypeRightSizingMethod = &v + return s +} + +type GetReplicationConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ID of the Source Serve for this Replication Configuration.r + // + // SourceServerID is a required field + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetReplicationConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetReplicationConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetReplicationConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetReplicationConfigurationInput"} + if s.SourceServerID == nil { + invalidParams.Add(request.NewErrParamRequired("SourceServerID")) + } + if s.SourceServerID != nil && len(*s.SourceServerID) < 19 { + invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *GetReplicationConfigurationInput) SetSourceServerID(v string) *GetReplicationConfigurationInput { + s.SourceServerID = &v + return s +} + +type GetReplicationConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Whether to associate the default Elastic Disaster Recovery Security group + // with the Replication Configuration. + AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"` + + // Configure bandwidth throttling for the outbound data transfer rate of the + // Source Server in Mbps. + BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"` + + // Whether to create a Public IP for the Recovery Instance by default. + CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"` + + // The data plane routing mechanism that will be used for replication. + DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"` + + // The Staging Disk EBS volume type to be used during replication. + DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"` + + // The type of EBS encryption to be used during replication. + EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"` + + // The ARN of the EBS encryption key to be used during replication. + EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"` + + // The name of the Replication Configuration. + Name *string `locationName:"name" type:"string"` + + // The Point in time (PIT) policy to manage snapshots taken during replication. + PitPolicy []*PITPolicyRule `locationName:"pitPolicy" min:"1" type:"list"` + + // The configuration of the disks of the Source Server to be replicated. + ReplicatedDisks []*ReplicationConfigurationReplicatedDisk `locationName:"replicatedDisks" type:"list"` + + // The instance type to be used for the replication server. + ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"` + + // The security group IDs that will be used by the replication server. + ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"` + + // The ID of the Source Server for this Replication Configuration. + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"` + + // The subnet to be used by the replication staging area. + StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"` + + // A set of tags to be associated with all resources created in the replication + // staging area: EC2 replication server, EBS volumes, EBS snapshots, etc. + // + // StagingAreaTags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GetReplicationConfigurationOutput's + // String and GoString methods. + StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"` + + // Whether to use a dedicated Replication Server in the replication staging + // area. + UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetReplicationConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetReplicationConfigurationOutput) GoString() string { + return s.String() +} + +// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value. +func (s *GetReplicationConfigurationOutput) SetAssociateDefaultSecurityGroup(v bool) *GetReplicationConfigurationOutput { + s.AssociateDefaultSecurityGroup = &v + return s +} + +// SetBandwidthThrottling sets the BandwidthThrottling field's value. +func (s *GetReplicationConfigurationOutput) SetBandwidthThrottling(v int64) *GetReplicationConfigurationOutput { + s.BandwidthThrottling = &v + return s +} + +// SetCreatePublicIP sets the CreatePublicIP field's value. +func (s *GetReplicationConfigurationOutput) SetCreatePublicIP(v bool) *GetReplicationConfigurationOutput { + s.CreatePublicIP = &v + return s +} + +// SetDataPlaneRouting sets the DataPlaneRouting field's value. +func (s *GetReplicationConfigurationOutput) SetDataPlaneRouting(v string) *GetReplicationConfigurationOutput { + s.DataPlaneRouting = &v + return s +} + +// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value. +func (s *GetReplicationConfigurationOutput) SetDefaultLargeStagingDiskType(v string) *GetReplicationConfigurationOutput { + s.DefaultLargeStagingDiskType = &v + return s +} + +// SetEbsEncryption sets the EbsEncryption field's value. +func (s *GetReplicationConfigurationOutput) SetEbsEncryption(v string) *GetReplicationConfigurationOutput { + s.EbsEncryption = &v + return s +} + +// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value. +func (s *GetReplicationConfigurationOutput) SetEbsEncryptionKeyArn(v string) *GetReplicationConfigurationOutput { + s.EbsEncryptionKeyArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetReplicationConfigurationOutput) SetName(v string) *GetReplicationConfigurationOutput { + s.Name = &v + return s +} + +// SetPitPolicy sets the PitPolicy field's value. +func (s *GetReplicationConfigurationOutput) SetPitPolicy(v []*PITPolicyRule) *GetReplicationConfigurationOutput { + s.PitPolicy = v + return s +} + +// SetReplicatedDisks sets the ReplicatedDisks field's value. +func (s *GetReplicationConfigurationOutput) SetReplicatedDisks(v []*ReplicationConfigurationReplicatedDisk) *GetReplicationConfigurationOutput { + s.ReplicatedDisks = v + return s +} + +// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value. +func (s *GetReplicationConfigurationOutput) SetReplicationServerInstanceType(v string) *GetReplicationConfigurationOutput { + s.ReplicationServerInstanceType = &v + return s +} + +// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value. +func (s *GetReplicationConfigurationOutput) SetReplicationServersSecurityGroupsIDs(v []*string) *GetReplicationConfigurationOutput { + s.ReplicationServersSecurityGroupsIDs = v + return s +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *GetReplicationConfigurationOutput) SetSourceServerID(v string) *GetReplicationConfigurationOutput { + s.SourceServerID = &v + return s +} + +// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value. +func (s *GetReplicationConfigurationOutput) SetStagingAreaSubnetId(v string) *GetReplicationConfigurationOutput { + s.StagingAreaSubnetId = &v + return s +} + +// SetStagingAreaTags sets the StagingAreaTags field's value. +func (s *GetReplicationConfigurationOutput) SetStagingAreaTags(v map[string]*string) *GetReplicationConfigurationOutput { + s.StagingAreaTags = v + return s +} + +// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value. +func (s *GetReplicationConfigurationOutput) SetUseDedicatedReplicationServer(v bool) *GetReplicationConfigurationOutput { + s.UseDedicatedReplicationServer = &v + return s +} + +// Hints used to uniquely identify a machine. +type IdentificationHints struct { + _ struct{} `type:"structure"` + + // AWS Instance ID identification hint. + AwsInstanceID *string `locationName:"awsInstanceID" type:"string"` + + // Fully Qualified Domain Name identification hint. + Fqdn *string `locationName:"fqdn" type:"string"` + + // Hostname identification hint. + Hostname *string `locationName:"hostname" type:"string"` + + // vCenter VM path identification hint. + VmWareUuid *string `locationName:"vmWareUuid" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IdentificationHints) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IdentificationHints) GoString() string { + return s.String() +} + +// SetAwsInstanceID sets the AwsInstanceID field's value. +func (s *IdentificationHints) SetAwsInstanceID(v string) *IdentificationHints { + s.AwsInstanceID = &v + return s +} + +// SetFqdn sets the Fqdn field's value. +func (s *IdentificationHints) SetFqdn(v string) *IdentificationHints { + s.Fqdn = &v + return s +} + +// SetHostname sets the Hostname field's value. +func (s *IdentificationHints) SetHostname(v string) *IdentificationHints { + s.Hostname = &v + return s +} + +// SetVmWareUuid sets the VmWareUuid field's value. +func (s *IdentificationHints) SetVmWareUuid(v string) *IdentificationHints { + s.VmWareUuid = &v + return s +} + +type InitializeServiceInput struct { + _ struct{} `type:"structure" nopayload:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InitializeServiceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InitializeServiceInput) GoString() string { + return s.String() +} + +type InitializeServiceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InitializeServiceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InitializeServiceOutput) GoString() string { + return s.String() +} + +// The request processing has failed because of an unknown error, exception +// or failure. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The number of seconds after which the request should be safe to retry. + RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"long"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// 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 +} + +// A job is an asynchronous workflow. +type Job struct { + _ struct{} `type:"structure"` + + // The ARN of a Job. + Arn *string `locationName:"arn" min:"20" type:"string"` + + // The date and time of when the Job was created. + CreationDateTime *string `locationName:"creationDateTime" min:"19" type:"string"` + + // The date and time of when the Job ended. + EndDateTime *string `locationName:"endDateTime" min:"19" type:"string"` + + // A string representing who initiated the Job. + InitiatedBy *string `locationName:"initiatedBy" type:"string" enum:"InitiatedBy"` + + // The ID of the Job. + // + // JobID is a required field + JobID *string `locationName:"jobID" min:"24" type:"string" required:"true"` + + // A list of servers that the Job is acting upon. + ParticipatingServers []*ParticipatingServer `locationName:"participatingServers" type:"list"` + + // The status of the Job. + Status *string `locationName:"status" type:"string" enum:"JobStatus"` + + // A list of tags associated with the Job. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by Job's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` + + // The type of the Job. + Type *string `locationName:"type" type:"string" enum:"JobType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Job) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Job) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Job) SetArn(v string) *Job { + s.Arn = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *Job) SetCreationDateTime(v string) *Job { + s.CreationDateTime = &v + return s +} + +// SetEndDateTime sets the EndDateTime field's value. +func (s *Job) SetEndDateTime(v string) *Job { + s.EndDateTime = &v + return s +} + +// SetInitiatedBy sets the InitiatedBy field's value. +func (s *Job) SetInitiatedBy(v string) *Job { + s.InitiatedBy = &v + return s +} + +// SetJobID sets the JobID field's value. +func (s *Job) SetJobID(v string) *Job { + s.JobID = &v + return s +} + +// SetParticipatingServers sets the ParticipatingServers field's value. +func (s *Job) SetParticipatingServers(v []*ParticipatingServer) *Job { + s.ParticipatingServers = v + return s +} + +// SetStatus sets the Status field's value. +func (s *Job) SetStatus(v string) *Job { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Job) SetTags(v map[string]*string) *Job { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *Job) SetType(v string) *Job { + s.Type = &v + return s +} + +// A log outputted by a Job. +type JobLog struct { + _ struct{} `type:"structure"` + + // The event represents the type of a log. + Event *string `locationName:"event" type:"string" enum:"JobLogEvent"` + + // Metadata associated with a Job log. + EventData *JobLogEventData `locationName:"eventData" type:"structure"` + + // The date and time the log was taken. + LogDateTime *string `locationName:"logDateTime" min:"19" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s JobLog) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s JobLog) GoString() string { + return s.String() +} + +// SetEvent sets the Event field's value. +func (s *JobLog) SetEvent(v string) *JobLog { + s.Event = &v + return s +} + +// SetEventData sets the EventData field's value. +func (s *JobLog) SetEventData(v *JobLogEventData) *JobLog { + s.EventData = v + return s +} + +// SetLogDateTime sets the LogDateTime field's value. +func (s *JobLog) SetLogDateTime(v string) *JobLog { + s.LogDateTime = &v + return s +} + +// Metadata associated with a Job log. +type JobLogEventData struct { + _ struct{} `type:"structure"` + + // The ID of a conversion server. + ConversionServerID *string `locationName:"conversionServerID" type:"string"` + + // A string representing a job error. + RawError *string `locationName:"rawError" type:"string"` + + // The ID of a Source Server. + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"` + + // The ID of a Recovery Instance. + TargetInstanceID *string `locationName:"targetInstanceID" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s JobLogEventData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s JobLogEventData) GoString() string { + return s.String() +} + +// SetConversionServerID sets the ConversionServerID field's value. +func (s *JobLogEventData) SetConversionServerID(v string) *JobLogEventData { + s.ConversionServerID = &v + return s +} + +// SetRawError sets the RawError field's value. +func (s *JobLogEventData) SetRawError(v string) *JobLogEventData { + s.RawError = &v + return s +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *JobLogEventData) SetSourceServerID(v string) *JobLogEventData { + s.SourceServerID = &v + return s +} + +// SetTargetInstanceID sets the TargetInstanceID field's value. +func (s *JobLogEventData) SetTargetInstanceID(v string) *JobLogEventData { + s.TargetInstanceID = &v + return s +} + +// Configuration of a machine's license. +type Licensing struct { + _ struct{} `type:"structure"` + + // Whether to enable "Bring your own license" or not. + OsByol *bool `locationName:"osByol" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Licensing) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Licensing) GoString() string { + return s.String() +} + +// SetOsByol sets the OsByol field's value. +func (s *Licensing) SetOsByol(v bool) *Licensing { + s.OsByol = &v + return s +} + +// An object representing the Source Server Lifecycle. +type LifeCycle struct { + _ struct{} `type:"structure"` + + // The date and time of when the Source Server was added to the service. + AddedToServiceDateTime *string `locationName:"addedToServiceDateTime" min:"19" type:"string"` + + // The amount of time that the Source Server has been replicating for. + ElapsedReplicationDuration *string `locationName:"elapsedReplicationDuration" min:"19" type:"string"` + + // The date and time of the first byte that was replicated from the Source Server. + FirstByteDateTime *string `locationName:"firstByteDateTime" min:"19" type:"string"` + + // An object containing information regarding the last launch of the Source + // Server. + LastLaunch *LifeCycleLastLaunch `locationName:"lastLaunch" type:"structure"` + + // The date and time this Source Server was last seen by the service. + LastSeenByServiceDateTime *string `locationName:"lastSeenByServiceDateTime" min:"19" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LifeCycle) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LifeCycle) GoString() string { + return s.String() +} + +// SetAddedToServiceDateTime sets the AddedToServiceDateTime field's value. +func (s *LifeCycle) SetAddedToServiceDateTime(v string) *LifeCycle { + s.AddedToServiceDateTime = &v + return s +} + +// SetElapsedReplicationDuration sets the ElapsedReplicationDuration field's value. +func (s *LifeCycle) SetElapsedReplicationDuration(v string) *LifeCycle { + s.ElapsedReplicationDuration = &v + return s +} + +// SetFirstByteDateTime sets the FirstByteDateTime field's value. +func (s *LifeCycle) SetFirstByteDateTime(v string) *LifeCycle { + s.FirstByteDateTime = &v + return s +} + +// SetLastLaunch sets the LastLaunch field's value. +func (s *LifeCycle) SetLastLaunch(v *LifeCycleLastLaunch) *LifeCycle { + s.LastLaunch = v + return s +} + +// SetLastSeenByServiceDateTime sets the LastSeenByServiceDateTime field's value. +func (s *LifeCycle) SetLastSeenByServiceDateTime(v string) *LifeCycle { + s.LastSeenByServiceDateTime = &v + return s +} + +// An object containing information regarding the last launch of a Source Server. +type LifeCycleLastLaunch struct { + _ struct{} `type:"structure"` + + // An object containing information regarding the initiation of the last launch + // of a Source Server. + Initiated *LifeCycleLastLaunchInitiated `locationName:"initiated" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LifeCycleLastLaunch) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LifeCycleLastLaunch) GoString() string { + return s.String() +} + +// SetInitiated sets the Initiated field's value. +func (s *LifeCycleLastLaunch) SetInitiated(v *LifeCycleLastLaunchInitiated) *LifeCycleLastLaunch { + s.Initiated = v + return s +} + +// An object containing information regarding the initiation of the last launch +// of a Source Server. +type LifeCycleLastLaunchInitiated struct { + _ struct{} `type:"structure"` + + // The date and time the last Source Server launch was initiated. + ApiCallDateTime *string `locationName:"apiCallDateTime" min:"19" type:"string"` + + // The ID of the Job that was used to last launch the Source Server. + JobID *string `locationName:"jobID" min:"24" type:"string"` + + // The Job type that was used to last launch the Source Server. + Type *string `locationName:"type" type:"string" enum:"LastLaunchType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LifeCycleLastLaunchInitiated) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LifeCycleLastLaunchInitiated) GoString() string { + return s.String() +} + +// SetApiCallDateTime sets the ApiCallDateTime field's value. +func (s *LifeCycleLastLaunchInitiated) SetApiCallDateTime(v string) *LifeCycleLastLaunchInitiated { + s.ApiCallDateTime = &v + return s +} + +// SetJobID sets the JobID field's value. +func (s *LifeCycleLastLaunchInitiated) SetJobID(v string) *LifeCycleLastLaunchInitiated { + s.JobID = &v + return s +} + +// SetType sets the Type field's value. +func (s *LifeCycleLastLaunchInitiated) SetType(v string) *LifeCycleLastLaunchInitiated { + s.Type = &v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the resource whose tags should be returned. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The tags of the requested resource. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ListTagsForResourceOutput's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +// Network interface. +type NetworkInterface struct { + _ struct{} `type:"structure"` + + // Network interface IPs. + Ips []*string `locationName:"ips" type:"list"` + + // Whether this is the primary network interface. + IsPrimary *bool `locationName:"isPrimary" type:"boolean"` + + // The MAC address of the network interface. + MacAddress *string `locationName:"macAddress" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkInterface) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkInterface) GoString() string { + return s.String() +} + +// SetIps sets the Ips field's value. +func (s *NetworkInterface) SetIps(v []*string) *NetworkInterface { + s.Ips = v + return s +} + +// SetIsPrimary sets the IsPrimary field's value. +func (s *NetworkInterface) SetIsPrimary(v bool) *NetworkInterface { + s.IsPrimary = &v + return s +} + +// SetMacAddress sets the MacAddress field's value. +func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface { + s.MacAddress = &v + return s +} + +// Operating System. +type OS struct { + _ struct{} `type:"structure"` + + // The long name of the Operating System. + FullString *string `locationName:"fullString" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OS) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OS) GoString() string { + return s.String() +} + +// SetFullString sets the FullString field's value. +func (s *OS) SetFullString(v string) *OS { + s.FullString = &v + return s +} + +// A rule in the Point in Time (PIT) policy representing when to take snapshots +// and how long to retain them for. +type PITPolicyRule struct { + _ struct{} `type:"structure"` + + // Whether this rule is enabled or not. + Enabled *bool `locationName:"enabled" type:"boolean"` + + // How often, in the chosen units, a snapshot should be taken. + // + // Interval is a required field + Interval *int64 `locationName:"interval" min:"1" type:"integer" required:"true"` + + // The duration to retain a snapshot for, in the chosen units. + // + // RetentionDuration is a required field + RetentionDuration *int64 `locationName:"retentionDuration" min:"1" type:"integer" required:"true"` + + // The ID of the rule. + RuleID *int64 `locationName:"ruleID" type:"long"` + + // The units used to measure the interval and retentionDuration. + // + // Units is a required field + Units *string `locationName:"units" type:"string" required:"true" enum:"PITPolicyRuleUnits"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PITPolicyRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PITPolicyRule) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PITPolicyRule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PITPolicyRule"} + if s.Interval == nil { + invalidParams.Add(request.NewErrParamRequired("Interval")) + } + if s.Interval != nil && *s.Interval < 1 { + invalidParams.Add(request.NewErrParamMinValue("Interval", 1)) + } + if s.RetentionDuration == nil { + invalidParams.Add(request.NewErrParamRequired("RetentionDuration")) + } + if s.RetentionDuration != nil && *s.RetentionDuration < 1 { + invalidParams.Add(request.NewErrParamMinValue("RetentionDuration", 1)) + } + if s.Units == nil { + invalidParams.Add(request.NewErrParamRequired("Units")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *PITPolicyRule) SetEnabled(v bool) *PITPolicyRule { + s.Enabled = &v + return s +} + +// SetInterval sets the Interval field's value. +func (s *PITPolicyRule) SetInterval(v int64) *PITPolicyRule { + s.Interval = &v + return s +} + +// SetRetentionDuration sets the RetentionDuration field's value. +func (s *PITPolicyRule) SetRetentionDuration(v int64) *PITPolicyRule { + s.RetentionDuration = &v + return s +} + +// SetRuleID sets the RuleID field's value. +func (s *PITPolicyRule) SetRuleID(v int64) *PITPolicyRule { + s.RuleID = &v + return s +} + +// SetUnits sets the Units field's value. +func (s *PITPolicyRule) SetUnits(v string) *PITPolicyRule { + s.Units = &v + return s +} + +// Represents a server participating in an asynchronous Job. +type ParticipatingServer struct { + _ struct{} `type:"structure"` + + // The launch status of a participating server. + LaunchStatus *string `locationName:"launchStatus" type:"string" enum:"LaunchStatus"` + + // The Recovery Instance ID of a participating server. + RecoveryInstanceID *string `locationName:"recoveryInstanceID" min:"10" type:"string"` + + // The Source Server ID of a participating server. + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ParticipatingServer) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ParticipatingServer) GoString() string { + return s.String() +} + +// SetLaunchStatus sets the LaunchStatus field's value. +func (s *ParticipatingServer) SetLaunchStatus(v string) *ParticipatingServer { + s.LaunchStatus = &v + return s +} + +// SetRecoveryInstanceID sets the RecoveryInstanceID field's value. +func (s *ParticipatingServer) SetRecoveryInstanceID(v string) *ParticipatingServer { + s.RecoveryInstanceID = &v + return s +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *ParticipatingServer) SetSourceServerID(v string) *ParticipatingServer { + s.SourceServerID = &v + return s +} + +// A Recovery Instance is a replica of a Source Server running on EC2. +type RecoveryInstance struct { + _ struct{} `type:"structure"` + + // The ARN of the Recovery Instance. + Arn *string `locationName:"arn" min:"20" type:"string"` + + // The Data Replication Info of the Recovery Instance. + DataReplicationInfo *RecoveryInstanceDataReplicationInfo `locationName:"dataReplicationInfo" type:"structure"` + + // The EC2 instance ID of the Recovery Instance. + Ec2InstanceID *string `locationName:"ec2InstanceID" type:"string"` + + // The state of the EC2 instance for this Recovery Instance. + Ec2InstanceState *string `locationName:"ec2InstanceState" type:"string" enum:"EC2InstanceState"` + + // An object representing failback related information of the Recovery Instance. + Failback *RecoveryInstanceFailback `locationName:"failback" type:"structure"` + + // Whether this Recovery Instance was created for a drill or for an actual Recovery + // event. + IsDrill *bool `locationName:"isDrill" type:"boolean"` + + // The ID of the Job that created the Recovery Instance. + JobID *string `locationName:"jobID" min:"24" type:"string"` + + // The date and time of the Point in Time (PIT) snapshot that this Recovery + // Instance was launched from. + PointInTimeSnapshotDateTime *string `locationName:"pointInTimeSnapshotDateTime" min:"19" type:"string"` + + // The ID of the Recovery Instance. + RecoveryInstanceID *string `locationName:"recoveryInstanceID" min:"10" type:"string"` + + // Properties of the Recovery Instance machine. + RecoveryInstanceProperties *RecoveryInstanceProperties `locationName:"recoveryInstanceProperties" type:"structure"` + + // The Source Server ID that this Recovery Instance is associated with. + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"` + + // An array of tags that are associated with the Recovery Instance. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by RecoveryInstance's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstance) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstance) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *RecoveryInstance) SetArn(v string) *RecoveryInstance { + s.Arn = &v + return s +} + +// SetDataReplicationInfo sets the DataReplicationInfo field's value. +func (s *RecoveryInstance) SetDataReplicationInfo(v *RecoveryInstanceDataReplicationInfo) *RecoveryInstance { + s.DataReplicationInfo = v + return s +} + +// SetEc2InstanceID sets the Ec2InstanceID field's value. +func (s *RecoveryInstance) SetEc2InstanceID(v string) *RecoveryInstance { + s.Ec2InstanceID = &v + return s +} + +// SetEc2InstanceState sets the Ec2InstanceState field's value. +func (s *RecoveryInstance) SetEc2InstanceState(v string) *RecoveryInstance { + s.Ec2InstanceState = &v + return s +} + +// SetFailback sets the Failback field's value. +func (s *RecoveryInstance) SetFailback(v *RecoveryInstanceFailback) *RecoveryInstance { + s.Failback = v + return s +} + +// SetIsDrill sets the IsDrill field's value. +func (s *RecoveryInstance) SetIsDrill(v bool) *RecoveryInstance { + s.IsDrill = &v + return s +} + +// SetJobID sets the JobID field's value. +func (s *RecoveryInstance) SetJobID(v string) *RecoveryInstance { + s.JobID = &v + return s +} + +// SetPointInTimeSnapshotDateTime sets the PointInTimeSnapshotDateTime field's value. +func (s *RecoveryInstance) SetPointInTimeSnapshotDateTime(v string) *RecoveryInstance { + s.PointInTimeSnapshotDateTime = &v + return s +} + +// SetRecoveryInstanceID sets the RecoveryInstanceID field's value. +func (s *RecoveryInstance) SetRecoveryInstanceID(v string) *RecoveryInstance { + s.RecoveryInstanceID = &v + return s +} + +// SetRecoveryInstanceProperties sets the RecoveryInstanceProperties field's value. +func (s *RecoveryInstance) SetRecoveryInstanceProperties(v *RecoveryInstanceProperties) *RecoveryInstance { + s.RecoveryInstanceProperties = v + return s +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *RecoveryInstance) SetSourceServerID(v string) *RecoveryInstance { + s.SourceServerID = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *RecoveryInstance) SetTags(v map[string]*string) *RecoveryInstance { + s.Tags = v + return s +} + +// Error in data replication. +type RecoveryInstanceDataReplicationError struct { + _ struct{} `type:"structure"` + + // Error in data replication. + Error *string `locationName:"error" type:"string" enum:"FailbackReplicationError"` + + // Error in data replication. + RawError *string `locationName:"rawError" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstanceDataReplicationError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstanceDataReplicationError) GoString() string { + return s.String() +} + +// SetError sets the Error field's value. +func (s *RecoveryInstanceDataReplicationError) SetError(v string) *RecoveryInstanceDataReplicationError { + s.Error = &v + return s +} + +// SetRawError sets the RawError field's value. +func (s *RecoveryInstanceDataReplicationError) SetRawError(v string) *RecoveryInstanceDataReplicationError { + s.RawError = &v + return s +} + +// Information about Data Replication +type RecoveryInstanceDataReplicationInfo struct { + _ struct{} `type:"structure"` + + // Information about Data Replication + DataReplicationError *RecoveryInstanceDataReplicationError `locationName:"dataReplicationError" type:"structure"` + + // Information about whether the data replication has been initiated. + DataReplicationInitiation *RecoveryInstanceDataReplicationInitiation `locationName:"dataReplicationInitiation" type:"structure"` + + // The state of the data replication. + DataReplicationState *string `locationName:"dataReplicationState" type:"string" enum:"RecoveryInstanceDataReplicationState"` + + // An estimate of when the data replication will be completed. + EtaDateTime *string `locationName:"etaDateTime" min:"19" type:"string"` + + // Data replication lag duration. + LagDuration *string `locationName:"lagDuration" min:"19" type:"string"` + + // The disks that should be replicated. + ReplicatedDisks []*RecoveryInstanceDataReplicationInfoReplicatedDisk `locationName:"replicatedDisks" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstanceDataReplicationInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstanceDataReplicationInfo) GoString() string { + return s.String() +} + +// SetDataReplicationError sets the DataReplicationError field's value. +func (s *RecoveryInstanceDataReplicationInfo) SetDataReplicationError(v *RecoveryInstanceDataReplicationError) *RecoveryInstanceDataReplicationInfo { + s.DataReplicationError = v + return s +} + +// SetDataReplicationInitiation sets the DataReplicationInitiation field's value. +func (s *RecoveryInstanceDataReplicationInfo) SetDataReplicationInitiation(v *RecoveryInstanceDataReplicationInitiation) *RecoveryInstanceDataReplicationInfo { + s.DataReplicationInitiation = v + return s +} + +// SetDataReplicationState sets the DataReplicationState field's value. +func (s *RecoveryInstanceDataReplicationInfo) SetDataReplicationState(v string) *RecoveryInstanceDataReplicationInfo { + s.DataReplicationState = &v + return s +} + +// SetEtaDateTime sets the EtaDateTime field's value. +func (s *RecoveryInstanceDataReplicationInfo) SetEtaDateTime(v string) *RecoveryInstanceDataReplicationInfo { + s.EtaDateTime = &v + return s +} + +// SetLagDuration sets the LagDuration field's value. +func (s *RecoveryInstanceDataReplicationInfo) SetLagDuration(v string) *RecoveryInstanceDataReplicationInfo { + s.LagDuration = &v + return s +} + +// SetReplicatedDisks sets the ReplicatedDisks field's value. +func (s *RecoveryInstanceDataReplicationInfo) SetReplicatedDisks(v []*RecoveryInstanceDataReplicationInfoReplicatedDisk) *RecoveryInstanceDataReplicationInfo { + s.ReplicatedDisks = v + return s +} + +// A disk that should be replicated. +type RecoveryInstanceDataReplicationInfoReplicatedDisk struct { + _ struct{} `type:"structure"` + + // The size of the replication backlog in bytes. + BackloggedStorageBytes *int64 `locationName:"backloggedStorageBytes" type:"long"` + + // The name of the device. + DeviceName *string `locationName:"deviceName" type:"string"` + + // The amount of data replicated so far in bytes. + ReplicatedStorageBytes *int64 `locationName:"replicatedStorageBytes" type:"long"` + + // The amount of data to be rescanned in bytes. + RescannedStorageBytes *int64 `locationName:"rescannedStorageBytes" type:"long"` + + // The total amount of data to be replicated in bytes. + TotalStorageBytes *int64 `locationName:"totalStorageBytes" type:"long"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstanceDataReplicationInfoReplicatedDisk) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstanceDataReplicationInfoReplicatedDisk) GoString() string { + return s.String() +} + +// SetBackloggedStorageBytes sets the BackloggedStorageBytes field's value. +func (s *RecoveryInstanceDataReplicationInfoReplicatedDisk) SetBackloggedStorageBytes(v int64) *RecoveryInstanceDataReplicationInfoReplicatedDisk { + s.BackloggedStorageBytes = &v + return s +} + +// SetDeviceName sets the DeviceName field's value. +func (s *RecoveryInstanceDataReplicationInfoReplicatedDisk) SetDeviceName(v string) *RecoveryInstanceDataReplicationInfoReplicatedDisk { + s.DeviceName = &v + return s +} + +// SetReplicatedStorageBytes sets the ReplicatedStorageBytes field's value. +func (s *RecoveryInstanceDataReplicationInfoReplicatedDisk) SetReplicatedStorageBytes(v int64) *RecoveryInstanceDataReplicationInfoReplicatedDisk { + s.ReplicatedStorageBytes = &v + return s +} + +// SetRescannedStorageBytes sets the RescannedStorageBytes field's value. +func (s *RecoveryInstanceDataReplicationInfoReplicatedDisk) SetRescannedStorageBytes(v int64) *RecoveryInstanceDataReplicationInfoReplicatedDisk { + s.RescannedStorageBytes = &v + return s +} + +// SetTotalStorageBytes sets the TotalStorageBytes field's value. +func (s *RecoveryInstanceDataReplicationInfoReplicatedDisk) SetTotalStorageBytes(v int64) *RecoveryInstanceDataReplicationInfoReplicatedDisk { + s.TotalStorageBytes = &v + return s +} + +// Data replication initiation. +type RecoveryInstanceDataReplicationInitiation struct { + _ struct{} `type:"structure"` + + // The date and time of the current attempt to initiate data replication. + StartDateTime *string `locationName:"startDateTime" min:"19" type:"string"` + + // The steps of the current attempt to initiate data replication. + Steps []*RecoveryInstanceDataReplicationInitiationStep `locationName:"steps" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstanceDataReplicationInitiation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstanceDataReplicationInitiation) GoString() string { + return s.String() +} + +// SetStartDateTime sets the StartDateTime field's value. +func (s *RecoveryInstanceDataReplicationInitiation) SetStartDateTime(v string) *RecoveryInstanceDataReplicationInitiation { + s.StartDateTime = &v + return s +} + +// SetSteps sets the Steps field's value. +func (s *RecoveryInstanceDataReplicationInitiation) SetSteps(v []*RecoveryInstanceDataReplicationInitiationStep) *RecoveryInstanceDataReplicationInitiation { + s.Steps = v + return s +} + +// Data replication initiation step. +type RecoveryInstanceDataReplicationInitiationStep struct { + _ struct{} `type:"structure"` + + // The name of the step. + Name *string `locationName:"name" type:"string" enum:"RecoveryInstanceDataReplicationInitiationStepName"` + + // The status of the step. + Status *string `locationName:"status" type:"string" enum:"RecoveryInstanceDataReplicationInitiationStepStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstanceDataReplicationInitiationStep) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstanceDataReplicationInitiationStep) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *RecoveryInstanceDataReplicationInitiationStep) SetName(v string) *RecoveryInstanceDataReplicationInitiationStep { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *RecoveryInstanceDataReplicationInitiationStep) SetStatus(v string) *RecoveryInstanceDataReplicationInitiationStep { + s.Status = &v + return s +} + +// An object representing a block storage device on the Recovery Instance. +type RecoveryInstanceDisk struct { + _ struct{} `type:"structure"` + + // The amount of storage on the disk in bytes. + Bytes *int64 `locationName:"bytes" type:"long"` + + // The EBS Volume ID of this disk. + EbsVolumeID *string `locationName:"ebsVolumeID" min:"10" type:"string"` + + // The internal device name of this disk. This is the name that is visible on + // the machine itself and not from the EC2 console. + InternalDeviceName *string `locationName:"internalDeviceName" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstanceDisk) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstanceDisk) GoString() string { + return s.String() +} + +// SetBytes sets the Bytes field's value. +func (s *RecoveryInstanceDisk) SetBytes(v int64) *RecoveryInstanceDisk { + s.Bytes = &v + return s +} + +// SetEbsVolumeID sets the EbsVolumeID field's value. +func (s *RecoveryInstanceDisk) SetEbsVolumeID(v string) *RecoveryInstanceDisk { + s.EbsVolumeID = &v + return s +} + +// SetInternalDeviceName sets the InternalDeviceName field's value. +func (s *RecoveryInstanceDisk) SetInternalDeviceName(v string) *RecoveryInstanceDisk { + s.InternalDeviceName = &v + return s +} + +// An object representing failback related information of the Recovery Instance. +type RecoveryInstanceFailback struct { + _ struct{} `type:"structure"` + + // The date and time the agent on the Recovery Instance was last seen by the + // service. + AgentLastSeenByServiceDateTime *string `locationName:"agentLastSeenByServiceDateTime" min:"19" type:"string"` + + // The amount of time that the Recovery Instance has been replicating for. + ElapsedReplicationDuration *string `locationName:"elapsedReplicationDuration" min:"19" type:"string"` + + // The ID of the failback client that this Recovery Instance is associated with. + FailbackClientID *string `locationName:"failbackClientID" type:"string"` + + // The date and time that the failback client was last seen by the service. + FailbackClientLastSeenByServiceDateTime *string `locationName:"failbackClientLastSeenByServiceDateTime" min:"19" type:"string"` + + // The date and time that the failback initiation started. + FailbackInitiationTime *string `locationName:"failbackInitiationTime" min:"19" type:"string"` + + // The Job ID of the last failback log for this Recovery Instance. + FailbackJobID *string `locationName:"failbackJobID" min:"24" type:"string"` + + // Whether we are failing back to the original Source Server for this Recovery + // Instance. + FailbackToOriginalServer *bool `locationName:"failbackToOriginalServer" type:"boolean"` + + // The date and time of the first byte that was replicated from the Recovery + // Instance. + FirstByteDateTime *string `locationName:"firstByteDateTime" min:"19" type:"string"` + + // The state of the failback process that this Recovery Instance is in. + State *string `locationName:"state" type:"string" enum:"FailbackState"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstanceFailback) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstanceFailback) GoString() string { + return s.String() +} + +// SetAgentLastSeenByServiceDateTime sets the AgentLastSeenByServiceDateTime field's value. +func (s *RecoveryInstanceFailback) SetAgentLastSeenByServiceDateTime(v string) *RecoveryInstanceFailback { + s.AgentLastSeenByServiceDateTime = &v + return s +} + +// SetElapsedReplicationDuration sets the ElapsedReplicationDuration field's value. +func (s *RecoveryInstanceFailback) SetElapsedReplicationDuration(v string) *RecoveryInstanceFailback { + s.ElapsedReplicationDuration = &v + return s +} + +// SetFailbackClientID sets the FailbackClientID field's value. +func (s *RecoveryInstanceFailback) SetFailbackClientID(v string) *RecoveryInstanceFailback { + s.FailbackClientID = &v + return s +} + +// SetFailbackClientLastSeenByServiceDateTime sets the FailbackClientLastSeenByServiceDateTime field's value. +func (s *RecoveryInstanceFailback) SetFailbackClientLastSeenByServiceDateTime(v string) *RecoveryInstanceFailback { + s.FailbackClientLastSeenByServiceDateTime = &v + return s +} + +// SetFailbackInitiationTime sets the FailbackInitiationTime field's value. +func (s *RecoveryInstanceFailback) SetFailbackInitiationTime(v string) *RecoveryInstanceFailback { + s.FailbackInitiationTime = &v + return s +} + +// SetFailbackJobID sets the FailbackJobID field's value. +func (s *RecoveryInstanceFailback) SetFailbackJobID(v string) *RecoveryInstanceFailback { + s.FailbackJobID = &v + return s +} + +// SetFailbackToOriginalServer sets the FailbackToOriginalServer field's value. +func (s *RecoveryInstanceFailback) SetFailbackToOriginalServer(v bool) *RecoveryInstanceFailback { + s.FailbackToOriginalServer = &v + return s +} + +// SetFirstByteDateTime sets the FirstByteDateTime field's value. +func (s *RecoveryInstanceFailback) SetFirstByteDateTime(v string) *RecoveryInstanceFailback { + s.FirstByteDateTime = &v + return s +} + +// SetState sets the State field's value. +func (s *RecoveryInstanceFailback) SetState(v string) *RecoveryInstanceFailback { + s.State = &v + return s +} + +// Properties of the Recovery Instance machine. +type RecoveryInstanceProperties struct { + _ struct{} `type:"structure"` + + // An array of CPUs. + Cpus []*CPU `locationName:"cpus" type:"list"` + + // An array of disks. + Disks []*RecoveryInstanceDisk `locationName:"disks" type:"list"` + + // Hints used to uniquely identify a machine. + IdentificationHints *IdentificationHints `locationName:"identificationHints" type:"structure"` + + // The date and time the Recovery Instance properties were last updated on. + LastUpdatedDateTime *string `locationName:"lastUpdatedDateTime" min:"19" type:"string"` + + // An array of network interfaces. + NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` + + // Operating system. + Os *OS `locationName:"os" type:"structure"` + + // The amount of RAM in bytes. + RamBytes *int64 `locationName:"ramBytes" type:"long"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstanceProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoveryInstanceProperties) GoString() string { + return s.String() +} + +// SetCpus sets the Cpus field's value. +func (s *RecoveryInstanceProperties) SetCpus(v []*CPU) *RecoveryInstanceProperties { + s.Cpus = v + return s +} + +// SetDisks sets the Disks field's value. +func (s *RecoveryInstanceProperties) SetDisks(v []*RecoveryInstanceDisk) *RecoveryInstanceProperties { + s.Disks = v + return s +} + +// SetIdentificationHints sets the IdentificationHints field's value. +func (s *RecoveryInstanceProperties) SetIdentificationHints(v *IdentificationHints) *RecoveryInstanceProperties { + s.IdentificationHints = v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *RecoveryInstanceProperties) SetLastUpdatedDateTime(v string) *RecoveryInstanceProperties { + s.LastUpdatedDateTime = &v + return s +} + +// SetNetworkInterfaces sets the NetworkInterfaces field's value. +func (s *RecoveryInstanceProperties) SetNetworkInterfaces(v []*NetworkInterface) *RecoveryInstanceProperties { + s.NetworkInterfaces = v + return s +} + +// SetOs sets the Os field's value. +func (s *RecoveryInstanceProperties) SetOs(v *OS) *RecoveryInstanceProperties { + s.Os = v + return s +} + +// SetRamBytes sets the RamBytes field's value. +func (s *RecoveryInstanceProperties) SetRamBytes(v int64) *RecoveryInstanceProperties { + s.RamBytes = &v + return s +} + +// A snapshot of a Source Server used during recovery. +type RecoverySnapshot struct { + _ struct{} `type:"structure"` + + // A list of EBS snapshots. + EbsSnapshots []*string `locationName:"ebsSnapshots" type:"list"` + + // The timestamp of when we expect the snapshot to be taken. + // + // ExpectedTimestamp is a required field + ExpectedTimestamp *string `locationName:"expectedTimestamp" min:"19" type:"string" required:"true"` + + // The ID of the Recovery Snapshot. + // + // SnapshotID is a required field + SnapshotID *string `locationName:"snapshotID" min:"21" type:"string" required:"true"` + + // The ID of the Source Server that the snapshot was taken for. + // + // SourceServerID is a required field + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"` + + // The actual timestamp that the snapshot was taken. + Timestamp *string `locationName:"timestamp" min:"19" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoverySnapshot) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecoverySnapshot) GoString() string { + return s.String() +} + +// SetEbsSnapshots sets the EbsSnapshots field's value. +func (s *RecoverySnapshot) SetEbsSnapshots(v []*string) *RecoverySnapshot { + s.EbsSnapshots = v + return s +} + +// SetExpectedTimestamp sets the ExpectedTimestamp field's value. +func (s *RecoverySnapshot) SetExpectedTimestamp(v string) *RecoverySnapshot { + s.ExpectedTimestamp = &v + return s +} + +// SetSnapshotID sets the SnapshotID field's value. +func (s *RecoverySnapshot) SetSnapshotID(v string) *RecoverySnapshot { + s.SnapshotID = &v + return s +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *RecoverySnapshot) SetSourceServerID(v string) *RecoverySnapshot { + s.SourceServerID = &v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *RecoverySnapshot) SetTimestamp(v string) *RecoverySnapshot { + s.Timestamp = &v + return s +} + +// The configuration of a disk of the Source Server to be replicated. +type ReplicationConfigurationReplicatedDisk struct { + _ struct{} `type:"structure"` + + // The name of the device. + DeviceName *string `locationName:"deviceName" type:"string"` + + // The requested number of I/O operations per second (IOPS). + Iops *int64 `locationName:"iops" type:"long"` + + // Whether to boot from this disk or not. + IsBootDisk *bool `locationName:"isBootDisk" type:"boolean"` + + // The Staging Disk EBS volume type to be used during replication. + StagingDiskType *string `locationName:"stagingDiskType" type:"string" enum:"ReplicationConfigurationReplicatedDiskStagingDiskType"` + + // The throughput to use for the EBS volume in MiB/s. This parameter is valid + // only for gp3 volumes. + Throughput *int64 `locationName:"throughput" type:"long"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReplicationConfigurationReplicatedDisk) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReplicationConfigurationReplicatedDisk) GoString() string { + return s.String() +} + +// SetDeviceName sets the DeviceName field's value. +func (s *ReplicationConfigurationReplicatedDisk) SetDeviceName(v string) *ReplicationConfigurationReplicatedDisk { + s.DeviceName = &v + return s +} + +// SetIops sets the Iops field's value. +func (s *ReplicationConfigurationReplicatedDisk) SetIops(v int64) *ReplicationConfigurationReplicatedDisk { + s.Iops = &v + return s +} + +// SetIsBootDisk sets the IsBootDisk field's value. +func (s *ReplicationConfigurationReplicatedDisk) SetIsBootDisk(v bool) *ReplicationConfigurationReplicatedDisk { + s.IsBootDisk = &v + return s +} + +// SetStagingDiskType sets the StagingDiskType field's value. +func (s *ReplicationConfigurationReplicatedDisk) SetStagingDiskType(v string) *ReplicationConfigurationReplicatedDisk { + s.StagingDiskType = &v + return s +} + +// SetThroughput sets the Throughput field's value. +func (s *ReplicationConfigurationReplicatedDisk) SetThroughput(v int64) *ReplicationConfigurationReplicatedDisk { + s.Throughput = &v + return s +} + +type ReplicationConfigurationTemplate struct { + _ struct{} `type:"structure"` + + // The Replication Configuration Template ARN. + Arn *string `locationName:"arn" min:"20" type:"string"` + + // Whether to associate the default Elastic Disaster Recovery Security group + // with the Replication Configuration Template. + AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"` + + // Configure bandwidth throttling for the outbound data transfer rate of the + // Source Server in Mbps. + BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"` + + // Whether to create a Public IP for the Recovery Instance by default. + CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"` + + // The data plane routing mechanism that will be used for replication. + DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"` + + // The Staging Disk EBS volume type to be used during replication. + DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"` + + // The type of EBS encryption to be used during replication. + EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"` + + // The ARN of the EBS encryption key to be used during replication. + EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"` + + // The Point in time (PIT) policy to manage snapshots taken during replication. + PitPolicy []*PITPolicyRule `locationName:"pitPolicy" min:"1" type:"list"` + + // The Replication Configuration Template ID. + // + // ReplicationConfigurationTemplateID is a required field + ReplicationConfigurationTemplateID *string `locationName:"replicationConfigurationTemplateID" min:"21" type:"string" required:"true"` + + // The instance type to be used for the replication server. + ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"` + + // The security group IDs that will be used by the replication server. + ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"` + + // The subnet to be used by the replication staging area. + StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"` + + // A set of tags to be associated with all resources created in the replication + // staging area: EC2 replication server, EBS volumes, EBS snapshots, etc. + // + // StagingAreaTags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ReplicationConfigurationTemplate's + // String and GoString methods. + StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"` + + // A set of tags to be associated with the Replication Configuration Template + // resource. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ReplicationConfigurationTemplate's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` + + // Whether to use a dedicated Replication Server in the replication staging + // area. + UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReplicationConfigurationTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReplicationConfigurationTemplate) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ReplicationConfigurationTemplate) SetArn(v string) *ReplicationConfigurationTemplate { + s.Arn = &v + return s +} + +// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value. +func (s *ReplicationConfigurationTemplate) SetAssociateDefaultSecurityGroup(v bool) *ReplicationConfigurationTemplate { + s.AssociateDefaultSecurityGroup = &v + return s +} + +// SetBandwidthThrottling sets the BandwidthThrottling field's value. +func (s *ReplicationConfigurationTemplate) SetBandwidthThrottling(v int64) *ReplicationConfigurationTemplate { + s.BandwidthThrottling = &v + return s +} + +// SetCreatePublicIP sets the CreatePublicIP field's value. +func (s *ReplicationConfigurationTemplate) SetCreatePublicIP(v bool) *ReplicationConfigurationTemplate { + s.CreatePublicIP = &v + return s +} + +// SetDataPlaneRouting sets the DataPlaneRouting field's value. +func (s *ReplicationConfigurationTemplate) SetDataPlaneRouting(v string) *ReplicationConfigurationTemplate { + s.DataPlaneRouting = &v + return s +} + +// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value. +func (s *ReplicationConfigurationTemplate) SetDefaultLargeStagingDiskType(v string) *ReplicationConfigurationTemplate { + s.DefaultLargeStagingDiskType = &v + return s +} + +// SetEbsEncryption sets the EbsEncryption field's value. +func (s *ReplicationConfigurationTemplate) SetEbsEncryption(v string) *ReplicationConfigurationTemplate { + s.EbsEncryption = &v + return s +} + +// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value. +func (s *ReplicationConfigurationTemplate) SetEbsEncryptionKeyArn(v string) *ReplicationConfigurationTemplate { + s.EbsEncryptionKeyArn = &v + return s +} + +// SetPitPolicy sets the PitPolicy field's value. +func (s *ReplicationConfigurationTemplate) SetPitPolicy(v []*PITPolicyRule) *ReplicationConfigurationTemplate { + s.PitPolicy = v + return s +} + +// SetReplicationConfigurationTemplateID sets the ReplicationConfigurationTemplateID field's value. +func (s *ReplicationConfigurationTemplate) SetReplicationConfigurationTemplateID(v string) *ReplicationConfigurationTemplate { + s.ReplicationConfigurationTemplateID = &v + return s +} + +// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value. +func (s *ReplicationConfigurationTemplate) SetReplicationServerInstanceType(v string) *ReplicationConfigurationTemplate { + s.ReplicationServerInstanceType = &v + return s +} + +// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value. +func (s *ReplicationConfigurationTemplate) SetReplicationServersSecurityGroupsIDs(v []*string) *ReplicationConfigurationTemplate { + s.ReplicationServersSecurityGroupsIDs = v + return s +} + +// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value. +func (s *ReplicationConfigurationTemplate) SetStagingAreaSubnetId(v string) *ReplicationConfigurationTemplate { + s.StagingAreaSubnetId = &v + return s +} + +// SetStagingAreaTags sets the StagingAreaTags field's value. +func (s *ReplicationConfigurationTemplate) SetStagingAreaTags(v map[string]*string) *ReplicationConfigurationTemplate { + s.StagingAreaTags = v + return s +} + +// SetTags sets the Tags field's value. +func (s *ReplicationConfigurationTemplate) SetTags(v map[string]*string) *ReplicationConfigurationTemplate { + s.Tags = v + return s +} + +// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value. +func (s *ReplicationConfigurationTemplate) SetUseDedicatedReplicationServer(v bool) *ReplicationConfigurationTemplate { + s.UseDedicatedReplicationServer = &v + return s +} + +// The resource for this operation was not found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + Message_ *string `locationName:"message" type:"string"` + + // The ID of the resource. + ResourceId *string `locationName:"resourceId" type:"string"` + + // The type of the resource. + ResourceType *string `locationName:"resourceType" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +type RetryDataReplicationInput struct { + _ struct{} `type:"structure"` + + // The ID of the Source Server whose data replication should be retried. + // + // SourceServerID is a required field + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RetryDataReplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RetryDataReplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RetryDataReplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RetryDataReplicationInput"} + if s.SourceServerID == nil { + invalidParams.Add(request.NewErrParamRequired("SourceServerID")) + } + if s.SourceServerID != nil && len(*s.SourceServerID) < 19 { + invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *RetryDataReplicationInput) SetSourceServerID(v string) *RetryDataReplicationInput { + s.SourceServerID = &v + return s +} + +type RetryDataReplicationOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the Source Server. + Arn *string `locationName:"arn" min:"20" type:"string"` + + // The Data Replication Info of the Source Server. + DataReplicationInfo *DataReplicationInfo `locationName:"dataReplicationInfo" type:"structure"` + + // The status of the last recovery launch of this Source Server. + LastLaunchResult *string `locationName:"lastLaunchResult" type:"string" enum:"LastLaunchResult"` + + // The lifecycle information of this Source Server. + LifeCycle *LifeCycle `locationName:"lifeCycle" type:"structure"` + + // The ID of the Recovery Instance associated with this Source Server. + RecoveryInstanceId *string `locationName:"recoveryInstanceId" min:"10" type:"string"` + + // The source properties of the Source Server. + SourceProperties *SourceProperties `locationName:"sourceProperties" type:"structure"` + + // The ID of the Source Server. + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"` + + // The tags associated with the Source Server. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by RetryDataReplicationOutput's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RetryDataReplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RetryDataReplicationOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *RetryDataReplicationOutput) SetArn(v string) *RetryDataReplicationOutput { + s.Arn = &v + return s +} + +// SetDataReplicationInfo sets the DataReplicationInfo field's value. +func (s *RetryDataReplicationOutput) SetDataReplicationInfo(v *DataReplicationInfo) *RetryDataReplicationOutput { + s.DataReplicationInfo = v + return s +} + +// SetLastLaunchResult sets the LastLaunchResult field's value. +func (s *RetryDataReplicationOutput) SetLastLaunchResult(v string) *RetryDataReplicationOutput { + s.LastLaunchResult = &v + return s +} + +// SetLifeCycle sets the LifeCycle field's value. +func (s *RetryDataReplicationOutput) SetLifeCycle(v *LifeCycle) *RetryDataReplicationOutput { + s.LifeCycle = v + return s +} + +// SetRecoveryInstanceId sets the RecoveryInstanceId field's value. +func (s *RetryDataReplicationOutput) SetRecoveryInstanceId(v string) *RetryDataReplicationOutput { + s.RecoveryInstanceId = &v + return s +} + +// SetSourceProperties sets the SourceProperties field's value. +func (s *RetryDataReplicationOutput) SetSourceProperties(v *SourceProperties) *RetryDataReplicationOutput { + s.SourceProperties = v + return s +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *RetryDataReplicationOutput) SetSourceServerID(v string) *RetryDataReplicationOutput { + s.SourceServerID = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *RetryDataReplicationOutput) SetTags(v map[string]*string) *RetryDataReplicationOutput { + s.Tags = v + return s +} + +// The request could not be completed because its exceeded the service quota. +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + Message_ *string `locationName:"message" type:"string"` + + // Quota code. + QuotaCode *string `locationName:"quotaCode" type:"string"` + + // The ID of the resource. + ResourceId *string `locationName:"resourceId" type:"string"` + + // The type of the resource. + ResourceType *string `locationName:"resourceType" type:"string"` + + // Service code. + ServiceCode *string `locationName:"serviceCode" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s 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 +} + +// Properties of the Source Server machine. +type SourceProperties struct { + _ struct{} `type:"structure"` + + // An array of CPUs. + Cpus []*CPU `locationName:"cpus" type:"list"` + + // An array of disks. + Disks []*Disk `locationName:"disks" type:"list"` + + // Hints used to uniquely identify a machine. + IdentificationHints *IdentificationHints `locationName:"identificationHints" type:"structure"` + + // The date and time the Source Properties were last updated on. + LastUpdatedDateTime *string `locationName:"lastUpdatedDateTime" min:"19" type:"string"` + + // An array of network interfaces. + NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` + + // Operating system. + Os *OS `locationName:"os" type:"structure"` + + // The amount of RAM in bytes. + RamBytes *int64 `locationName:"ramBytes" type:"long"` + + // The recommended EC2 instance type that will be used when recovering the Source + // Server. + RecommendedInstanceType *string `locationName:"recommendedInstanceType" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SourceProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SourceProperties) GoString() string { + return s.String() +} + +// SetCpus sets the Cpus field's value. +func (s *SourceProperties) SetCpus(v []*CPU) *SourceProperties { + s.Cpus = v + return s +} + +// SetDisks sets the Disks field's value. +func (s *SourceProperties) SetDisks(v []*Disk) *SourceProperties { + s.Disks = v + return s +} + +// SetIdentificationHints sets the IdentificationHints field's value. +func (s *SourceProperties) SetIdentificationHints(v *IdentificationHints) *SourceProperties { + s.IdentificationHints = v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *SourceProperties) SetLastUpdatedDateTime(v string) *SourceProperties { + s.LastUpdatedDateTime = &v + return s +} + +// SetNetworkInterfaces sets the NetworkInterfaces field's value. +func (s *SourceProperties) SetNetworkInterfaces(v []*NetworkInterface) *SourceProperties { + s.NetworkInterfaces = v + return s +} + +// SetOs sets the Os field's value. +func (s *SourceProperties) SetOs(v *OS) *SourceProperties { + s.Os = v + return s +} + +// SetRamBytes sets the RamBytes field's value. +func (s *SourceProperties) SetRamBytes(v int64) *SourceProperties { + s.RamBytes = &v + return s +} + +// SetRecommendedInstanceType sets the RecommendedInstanceType field's value. +func (s *SourceProperties) SetRecommendedInstanceType(v string) *SourceProperties { + s.RecommendedInstanceType = &v + return s +} + +type SourceServer struct { + _ struct{} `type:"structure"` + + // The ARN of the Source Server. + Arn *string `locationName:"arn" min:"20" type:"string"` + + // The Data Replication Info of the Source Server. + DataReplicationInfo *DataReplicationInfo `locationName:"dataReplicationInfo" type:"structure"` + + // The status of the last recovery launch of this Source Server. + LastLaunchResult *string `locationName:"lastLaunchResult" type:"string" enum:"LastLaunchResult"` + + // The lifecycle information of this Source Server. + LifeCycle *LifeCycle `locationName:"lifeCycle" type:"structure"` + + // The ID of the Recovery Instance associated with this Source Server. + RecoveryInstanceId *string `locationName:"recoveryInstanceId" min:"10" type:"string"` + + // The source properties of the Source Server. + SourceProperties *SourceProperties `locationName:"sourceProperties" type:"structure"` + + // The ID of the Source Server. + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"` + + // The tags associated with the Source Server. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by SourceServer's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SourceServer) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SourceServer) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *SourceServer) SetArn(v string) *SourceServer { + s.Arn = &v + return s +} + +// SetDataReplicationInfo sets the DataReplicationInfo field's value. +func (s *SourceServer) SetDataReplicationInfo(v *DataReplicationInfo) *SourceServer { + s.DataReplicationInfo = v + return s +} + +// SetLastLaunchResult sets the LastLaunchResult field's value. +func (s *SourceServer) SetLastLaunchResult(v string) *SourceServer { + s.LastLaunchResult = &v + return s +} + +// SetLifeCycle sets the LifeCycle field's value. +func (s *SourceServer) SetLifeCycle(v *LifeCycle) *SourceServer { + s.LifeCycle = v + return s +} + +// SetRecoveryInstanceId sets the RecoveryInstanceId field's value. +func (s *SourceServer) SetRecoveryInstanceId(v string) *SourceServer { + s.RecoveryInstanceId = &v + return s +} + +// SetSourceProperties sets the SourceProperties field's value. +func (s *SourceServer) SetSourceProperties(v *SourceProperties) *SourceServer { + s.SourceProperties = v + return s +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *SourceServer) SetSourceServerID(v string) *SourceServer { + s.SourceServerID = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *SourceServer) SetTags(v map[string]*string) *SourceServer { + s.Tags = v + return s +} + +type StartFailbackLaunchInput struct { + _ struct{} `type:"structure"` + + // The IDs of the Recovery Instance whose failback launch we want to request. + // + // RecoveryInstanceIDs is a required field + RecoveryInstanceIDs []*string `locationName:"recoveryInstanceIDs" min:"1" type:"list" required:"true"` + + // The tags to be associated with the failback launch Job. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by StartFailbackLaunchInput's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartFailbackLaunchInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartFailbackLaunchInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartFailbackLaunchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartFailbackLaunchInput"} + if s.RecoveryInstanceIDs == nil { + invalidParams.Add(request.NewErrParamRequired("RecoveryInstanceIDs")) + } + if s.RecoveryInstanceIDs != nil && len(s.RecoveryInstanceIDs) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RecoveryInstanceIDs", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRecoveryInstanceIDs sets the RecoveryInstanceIDs field's value. +func (s *StartFailbackLaunchInput) SetRecoveryInstanceIDs(v []*string) *StartFailbackLaunchInput { + s.RecoveryInstanceIDs = v + return s +} + +// SetTags sets the Tags field's value. +func (s *StartFailbackLaunchInput) SetTags(v map[string]*string) *StartFailbackLaunchInput { + s.Tags = v + return s +} + +type StartFailbackLaunchOutput struct { + _ struct{} `type:"structure"` + + // The failback launch Job. + Job *Job `locationName:"job" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartFailbackLaunchOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartFailbackLaunchOutput) GoString() string { + return s.String() +} + +// SetJob sets the Job field's value. +func (s *StartFailbackLaunchOutput) SetJob(v *Job) *StartFailbackLaunchOutput { + s.Job = v + return s +} + +type StartRecoveryInput struct { + _ struct{} `type:"structure"` + + // Whether this Source Server Recovery operation is a drill or not. + IsDrill *bool `locationName:"isDrill" type:"boolean"` + + // The Source Servers that we want to start a Recovery Job for. + // + // SourceServers is a required field + SourceServers []*StartRecoveryRequestSourceServer `locationName:"sourceServers" min:"1" type:"list" required:"true"` + + // The tags to be associated with the Recovery Job. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by StartRecoveryInput's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartRecoveryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartRecoveryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartRecoveryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartRecoveryInput"} + if s.SourceServers == nil { + invalidParams.Add(request.NewErrParamRequired("SourceServers")) + } + if s.SourceServers != nil && len(s.SourceServers) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceServers", 1)) + } + if s.SourceServers != nil { + for i, v := range s.SourceServers { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SourceServers", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIsDrill sets the IsDrill field's value. +func (s *StartRecoveryInput) SetIsDrill(v bool) *StartRecoveryInput { + s.IsDrill = &v + return s +} + +// SetSourceServers sets the SourceServers field's value. +func (s *StartRecoveryInput) SetSourceServers(v []*StartRecoveryRequestSourceServer) *StartRecoveryInput { + s.SourceServers = v + return s +} + +// SetTags sets the Tags field's value. +func (s *StartRecoveryInput) SetTags(v map[string]*string) *StartRecoveryInput { + s.Tags = v + return s +} + +type StartRecoveryOutput struct { + _ struct{} `type:"structure"` + + // The Recovery Job. + Job *Job `locationName:"job" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartRecoveryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartRecoveryOutput) GoString() string { + return s.String() +} + +// SetJob sets the Job field's value. +func (s *StartRecoveryOutput) SetJob(v *Job) *StartRecoveryOutput { + s.Job = v + return s +} + +// An object representing the Source Server to recover. +type StartRecoveryRequestSourceServer struct { + _ struct{} `type:"structure"` + + // The ID of a Recovery Snapshot we want to recover from. Omit this field to + // launch from the latest data by taking an on-demand snapshot. + RecoverySnapshotID *string `locationName:"recoverySnapshotID" min:"21" type:"string"` + + // The ID of the Source Server you want to recover. + // + // SourceServerID is a required field + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartRecoveryRequestSourceServer) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartRecoveryRequestSourceServer) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartRecoveryRequestSourceServer) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartRecoveryRequestSourceServer"} + if s.RecoverySnapshotID != nil && len(*s.RecoverySnapshotID) < 21 { + invalidParams.Add(request.NewErrParamMinLen("RecoverySnapshotID", 21)) + } + if s.SourceServerID == nil { + invalidParams.Add(request.NewErrParamRequired("SourceServerID")) + } + if s.SourceServerID != nil && len(*s.SourceServerID) < 19 { + invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRecoverySnapshotID sets the RecoverySnapshotID field's value. +func (s *StartRecoveryRequestSourceServer) SetRecoverySnapshotID(v string) *StartRecoveryRequestSourceServer { + s.RecoverySnapshotID = &v + return s +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *StartRecoveryRequestSourceServer) SetSourceServerID(v string) *StartRecoveryRequestSourceServer { + s.SourceServerID = &v + return s +} + +type StopFailbackInput struct { + _ struct{} `type:"structure"` + + // The ID of the Recovery Instance we want to stop failback for. + // + // RecoveryInstanceID is a required field + RecoveryInstanceID *string `locationName:"recoveryInstanceID" min:"10" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopFailbackInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopFailbackInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopFailbackInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopFailbackInput"} + if s.RecoveryInstanceID == nil { + invalidParams.Add(request.NewErrParamRequired("RecoveryInstanceID")) + } + if s.RecoveryInstanceID != nil && len(*s.RecoveryInstanceID) < 10 { + invalidParams.Add(request.NewErrParamMinLen("RecoveryInstanceID", 10)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRecoveryInstanceID sets the RecoveryInstanceID field's value. +func (s *StopFailbackInput) SetRecoveryInstanceID(v string) *StopFailbackInput { + s.RecoveryInstanceID = &v + return s +} + +type StopFailbackOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopFailbackOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopFailbackOutput) GoString() string { + return s.String() +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // ARN of the resource for which tags are to be added or updated. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` + + // Array of tags to be added or updated. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by TagResourceInput's + // String and GoString methods. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" required:"true" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) GoString() string { + return s.String() +} + +type TerminateRecoveryInstancesInput struct { + _ struct{} `type:"structure"` + + // The IDs of the Recovery Instances that should be terminated. + // + // RecoveryInstanceIDs is a required field + RecoveryInstanceIDs []*string `locationName:"recoveryInstanceIDs" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TerminateRecoveryInstancesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TerminateRecoveryInstancesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TerminateRecoveryInstancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TerminateRecoveryInstancesInput"} + if s.RecoveryInstanceIDs == nil { + invalidParams.Add(request.NewErrParamRequired("RecoveryInstanceIDs")) + } + if s.RecoveryInstanceIDs != nil && len(s.RecoveryInstanceIDs) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RecoveryInstanceIDs", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRecoveryInstanceIDs sets the RecoveryInstanceIDs field's value. +func (s *TerminateRecoveryInstancesInput) SetRecoveryInstanceIDs(v []*string) *TerminateRecoveryInstancesInput { + s.RecoveryInstanceIDs = v + return s +} + +type TerminateRecoveryInstancesOutput struct { + _ struct{} `type:"structure"` + + // The Job for terminating the Recovery Instances. + Job *Job `locationName:"job" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TerminateRecoveryInstancesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TerminateRecoveryInstancesOutput) GoString() string { + return s.String() +} + +// SetJob sets the Job field's value. +func (s *TerminateRecoveryInstancesOutput) SetJob(v *Job) *TerminateRecoveryInstancesOutput { + s.Job = v + return s +} + +// The request was denied due to request throttling. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // Quota code. + QuotaCode *string `locationName:"quotaCode" type:"string"` + + // The number of seconds after which the request should be safe to retry. + RetryAfterSeconds *string `location:"header" locationName:"Retry-After" type:"string"` + + // Service code. + ServiceCode *string `locationName:"serviceCode" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The account performing the request has not been initialized. +type UninitializedAccountException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UninitializedAccountException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UninitializedAccountException) GoString() string { + return s.String() +} + +func newErrorUninitializedAccountException(v protocol.ResponseMetadata) error { + return &UninitializedAccountException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UninitializedAccountException) Code() string { + return "UninitializedAccountException" +} + +// Message returns the exception's message. +func (s *UninitializedAccountException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UninitializedAccountException) OrigErr() error { + return nil +} + +func (s *UninitializedAccountException) 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 *UninitializedAccountException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UninitializedAccountException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UntagResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // ARN of the resource for which tags are to be removed. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` + + // Array of tags to be removed. + // + // TagKeys is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UntagResourceInput's + // String and GoString methods. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if 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. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateFailbackReplicationConfigurationInput struct { + _ struct{} `type:"structure"` + + // Configure bandwidth throttling for the outbound data transfer rate of the + // Recovery Instance in Mbps. + BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"` + + // The name of the Failback Replication Configuration. + Name *string `locationName:"name" type:"string"` + + // The ID of the Recovery Instance. + // + // RecoveryInstanceID is a required field + RecoveryInstanceID *string `locationName:"recoveryInstanceID" min:"10" type:"string" required:"true"` + + // Whether to use Private IP for the failback replication of the Recovery Instance. + UsePrivateIP *bool `locationName:"usePrivateIP" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateFailbackReplicationConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateFailbackReplicationConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFailbackReplicationConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFailbackReplicationConfigurationInput"} + if s.RecoveryInstanceID == nil { + invalidParams.Add(request.NewErrParamRequired("RecoveryInstanceID")) + } + if s.RecoveryInstanceID != nil && len(*s.RecoveryInstanceID) < 10 { + invalidParams.Add(request.NewErrParamMinLen("RecoveryInstanceID", 10)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBandwidthThrottling sets the BandwidthThrottling field's value. +func (s *UpdateFailbackReplicationConfigurationInput) SetBandwidthThrottling(v int64) *UpdateFailbackReplicationConfigurationInput { + s.BandwidthThrottling = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateFailbackReplicationConfigurationInput) SetName(v string) *UpdateFailbackReplicationConfigurationInput { + s.Name = &v + return s +} + +// SetRecoveryInstanceID sets the RecoveryInstanceID field's value. +func (s *UpdateFailbackReplicationConfigurationInput) SetRecoveryInstanceID(v string) *UpdateFailbackReplicationConfigurationInput { + s.RecoveryInstanceID = &v + return s +} + +// SetUsePrivateIP sets the UsePrivateIP field's value. +func (s *UpdateFailbackReplicationConfigurationInput) SetUsePrivateIP(v bool) *UpdateFailbackReplicationConfigurationInput { + s.UsePrivateIP = &v + return s +} + +type UpdateFailbackReplicationConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateFailbackReplicationConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateFailbackReplicationConfigurationOutput) GoString() string { + return s.String() +} + +type UpdateLaunchConfigurationInput struct { + _ struct{} `type:"structure"` + + // Whether we should copy the Private IP of the Source Server to the Recovery + // Instance. + CopyPrivateIp *bool `locationName:"copyPrivateIp" type:"boolean"` + + // Whether we want to copy the tags of the Source Server to the EC2 machine + // of the Recovery Instance. + CopyTags *bool `locationName:"copyTags" type:"boolean"` + + // The state of the Recovery Instance in EC2 after the recovery operation. + LaunchDisposition *string `locationName:"launchDisposition" type:"string" enum:"LaunchDisposition"` + + // The licensing configuration to be used for this launch configuration. + Licensing *Licensing `locationName:"licensing" type:"structure"` + + // The name of the launch configuration. + Name *string `locationName:"name" type:"string"` + + // The ID of the Source Server that we want to retrieve a Launch Configuration + // for. + // + // SourceServerID is a required field + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"` + + // Whether Elastic Disaster Recovery should try to automatically choose the + // instance type that best matches the OS, CPU, and RAM of your Source Server. + TargetInstanceTypeRightSizingMethod *string `locationName:"targetInstanceTypeRightSizingMethod" type:"string" enum:"TargetInstanceTypeRightSizingMethod"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateLaunchConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateLaunchConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateLaunchConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateLaunchConfigurationInput"} + if s.SourceServerID == nil { + invalidParams.Add(request.NewErrParamRequired("SourceServerID")) + } + if s.SourceServerID != nil && len(*s.SourceServerID) < 19 { + invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCopyPrivateIp sets the CopyPrivateIp field's value. +func (s *UpdateLaunchConfigurationInput) SetCopyPrivateIp(v bool) *UpdateLaunchConfigurationInput { + s.CopyPrivateIp = &v + return s +} + +// SetCopyTags sets the CopyTags field's value. +func (s *UpdateLaunchConfigurationInput) SetCopyTags(v bool) *UpdateLaunchConfigurationInput { + s.CopyTags = &v + return s +} + +// SetLaunchDisposition sets the LaunchDisposition field's value. +func (s *UpdateLaunchConfigurationInput) SetLaunchDisposition(v string) *UpdateLaunchConfigurationInput { + s.LaunchDisposition = &v + return s +} + +// SetLicensing sets the Licensing field's value. +func (s *UpdateLaunchConfigurationInput) SetLicensing(v *Licensing) *UpdateLaunchConfigurationInput { + s.Licensing = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateLaunchConfigurationInput) SetName(v string) *UpdateLaunchConfigurationInput { + s.Name = &v + return s +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *UpdateLaunchConfigurationInput) SetSourceServerID(v string) *UpdateLaunchConfigurationInput { + s.SourceServerID = &v + return s +} + +// SetTargetInstanceTypeRightSizingMethod sets the TargetInstanceTypeRightSizingMethod field's value. +func (s *UpdateLaunchConfigurationInput) SetTargetInstanceTypeRightSizingMethod(v string) *UpdateLaunchConfigurationInput { + s.TargetInstanceTypeRightSizingMethod = &v + return s +} + +type UpdateLaunchConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Whether we should copy the Private IP of the Source Server to the Recovery + // Instance. + CopyPrivateIp *bool `locationName:"copyPrivateIp" type:"boolean"` + + // Whether we want to copy the tags of the Source Server to the EC2 machine + // of the Recovery Instance. + CopyTags *bool `locationName:"copyTags" type:"boolean"` + + // The EC2 launch template ID of this launch configuration. + Ec2LaunchTemplateID *string `locationName:"ec2LaunchTemplateID" type:"string"` + + // The state of the Recovery Instance in EC2 after the recovery operation. + LaunchDisposition *string `locationName:"launchDisposition" type:"string" enum:"LaunchDisposition"` + + // The licensing configuration to be used for this launch configuration. + Licensing *Licensing `locationName:"licensing" type:"structure"` + + // The name of the launch configuration. + Name *string `locationName:"name" type:"string"` + + // The ID of the Source Server for this launch configuration. + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"` + + // Whether Elastic Disaster Recovery should try to automatically choose the + // instance type that best matches the OS, CPU, and RAM of your Source Server. + TargetInstanceTypeRightSizingMethod *string `locationName:"targetInstanceTypeRightSizingMethod" type:"string" enum:"TargetInstanceTypeRightSizingMethod"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateLaunchConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateLaunchConfigurationOutput) GoString() string { + return s.String() +} + +// SetCopyPrivateIp sets the CopyPrivateIp field's value. +func (s *UpdateLaunchConfigurationOutput) SetCopyPrivateIp(v bool) *UpdateLaunchConfigurationOutput { + s.CopyPrivateIp = &v + return s +} + +// SetCopyTags sets the CopyTags field's value. +func (s *UpdateLaunchConfigurationOutput) SetCopyTags(v bool) *UpdateLaunchConfigurationOutput { + s.CopyTags = &v + return s +} + +// SetEc2LaunchTemplateID sets the Ec2LaunchTemplateID field's value. +func (s *UpdateLaunchConfigurationOutput) SetEc2LaunchTemplateID(v string) *UpdateLaunchConfigurationOutput { + s.Ec2LaunchTemplateID = &v + return s +} + +// SetLaunchDisposition sets the LaunchDisposition field's value. +func (s *UpdateLaunchConfigurationOutput) SetLaunchDisposition(v string) *UpdateLaunchConfigurationOutput { + s.LaunchDisposition = &v + return s +} + +// SetLicensing sets the Licensing field's value. +func (s *UpdateLaunchConfigurationOutput) SetLicensing(v *Licensing) *UpdateLaunchConfigurationOutput { + s.Licensing = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateLaunchConfigurationOutput) SetName(v string) *UpdateLaunchConfigurationOutput { + s.Name = &v + return s +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *UpdateLaunchConfigurationOutput) SetSourceServerID(v string) *UpdateLaunchConfigurationOutput { + s.SourceServerID = &v + return s +} + +// SetTargetInstanceTypeRightSizingMethod sets the TargetInstanceTypeRightSizingMethod field's value. +func (s *UpdateLaunchConfigurationOutput) SetTargetInstanceTypeRightSizingMethod(v string) *UpdateLaunchConfigurationOutput { + s.TargetInstanceTypeRightSizingMethod = &v + return s +} + +type UpdateReplicationConfigurationInput struct { + _ struct{} `type:"structure"` + + // Whether to associate the default Elastic Disaster Recovery Security group + // with the Replication Configuration. + AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"` + + // Configure bandwidth throttling for the outbound data transfer rate of the + // Source Server in Mbps. + BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"` + + // Whether to create a Public IP for the Recovery Instance by default. + CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"` + + // The data plane routing mechanism that will be used for replication. + DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"` + + // The Staging Disk EBS volume type to be used during replication. + DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"` + + // The type of EBS encryption to be used during replication. + EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"` + + // The ARN of the EBS encryption key to be used during replication. + EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"` + + // The name of the Replication Configuration. + Name *string `locationName:"name" type:"string"` + + // The Point in time (PIT) policy to manage snapshots taken during replication. + PitPolicy []*PITPolicyRule `locationName:"pitPolicy" min:"1" type:"list"` + + // The configuration of the disks of the Source Server to be replicated. + ReplicatedDisks []*ReplicationConfigurationReplicatedDisk `locationName:"replicatedDisks" type:"list"` + + // The instance type to be used for the replication server. + ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"` + + // The security group IDs that will be used by the replication server. + ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"` + + // The ID of the Source Server for this Replication Configuration. + // + // SourceServerID is a required field + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"` + + // The subnet to be used by the replication staging area. + StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"` + + // A set of tags to be associated with all resources created in the replication + // staging area: EC2 replication server, EBS volumes, EBS snapshots, etc. + // + // StagingAreaTags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateReplicationConfigurationInput's + // String and GoString methods. + StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"` + + // Whether to use a dedicated Replication Server in the replication staging + // area. + UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateReplicationConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateReplicationConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateReplicationConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateReplicationConfigurationInput"} + if s.EbsEncryptionKeyArn != nil && len(*s.EbsEncryptionKeyArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("EbsEncryptionKeyArn", 20)) + } + if s.PitPolicy != nil && len(s.PitPolicy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PitPolicy", 1)) + } + if s.SourceServerID == nil { + invalidParams.Add(request.NewErrParamRequired("SourceServerID")) + } + if s.SourceServerID != nil && len(*s.SourceServerID) < 19 { + invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19)) + } + if s.PitPolicy != nil { + for i, v := range s.PitPolicy { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PitPolicy", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value. +func (s *UpdateReplicationConfigurationInput) SetAssociateDefaultSecurityGroup(v bool) *UpdateReplicationConfigurationInput { + s.AssociateDefaultSecurityGroup = &v + return s +} + +// SetBandwidthThrottling sets the BandwidthThrottling field's value. +func (s *UpdateReplicationConfigurationInput) SetBandwidthThrottling(v int64) *UpdateReplicationConfigurationInput { + s.BandwidthThrottling = &v + return s +} + +// SetCreatePublicIP sets the CreatePublicIP field's value. +func (s *UpdateReplicationConfigurationInput) SetCreatePublicIP(v bool) *UpdateReplicationConfigurationInput { + s.CreatePublicIP = &v + return s +} + +// SetDataPlaneRouting sets the DataPlaneRouting field's value. +func (s *UpdateReplicationConfigurationInput) SetDataPlaneRouting(v string) *UpdateReplicationConfigurationInput { + s.DataPlaneRouting = &v + return s +} + +// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value. +func (s *UpdateReplicationConfigurationInput) SetDefaultLargeStagingDiskType(v string) *UpdateReplicationConfigurationInput { + s.DefaultLargeStagingDiskType = &v + return s +} + +// SetEbsEncryption sets the EbsEncryption field's value. +func (s *UpdateReplicationConfigurationInput) SetEbsEncryption(v string) *UpdateReplicationConfigurationInput { + s.EbsEncryption = &v + return s +} + +// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value. +func (s *UpdateReplicationConfigurationInput) SetEbsEncryptionKeyArn(v string) *UpdateReplicationConfigurationInput { + s.EbsEncryptionKeyArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateReplicationConfigurationInput) SetName(v string) *UpdateReplicationConfigurationInput { + s.Name = &v + return s +} + +// SetPitPolicy sets the PitPolicy field's value. +func (s *UpdateReplicationConfigurationInput) SetPitPolicy(v []*PITPolicyRule) *UpdateReplicationConfigurationInput { + s.PitPolicy = v + return s +} + +// SetReplicatedDisks sets the ReplicatedDisks field's value. +func (s *UpdateReplicationConfigurationInput) SetReplicatedDisks(v []*ReplicationConfigurationReplicatedDisk) *UpdateReplicationConfigurationInput { + s.ReplicatedDisks = v + return s +} + +// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value. +func (s *UpdateReplicationConfigurationInput) SetReplicationServerInstanceType(v string) *UpdateReplicationConfigurationInput { + s.ReplicationServerInstanceType = &v + return s +} + +// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value. +func (s *UpdateReplicationConfigurationInput) SetReplicationServersSecurityGroupsIDs(v []*string) *UpdateReplicationConfigurationInput { + s.ReplicationServersSecurityGroupsIDs = v + return s +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *UpdateReplicationConfigurationInput) SetSourceServerID(v string) *UpdateReplicationConfigurationInput { + s.SourceServerID = &v + return s +} + +// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value. +func (s *UpdateReplicationConfigurationInput) SetStagingAreaSubnetId(v string) *UpdateReplicationConfigurationInput { + s.StagingAreaSubnetId = &v + return s +} + +// SetStagingAreaTags sets the StagingAreaTags field's value. +func (s *UpdateReplicationConfigurationInput) SetStagingAreaTags(v map[string]*string) *UpdateReplicationConfigurationInput { + s.StagingAreaTags = v + return s +} + +// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value. +func (s *UpdateReplicationConfigurationInput) SetUseDedicatedReplicationServer(v bool) *UpdateReplicationConfigurationInput { + s.UseDedicatedReplicationServer = &v + return s +} + +type UpdateReplicationConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Whether to associate the default Elastic Disaster Recovery Security group + // with the Replication Configuration. + AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"` + + // Configure bandwidth throttling for the outbound data transfer rate of the + // Source Server in Mbps. + BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"` + + // Whether to create a Public IP for the Recovery Instance by default. + CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"` + + // The data plane routing mechanism that will be used for replication. + DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"` + + // The Staging Disk EBS volume type to be used during replication. + DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"` + + // The type of EBS encryption to be used during replication. + EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"` + + // The ARN of the EBS encryption key to be used during replication. + EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"` + + // The name of the Replication Configuration. + Name *string `locationName:"name" type:"string"` + + // The Point in time (PIT) policy to manage snapshots taken during replication. + PitPolicy []*PITPolicyRule `locationName:"pitPolicy" min:"1" type:"list"` + + // The configuration of the disks of the Source Server to be replicated. + ReplicatedDisks []*ReplicationConfigurationReplicatedDisk `locationName:"replicatedDisks" type:"list"` + + // The instance type to be used for the replication server. + ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"` + + // The security group IDs that will be used by the replication server. + ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"` + + // The ID of the Source Server for this Replication Configuration. + SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"` + + // The subnet to be used by the replication staging area. + StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"` + + // A set of tags to be associated with all resources created in the replication + // staging area: EC2 replication server, EBS volumes, EBS snapshots, etc. + // + // StagingAreaTags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateReplicationConfigurationOutput's + // String and GoString methods. + StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"` + + // Whether to use a dedicated Replication Server in the replication staging + // area. + UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateReplicationConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateReplicationConfigurationOutput) GoString() string { + return s.String() +} + +// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value. +func (s *UpdateReplicationConfigurationOutput) SetAssociateDefaultSecurityGroup(v bool) *UpdateReplicationConfigurationOutput { + s.AssociateDefaultSecurityGroup = &v + return s +} + +// SetBandwidthThrottling sets the BandwidthThrottling field's value. +func (s *UpdateReplicationConfigurationOutput) SetBandwidthThrottling(v int64) *UpdateReplicationConfigurationOutput { + s.BandwidthThrottling = &v + return s +} + +// SetCreatePublicIP sets the CreatePublicIP field's value. +func (s *UpdateReplicationConfigurationOutput) SetCreatePublicIP(v bool) *UpdateReplicationConfigurationOutput { + s.CreatePublicIP = &v + return s +} + +// SetDataPlaneRouting sets the DataPlaneRouting field's value. +func (s *UpdateReplicationConfigurationOutput) SetDataPlaneRouting(v string) *UpdateReplicationConfigurationOutput { + s.DataPlaneRouting = &v + return s +} + +// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value. +func (s *UpdateReplicationConfigurationOutput) SetDefaultLargeStagingDiskType(v string) *UpdateReplicationConfigurationOutput { + s.DefaultLargeStagingDiskType = &v + return s +} + +// SetEbsEncryption sets the EbsEncryption field's value. +func (s *UpdateReplicationConfigurationOutput) SetEbsEncryption(v string) *UpdateReplicationConfigurationOutput { + s.EbsEncryption = &v + return s +} + +// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value. +func (s *UpdateReplicationConfigurationOutput) SetEbsEncryptionKeyArn(v string) *UpdateReplicationConfigurationOutput { + s.EbsEncryptionKeyArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateReplicationConfigurationOutput) SetName(v string) *UpdateReplicationConfigurationOutput { + s.Name = &v + return s +} + +// SetPitPolicy sets the PitPolicy field's value. +func (s *UpdateReplicationConfigurationOutput) SetPitPolicy(v []*PITPolicyRule) *UpdateReplicationConfigurationOutput { + s.PitPolicy = v + return s +} + +// SetReplicatedDisks sets the ReplicatedDisks field's value. +func (s *UpdateReplicationConfigurationOutput) SetReplicatedDisks(v []*ReplicationConfigurationReplicatedDisk) *UpdateReplicationConfigurationOutput { + s.ReplicatedDisks = v + return s +} + +// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value. +func (s *UpdateReplicationConfigurationOutput) SetReplicationServerInstanceType(v string) *UpdateReplicationConfigurationOutput { + s.ReplicationServerInstanceType = &v + return s +} + +// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value. +func (s *UpdateReplicationConfigurationOutput) SetReplicationServersSecurityGroupsIDs(v []*string) *UpdateReplicationConfigurationOutput { + s.ReplicationServersSecurityGroupsIDs = v + return s +} + +// SetSourceServerID sets the SourceServerID field's value. +func (s *UpdateReplicationConfigurationOutput) SetSourceServerID(v string) *UpdateReplicationConfigurationOutput { + s.SourceServerID = &v + return s +} + +// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value. +func (s *UpdateReplicationConfigurationOutput) SetStagingAreaSubnetId(v string) *UpdateReplicationConfigurationOutput { + s.StagingAreaSubnetId = &v + return s +} + +// SetStagingAreaTags sets the StagingAreaTags field's value. +func (s *UpdateReplicationConfigurationOutput) SetStagingAreaTags(v map[string]*string) *UpdateReplicationConfigurationOutput { + s.StagingAreaTags = v + return s +} + +// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value. +func (s *UpdateReplicationConfigurationOutput) SetUseDedicatedReplicationServer(v bool) *UpdateReplicationConfigurationOutput { + s.UseDedicatedReplicationServer = &v + return s +} + +type UpdateReplicationConfigurationTemplateInput struct { + _ struct{} `type:"structure"` + + // The Replication Configuration Template ARN. + Arn *string `locationName:"arn" min:"20" type:"string"` + + // Whether to associate the default Elastic Disaster Recovery Security group + // with the Replication Configuration Template. + AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"` + + // Configure bandwidth throttling for the outbound data transfer rate of the + // Source Server in Mbps. + BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"` + + // Whether to create a Public IP for the Recovery Instance by default. + CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"` + + // The data plane routing mechanism that will be used for replication. + DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"` + + // The Staging Disk EBS volume type to be used during replication. + DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"` + + // The type of EBS encryption to be used during replication. + EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"` + + // The ARN of the EBS encryption key to be used during replication. + EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"` + + // The Point in time (PIT) policy to manage snapshots taken during replication. + PitPolicy []*PITPolicyRule `locationName:"pitPolicy" min:"1" type:"list"` + + // The Replication Configuration Template ID. + // + // ReplicationConfigurationTemplateID is a required field + ReplicationConfigurationTemplateID *string `locationName:"replicationConfigurationTemplateID" min:"21" type:"string" required:"true"` + + // The instance type to be used for the replication server. + ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"` + + // The security group IDs that will be used by the replication server. + ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"` + + // The subnet to be used by the replication staging area. + StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"` + + // A set of tags to be associated with all resources created in the replication + // staging area: EC2 replication server, EBS volumes, EBS snapshots, etc. + // + // StagingAreaTags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateReplicationConfigurationTemplateInput's + // String and GoString methods. + StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"` + + // Whether to use a dedicated Replication Server in the replication staging + // area. + UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateReplicationConfigurationTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateReplicationConfigurationTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateReplicationConfigurationTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateReplicationConfigurationTemplateInput"} + if s.Arn != nil && len(*s.Arn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 20)) + } + if s.EbsEncryptionKeyArn != nil && len(*s.EbsEncryptionKeyArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("EbsEncryptionKeyArn", 20)) + } + if s.PitPolicy != nil && len(s.PitPolicy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PitPolicy", 1)) + } + if s.ReplicationConfigurationTemplateID == nil { + invalidParams.Add(request.NewErrParamRequired("ReplicationConfigurationTemplateID")) + } + if s.ReplicationConfigurationTemplateID != nil && len(*s.ReplicationConfigurationTemplateID) < 21 { + invalidParams.Add(request.NewErrParamMinLen("ReplicationConfigurationTemplateID", 21)) + } + if s.PitPolicy != nil { + for i, v := range s.PitPolicy { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PitPolicy", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *UpdateReplicationConfigurationTemplateInput) SetArn(v string) *UpdateReplicationConfigurationTemplateInput { + s.Arn = &v + return s +} + +// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value. +func (s *UpdateReplicationConfigurationTemplateInput) SetAssociateDefaultSecurityGroup(v bool) *UpdateReplicationConfigurationTemplateInput { + s.AssociateDefaultSecurityGroup = &v + return s +} + +// SetBandwidthThrottling sets the BandwidthThrottling field's value. +func (s *UpdateReplicationConfigurationTemplateInput) SetBandwidthThrottling(v int64) *UpdateReplicationConfigurationTemplateInput { + s.BandwidthThrottling = &v + return s +} + +// SetCreatePublicIP sets the CreatePublicIP field's value. +func (s *UpdateReplicationConfigurationTemplateInput) SetCreatePublicIP(v bool) *UpdateReplicationConfigurationTemplateInput { + s.CreatePublicIP = &v + return s +} + +// SetDataPlaneRouting sets the DataPlaneRouting field's value. +func (s *UpdateReplicationConfigurationTemplateInput) SetDataPlaneRouting(v string) *UpdateReplicationConfigurationTemplateInput { + s.DataPlaneRouting = &v + return s +} + +// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value. +func (s *UpdateReplicationConfigurationTemplateInput) SetDefaultLargeStagingDiskType(v string) *UpdateReplicationConfigurationTemplateInput { + s.DefaultLargeStagingDiskType = &v + return s +} + +// SetEbsEncryption sets the EbsEncryption field's value. +func (s *UpdateReplicationConfigurationTemplateInput) SetEbsEncryption(v string) *UpdateReplicationConfigurationTemplateInput { + s.EbsEncryption = &v + return s +} + +// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value. +func (s *UpdateReplicationConfigurationTemplateInput) SetEbsEncryptionKeyArn(v string) *UpdateReplicationConfigurationTemplateInput { + s.EbsEncryptionKeyArn = &v + return s +} + +// SetPitPolicy sets the PitPolicy field's value. +func (s *UpdateReplicationConfigurationTemplateInput) SetPitPolicy(v []*PITPolicyRule) *UpdateReplicationConfigurationTemplateInput { + s.PitPolicy = v + return s +} + +// SetReplicationConfigurationTemplateID sets the ReplicationConfigurationTemplateID field's value. +func (s *UpdateReplicationConfigurationTemplateInput) SetReplicationConfigurationTemplateID(v string) *UpdateReplicationConfigurationTemplateInput { + s.ReplicationConfigurationTemplateID = &v + return s +} + +// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value. +func (s *UpdateReplicationConfigurationTemplateInput) SetReplicationServerInstanceType(v string) *UpdateReplicationConfigurationTemplateInput { + s.ReplicationServerInstanceType = &v + return s +} + +// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value. +func (s *UpdateReplicationConfigurationTemplateInput) SetReplicationServersSecurityGroupsIDs(v []*string) *UpdateReplicationConfigurationTemplateInput { + s.ReplicationServersSecurityGroupsIDs = v + return s +} + +// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value. +func (s *UpdateReplicationConfigurationTemplateInput) SetStagingAreaSubnetId(v string) *UpdateReplicationConfigurationTemplateInput { + s.StagingAreaSubnetId = &v + return s +} + +// SetStagingAreaTags sets the StagingAreaTags field's value. +func (s *UpdateReplicationConfigurationTemplateInput) SetStagingAreaTags(v map[string]*string) *UpdateReplicationConfigurationTemplateInput { + s.StagingAreaTags = v + return s +} + +// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value. +func (s *UpdateReplicationConfigurationTemplateInput) SetUseDedicatedReplicationServer(v bool) *UpdateReplicationConfigurationTemplateInput { + s.UseDedicatedReplicationServer = &v + return s +} + +type UpdateReplicationConfigurationTemplateOutput struct { + _ struct{} `type:"structure"` + + // The Replication Configuration Template ARN. + Arn *string `locationName:"arn" min:"20" type:"string"` + + // Whether to associate the default Elastic Disaster Recovery Security group + // with the Replication Configuration Template. + AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"` + + // Configure bandwidth throttling for the outbound data transfer rate of the + // Source Server in Mbps. + BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"` + + // Whether to create a Public IP for the Recovery Instance by default. + CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"` + + // The data plane routing mechanism that will be used for replication. + DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"` + + // The Staging Disk EBS volume type to be used during replication. + DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"` + + // The type of EBS encryption to be used during replication. + EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"` + + // The ARN of the EBS encryption key to be used during replication. + EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"` + + // The Point in time (PIT) policy to manage snapshots taken during replication. + PitPolicy []*PITPolicyRule `locationName:"pitPolicy" min:"1" type:"list"` + + // The Replication Configuration Template ID. + // + // ReplicationConfigurationTemplateID is a required field + ReplicationConfigurationTemplateID *string `locationName:"replicationConfigurationTemplateID" min:"21" type:"string" required:"true"` + + // The instance type to be used for the replication server. + ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"` + + // The security group IDs that will be used by the replication server. + ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"` + + // The subnet to be used by the replication staging area. + StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"` + + // A set of tags to be associated with all resources created in the replication + // staging area: EC2 replication server, EBS volumes, EBS snapshots, etc. + // + // StagingAreaTags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateReplicationConfigurationTemplateOutput's + // String and GoString methods. + StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"` + + // A set of tags to be associated with the Replication Configuration Template + // resource. + // + // Tags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateReplicationConfigurationTemplateOutput's + // String and GoString methods. + Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"` + + // Whether to use a dedicated Replication Server in the replication staging + // area. + UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateReplicationConfigurationTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateReplicationConfigurationTemplateOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *UpdateReplicationConfigurationTemplateOutput) SetArn(v string) *UpdateReplicationConfigurationTemplateOutput { + s.Arn = &v + return s +} + +// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value. +func (s *UpdateReplicationConfigurationTemplateOutput) SetAssociateDefaultSecurityGroup(v bool) *UpdateReplicationConfigurationTemplateOutput { + s.AssociateDefaultSecurityGroup = &v + return s +} + +// SetBandwidthThrottling sets the BandwidthThrottling field's value. +func (s *UpdateReplicationConfigurationTemplateOutput) SetBandwidthThrottling(v int64) *UpdateReplicationConfigurationTemplateOutput { + s.BandwidthThrottling = &v + return s +} + +// SetCreatePublicIP sets the CreatePublicIP field's value. +func (s *UpdateReplicationConfigurationTemplateOutput) SetCreatePublicIP(v bool) *UpdateReplicationConfigurationTemplateOutput { + s.CreatePublicIP = &v + return s +} + +// SetDataPlaneRouting sets the DataPlaneRouting field's value. +func (s *UpdateReplicationConfigurationTemplateOutput) SetDataPlaneRouting(v string) *UpdateReplicationConfigurationTemplateOutput { + s.DataPlaneRouting = &v + return s +} + +// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value. +func (s *UpdateReplicationConfigurationTemplateOutput) SetDefaultLargeStagingDiskType(v string) *UpdateReplicationConfigurationTemplateOutput { + s.DefaultLargeStagingDiskType = &v + return s +} + +// SetEbsEncryption sets the EbsEncryption field's value. +func (s *UpdateReplicationConfigurationTemplateOutput) SetEbsEncryption(v string) *UpdateReplicationConfigurationTemplateOutput { + s.EbsEncryption = &v + return s +} + +// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value. +func (s *UpdateReplicationConfigurationTemplateOutput) SetEbsEncryptionKeyArn(v string) *UpdateReplicationConfigurationTemplateOutput { + s.EbsEncryptionKeyArn = &v + return s +} + +// SetPitPolicy sets the PitPolicy field's value. +func (s *UpdateReplicationConfigurationTemplateOutput) SetPitPolicy(v []*PITPolicyRule) *UpdateReplicationConfigurationTemplateOutput { + s.PitPolicy = v + return s +} + +// SetReplicationConfigurationTemplateID sets the ReplicationConfigurationTemplateID field's value. +func (s *UpdateReplicationConfigurationTemplateOutput) SetReplicationConfigurationTemplateID(v string) *UpdateReplicationConfigurationTemplateOutput { + s.ReplicationConfigurationTemplateID = &v + return s +} + +// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value. +func (s *UpdateReplicationConfigurationTemplateOutput) SetReplicationServerInstanceType(v string) *UpdateReplicationConfigurationTemplateOutput { + s.ReplicationServerInstanceType = &v + return s +} + +// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value. +func (s *UpdateReplicationConfigurationTemplateOutput) SetReplicationServersSecurityGroupsIDs(v []*string) *UpdateReplicationConfigurationTemplateOutput { + s.ReplicationServersSecurityGroupsIDs = v + return s +} + +// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value. +func (s *UpdateReplicationConfigurationTemplateOutput) SetStagingAreaSubnetId(v string) *UpdateReplicationConfigurationTemplateOutput { + s.StagingAreaSubnetId = &v + return s +} + +// SetStagingAreaTags sets the StagingAreaTags field's value. +func (s *UpdateReplicationConfigurationTemplateOutput) SetStagingAreaTags(v map[string]*string) *UpdateReplicationConfigurationTemplateOutput { + s.StagingAreaTags = v + return s +} + +// SetTags sets the Tags field's value. +func (s *UpdateReplicationConfigurationTemplateOutput) SetTags(v map[string]*string) *UpdateReplicationConfigurationTemplateOutput { + s.Tags = v + return s +} + +// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value. +func (s *UpdateReplicationConfigurationTemplateOutput) SetUseDedicatedReplicationServer(v bool) *UpdateReplicationConfigurationTemplateOutput { + s.UseDedicatedReplicationServer = &v + return s +} + +// The input fails to satisfy the constraints specified by the AWS service. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + // A list of fields that failed validation. + FieldList []*ValidationExceptionField `locationName:"fieldList" type:"list"` + + Message_ *string `locationName:"message" type:"string"` + + // Validation exception reason. + Reason *string `locationName:"reason" type:"string" enum:"ValidationExceptionReason"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Validate exception field. +type ValidationExceptionField struct { + _ struct{} `type:"structure"` + + // Validate exception field message. + Message *string `locationName:"message" type:"string"` + + // Validate exception field name. + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationExceptionField) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationExceptionField) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField { + s.Message = &v + return s +} + +// SetName sets the Name field's value. +func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField { + s.Name = &v + return s +} + +const ( + // DataReplicationErrorStringAgentNotSeen is a DataReplicationErrorString enum value + DataReplicationErrorStringAgentNotSeen = "AGENT_NOT_SEEN" + + // DataReplicationErrorStringSnapshotsFailure is a DataReplicationErrorString enum value + DataReplicationErrorStringSnapshotsFailure = "SNAPSHOTS_FAILURE" + + // DataReplicationErrorStringNotConverging is a DataReplicationErrorString enum value + DataReplicationErrorStringNotConverging = "NOT_CONVERGING" + + // DataReplicationErrorStringUnstableNetwork is a DataReplicationErrorString enum value + DataReplicationErrorStringUnstableNetwork = "UNSTABLE_NETWORK" + + // DataReplicationErrorStringFailedToCreateSecurityGroup is a DataReplicationErrorString enum value + DataReplicationErrorStringFailedToCreateSecurityGroup = "FAILED_TO_CREATE_SECURITY_GROUP" + + // DataReplicationErrorStringFailedToLaunchReplicationServer is a DataReplicationErrorString enum value + DataReplicationErrorStringFailedToLaunchReplicationServer = "FAILED_TO_LAUNCH_REPLICATION_SERVER" + + // DataReplicationErrorStringFailedToBootReplicationServer is a DataReplicationErrorString enum value + DataReplicationErrorStringFailedToBootReplicationServer = "FAILED_TO_BOOT_REPLICATION_SERVER" + + // DataReplicationErrorStringFailedToAuthenticateWithService is a DataReplicationErrorString enum value + DataReplicationErrorStringFailedToAuthenticateWithService = "FAILED_TO_AUTHENTICATE_WITH_SERVICE" + + // DataReplicationErrorStringFailedToDownloadReplicationSoftware is a DataReplicationErrorString enum value + DataReplicationErrorStringFailedToDownloadReplicationSoftware = "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE" + + // DataReplicationErrorStringFailedToCreateStagingDisks is a DataReplicationErrorString enum value + DataReplicationErrorStringFailedToCreateStagingDisks = "FAILED_TO_CREATE_STAGING_DISKS" + + // DataReplicationErrorStringFailedToAttachStagingDisks is a DataReplicationErrorString enum value + DataReplicationErrorStringFailedToAttachStagingDisks = "FAILED_TO_ATTACH_STAGING_DISKS" + + // DataReplicationErrorStringFailedToPairReplicationServerWithAgent is a DataReplicationErrorString enum value + DataReplicationErrorStringFailedToPairReplicationServerWithAgent = "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT" + + // DataReplicationErrorStringFailedToConnectAgentToReplicationServer is a DataReplicationErrorString enum value + DataReplicationErrorStringFailedToConnectAgentToReplicationServer = "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER" + + // DataReplicationErrorStringFailedToStartDataTransfer is a DataReplicationErrorString enum value + DataReplicationErrorStringFailedToStartDataTransfer = "FAILED_TO_START_DATA_TRANSFER" +) + +// DataReplicationErrorString_Values returns all elements of the DataReplicationErrorString enum +func DataReplicationErrorString_Values() []string { + return []string{ + DataReplicationErrorStringAgentNotSeen, + DataReplicationErrorStringSnapshotsFailure, + DataReplicationErrorStringNotConverging, + DataReplicationErrorStringUnstableNetwork, + DataReplicationErrorStringFailedToCreateSecurityGroup, + DataReplicationErrorStringFailedToLaunchReplicationServer, + DataReplicationErrorStringFailedToBootReplicationServer, + DataReplicationErrorStringFailedToAuthenticateWithService, + DataReplicationErrorStringFailedToDownloadReplicationSoftware, + DataReplicationErrorStringFailedToCreateStagingDisks, + DataReplicationErrorStringFailedToAttachStagingDisks, + DataReplicationErrorStringFailedToPairReplicationServerWithAgent, + DataReplicationErrorStringFailedToConnectAgentToReplicationServer, + DataReplicationErrorStringFailedToStartDataTransfer, + } +} + +const ( + // DataReplicationInitiationStepNameWait is a DataReplicationInitiationStepName enum value + DataReplicationInitiationStepNameWait = "WAIT" + + // DataReplicationInitiationStepNameCreateSecurityGroup is a DataReplicationInitiationStepName enum value + DataReplicationInitiationStepNameCreateSecurityGroup = "CREATE_SECURITY_GROUP" + + // DataReplicationInitiationStepNameLaunchReplicationServer is a DataReplicationInitiationStepName enum value + DataReplicationInitiationStepNameLaunchReplicationServer = "LAUNCH_REPLICATION_SERVER" + + // DataReplicationInitiationStepNameBootReplicationServer is a DataReplicationInitiationStepName enum value + DataReplicationInitiationStepNameBootReplicationServer = "BOOT_REPLICATION_SERVER" + + // DataReplicationInitiationStepNameAuthenticateWithService is a DataReplicationInitiationStepName enum value + DataReplicationInitiationStepNameAuthenticateWithService = "AUTHENTICATE_WITH_SERVICE" + + // DataReplicationInitiationStepNameDownloadReplicationSoftware is a DataReplicationInitiationStepName enum value + DataReplicationInitiationStepNameDownloadReplicationSoftware = "DOWNLOAD_REPLICATION_SOFTWARE" + + // DataReplicationInitiationStepNameCreateStagingDisks is a DataReplicationInitiationStepName enum value + DataReplicationInitiationStepNameCreateStagingDisks = "CREATE_STAGING_DISKS" + + // DataReplicationInitiationStepNameAttachStagingDisks is a DataReplicationInitiationStepName enum value + DataReplicationInitiationStepNameAttachStagingDisks = "ATTACH_STAGING_DISKS" + + // DataReplicationInitiationStepNamePairReplicationServerWithAgent is a DataReplicationInitiationStepName enum value + DataReplicationInitiationStepNamePairReplicationServerWithAgent = "PAIR_REPLICATION_SERVER_WITH_AGENT" + + // DataReplicationInitiationStepNameConnectAgentToReplicationServer is a DataReplicationInitiationStepName enum value + DataReplicationInitiationStepNameConnectAgentToReplicationServer = "CONNECT_AGENT_TO_REPLICATION_SERVER" + + // DataReplicationInitiationStepNameStartDataTransfer is a DataReplicationInitiationStepName enum value + DataReplicationInitiationStepNameStartDataTransfer = "START_DATA_TRANSFER" +) + +// DataReplicationInitiationStepName_Values returns all elements of the DataReplicationInitiationStepName enum +func DataReplicationInitiationStepName_Values() []string { + return []string{ + DataReplicationInitiationStepNameWait, + DataReplicationInitiationStepNameCreateSecurityGroup, + DataReplicationInitiationStepNameLaunchReplicationServer, + DataReplicationInitiationStepNameBootReplicationServer, + DataReplicationInitiationStepNameAuthenticateWithService, + DataReplicationInitiationStepNameDownloadReplicationSoftware, + DataReplicationInitiationStepNameCreateStagingDisks, + DataReplicationInitiationStepNameAttachStagingDisks, + DataReplicationInitiationStepNamePairReplicationServerWithAgent, + DataReplicationInitiationStepNameConnectAgentToReplicationServer, + DataReplicationInitiationStepNameStartDataTransfer, + } +} + +const ( + // DataReplicationInitiationStepStatusNotStarted is a DataReplicationInitiationStepStatus enum value + DataReplicationInitiationStepStatusNotStarted = "NOT_STARTED" + + // DataReplicationInitiationStepStatusInProgress is a DataReplicationInitiationStepStatus enum value + DataReplicationInitiationStepStatusInProgress = "IN_PROGRESS" + + // DataReplicationInitiationStepStatusSucceeded is a DataReplicationInitiationStepStatus enum value + DataReplicationInitiationStepStatusSucceeded = "SUCCEEDED" + + // DataReplicationInitiationStepStatusFailed is a DataReplicationInitiationStepStatus enum value + DataReplicationInitiationStepStatusFailed = "FAILED" + + // DataReplicationInitiationStepStatusSkipped is a DataReplicationInitiationStepStatus enum value + DataReplicationInitiationStepStatusSkipped = "SKIPPED" +) + +// DataReplicationInitiationStepStatus_Values returns all elements of the DataReplicationInitiationStepStatus enum +func DataReplicationInitiationStepStatus_Values() []string { + return []string{ + DataReplicationInitiationStepStatusNotStarted, + DataReplicationInitiationStepStatusInProgress, + DataReplicationInitiationStepStatusSucceeded, + DataReplicationInitiationStepStatusFailed, + DataReplicationInitiationStepStatusSkipped, + } +} + +const ( + // DataReplicationStateStopped is a DataReplicationState enum value + DataReplicationStateStopped = "STOPPED" + + // DataReplicationStateInitiating is a DataReplicationState enum value + DataReplicationStateInitiating = "INITIATING" + + // DataReplicationStateInitialSync is a DataReplicationState enum value + DataReplicationStateInitialSync = "INITIAL_SYNC" + + // DataReplicationStateBacklog is a DataReplicationState enum value + DataReplicationStateBacklog = "BACKLOG" + + // DataReplicationStateCreatingSnapshot is a DataReplicationState enum value + DataReplicationStateCreatingSnapshot = "CREATING_SNAPSHOT" + + // DataReplicationStateContinuous is a DataReplicationState enum value + DataReplicationStateContinuous = "CONTINUOUS" + + // DataReplicationStatePaused is a DataReplicationState enum value + DataReplicationStatePaused = "PAUSED" + + // DataReplicationStateRescan is a DataReplicationState enum value + DataReplicationStateRescan = "RESCAN" + + // DataReplicationStateStalled is a DataReplicationState enum value + DataReplicationStateStalled = "STALLED" + + // DataReplicationStateDisconnected is a DataReplicationState enum value + DataReplicationStateDisconnected = "DISCONNECTED" +) + +// DataReplicationState_Values returns all elements of the DataReplicationState enum +func DataReplicationState_Values() []string { + return []string{ + DataReplicationStateStopped, + DataReplicationStateInitiating, + DataReplicationStateInitialSync, + DataReplicationStateBacklog, + DataReplicationStateCreatingSnapshot, + DataReplicationStateContinuous, + DataReplicationStatePaused, + DataReplicationStateRescan, + DataReplicationStateStalled, + DataReplicationStateDisconnected, + } +} + +const ( + // EC2InstanceStatePending is a EC2InstanceState enum value + EC2InstanceStatePending = "PENDING" + + // EC2InstanceStateRunning is a EC2InstanceState enum value + EC2InstanceStateRunning = "RUNNING" + + // EC2InstanceStateStopping is a EC2InstanceState enum value + EC2InstanceStateStopping = "STOPPING" + + // EC2InstanceStateStopped is a EC2InstanceState enum value + EC2InstanceStateStopped = "STOPPED" + + // EC2InstanceStateShuttingDown is a EC2InstanceState enum value + EC2InstanceStateShuttingDown = "SHUTTING-DOWN" + + // EC2InstanceStateTerminated is a EC2InstanceState enum value + EC2InstanceStateTerminated = "TERMINATED" + + // EC2InstanceStateNotFound is a EC2InstanceState enum value + EC2InstanceStateNotFound = "NOT_FOUND" +) + +// EC2InstanceState_Values returns all elements of the EC2InstanceState enum +func EC2InstanceState_Values() []string { + return []string{ + EC2InstanceStatePending, + EC2InstanceStateRunning, + EC2InstanceStateStopping, + EC2InstanceStateStopped, + EC2InstanceStateShuttingDown, + EC2InstanceStateTerminated, + EC2InstanceStateNotFound, + } +} + +const ( + // FailbackReplicationErrorAgentNotSeen is a FailbackReplicationError enum value + FailbackReplicationErrorAgentNotSeen = "AGENT_NOT_SEEN" + + // FailbackReplicationErrorFailbackClientNotSeen is a FailbackReplicationError enum value + FailbackReplicationErrorFailbackClientNotSeen = "FAILBACK_CLIENT_NOT_SEEN" + + // FailbackReplicationErrorNotConverging is a FailbackReplicationError enum value + FailbackReplicationErrorNotConverging = "NOT_CONVERGING" + + // FailbackReplicationErrorUnstableNetwork is a FailbackReplicationError enum value + FailbackReplicationErrorUnstableNetwork = "UNSTABLE_NETWORK" + + // FailbackReplicationErrorFailedToEstablishRecoveryInstanceCommunication is a FailbackReplicationError enum value + FailbackReplicationErrorFailedToEstablishRecoveryInstanceCommunication = "FAILED_TO_ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION" + + // FailbackReplicationErrorFailedToDownloadReplicationSoftwareToFailbackClient is a FailbackReplicationError enum value + FailbackReplicationErrorFailedToDownloadReplicationSoftwareToFailbackClient = "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT" + + // FailbackReplicationErrorFailedToConfigureReplicationSoftware is a FailbackReplicationError enum value + FailbackReplicationErrorFailedToConfigureReplicationSoftware = "FAILED_TO_CONFIGURE_REPLICATION_SOFTWARE" + + // FailbackReplicationErrorFailedToPairAgentWithReplicationSoftware is a FailbackReplicationError enum value + FailbackReplicationErrorFailedToPairAgentWithReplicationSoftware = "FAILED_TO_PAIR_AGENT_WITH_REPLICATION_SOFTWARE" + + // FailbackReplicationErrorFailedToEstablishAgentReplicatorSoftwareCommunication is a FailbackReplicationError enum value + FailbackReplicationErrorFailedToEstablishAgentReplicatorSoftwareCommunication = "FAILED_TO_ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION" +) + +// FailbackReplicationError_Values returns all elements of the FailbackReplicationError enum +func FailbackReplicationError_Values() []string { + return []string{ + FailbackReplicationErrorAgentNotSeen, + FailbackReplicationErrorFailbackClientNotSeen, + FailbackReplicationErrorNotConverging, + FailbackReplicationErrorUnstableNetwork, + FailbackReplicationErrorFailedToEstablishRecoveryInstanceCommunication, + FailbackReplicationErrorFailedToDownloadReplicationSoftwareToFailbackClient, + FailbackReplicationErrorFailedToConfigureReplicationSoftware, + FailbackReplicationErrorFailedToPairAgentWithReplicationSoftware, + FailbackReplicationErrorFailedToEstablishAgentReplicatorSoftwareCommunication, + } +} + +const ( + // FailbackStateFailbackNotStarted is a FailbackState enum value + FailbackStateFailbackNotStarted = "FAILBACK_NOT_STARTED" + + // FailbackStateFailbackInProgress is a FailbackState enum value + FailbackStateFailbackInProgress = "FAILBACK_IN_PROGRESS" + + // FailbackStateFailbackReadyForLaunch is a FailbackState enum value + FailbackStateFailbackReadyForLaunch = "FAILBACK_READY_FOR_LAUNCH" + + // FailbackStateFailbackCompleted is a FailbackState enum value + FailbackStateFailbackCompleted = "FAILBACK_COMPLETED" + + // FailbackStateFailbackError is a FailbackState enum value + FailbackStateFailbackError = "FAILBACK_ERROR" +) + +// FailbackState_Values returns all elements of the FailbackState enum +func FailbackState_Values() []string { + return []string{ + FailbackStateFailbackNotStarted, + FailbackStateFailbackInProgress, + FailbackStateFailbackReadyForLaunch, + FailbackStateFailbackCompleted, + FailbackStateFailbackError, + } +} + +const ( + // InitiatedByStartRecovery is a InitiatedBy enum value + InitiatedByStartRecovery = "START_RECOVERY" + + // InitiatedByStartDrill is a InitiatedBy enum value + InitiatedByStartDrill = "START_DRILL" + + // InitiatedByFailback is a InitiatedBy enum value + InitiatedByFailback = "FAILBACK" + + // InitiatedByDiagnostic is a InitiatedBy enum value + InitiatedByDiagnostic = "DIAGNOSTIC" + + // InitiatedByTerminateRecoveryInstances is a InitiatedBy enum value + InitiatedByTerminateRecoveryInstances = "TERMINATE_RECOVERY_INSTANCES" +) + +// InitiatedBy_Values returns all elements of the InitiatedBy enum +func InitiatedBy_Values() []string { + return []string{ + InitiatedByStartRecovery, + InitiatedByStartDrill, + InitiatedByFailback, + InitiatedByDiagnostic, + InitiatedByTerminateRecoveryInstances, + } +} + +const ( + // JobLogEventJobStart is a JobLogEvent enum value + JobLogEventJobStart = "JOB_START" + + // JobLogEventServerSkipped is a JobLogEvent enum value + JobLogEventServerSkipped = "SERVER_SKIPPED" + + // JobLogEventCleanupStart is a JobLogEvent enum value + JobLogEventCleanupStart = "CLEANUP_START" + + // JobLogEventCleanupEnd is a JobLogEvent enum value + JobLogEventCleanupEnd = "CLEANUP_END" + + // JobLogEventCleanupFail is a JobLogEvent enum value + JobLogEventCleanupFail = "CLEANUP_FAIL" + + // JobLogEventSnapshotStart is a JobLogEvent enum value + JobLogEventSnapshotStart = "SNAPSHOT_START" + + // JobLogEventSnapshotEnd is a JobLogEvent enum value + JobLogEventSnapshotEnd = "SNAPSHOT_END" + + // JobLogEventSnapshotFail is a JobLogEvent enum value + JobLogEventSnapshotFail = "SNAPSHOT_FAIL" + + // JobLogEventUsingPreviousSnapshot is a JobLogEvent enum value + JobLogEventUsingPreviousSnapshot = "USING_PREVIOUS_SNAPSHOT" + + // JobLogEventUsingPreviousSnapshotFailed is a JobLogEvent enum value + JobLogEventUsingPreviousSnapshotFailed = "USING_PREVIOUS_SNAPSHOT_FAILED" + + // JobLogEventConversionStart is a JobLogEvent enum value + JobLogEventConversionStart = "CONVERSION_START" + + // JobLogEventConversionEnd is a JobLogEvent enum value + JobLogEventConversionEnd = "CONVERSION_END" + + // JobLogEventConversionFail is a JobLogEvent enum value + JobLogEventConversionFail = "CONVERSION_FAIL" + + // JobLogEventLaunchStart is a JobLogEvent enum value + JobLogEventLaunchStart = "LAUNCH_START" + + // JobLogEventLaunchFailed is a JobLogEvent enum value + JobLogEventLaunchFailed = "LAUNCH_FAILED" + + // JobLogEventJobCancel is a JobLogEvent enum value + JobLogEventJobCancel = "JOB_CANCEL" + + // JobLogEventJobEnd is a JobLogEvent enum value + JobLogEventJobEnd = "JOB_END" +) + +// JobLogEvent_Values returns all elements of the JobLogEvent enum +func JobLogEvent_Values() []string { + return []string{ + JobLogEventJobStart, + JobLogEventServerSkipped, + JobLogEventCleanupStart, + JobLogEventCleanupEnd, + JobLogEventCleanupFail, + JobLogEventSnapshotStart, + JobLogEventSnapshotEnd, + JobLogEventSnapshotFail, + JobLogEventUsingPreviousSnapshot, + JobLogEventUsingPreviousSnapshotFailed, + JobLogEventConversionStart, + JobLogEventConversionEnd, + JobLogEventConversionFail, + JobLogEventLaunchStart, + JobLogEventLaunchFailed, + JobLogEventJobCancel, + JobLogEventJobEnd, + } +} + +const ( + // JobStatusPending is a JobStatus enum value + JobStatusPending = "PENDING" + + // JobStatusStarted is a JobStatus enum value + JobStatusStarted = "STARTED" + + // JobStatusCompleted is a JobStatus enum value + JobStatusCompleted = "COMPLETED" +) + +// JobStatus_Values returns all elements of the JobStatus enum +func JobStatus_Values() []string { + return []string{ + JobStatusPending, + JobStatusStarted, + JobStatusCompleted, + } +} + +const ( + // JobTypeLaunch is a JobType enum value + JobTypeLaunch = "LAUNCH" + + // JobTypeTerminate is a JobType enum value + JobTypeTerminate = "TERMINATE" +) + +// JobType_Values returns all elements of the JobType enum +func JobType_Values() []string { + return []string{ + JobTypeLaunch, + JobTypeTerminate, + } +} + +const ( + // LastLaunchResultNotStarted is a LastLaunchResult enum value + LastLaunchResultNotStarted = "NOT_STARTED" + + // LastLaunchResultPending is a LastLaunchResult enum value + LastLaunchResultPending = "PENDING" + + // LastLaunchResultSucceeded is a LastLaunchResult enum value + LastLaunchResultSucceeded = "SUCCEEDED" + + // LastLaunchResultFailed is a LastLaunchResult enum value + LastLaunchResultFailed = "FAILED" +) + +// LastLaunchResult_Values returns all elements of the LastLaunchResult enum +func LastLaunchResult_Values() []string { + return []string{ + LastLaunchResultNotStarted, + LastLaunchResultPending, + LastLaunchResultSucceeded, + LastLaunchResultFailed, + } +} + +const ( + // LastLaunchTypeRecovery is a LastLaunchType enum value + LastLaunchTypeRecovery = "RECOVERY" + + // LastLaunchTypeDrill is a LastLaunchType enum value + LastLaunchTypeDrill = "DRILL" +) + +// LastLaunchType_Values returns all elements of the LastLaunchType enum +func LastLaunchType_Values() []string { + return []string{ + LastLaunchTypeRecovery, + LastLaunchTypeDrill, + } +} + +const ( + // LaunchDispositionStopped is a LaunchDisposition enum value + LaunchDispositionStopped = "STOPPED" + + // LaunchDispositionStarted is a LaunchDisposition enum value + LaunchDispositionStarted = "STARTED" +) + +// LaunchDisposition_Values returns all elements of the LaunchDisposition enum +func LaunchDisposition_Values() []string { + return []string{ + LaunchDispositionStopped, + LaunchDispositionStarted, + } +} + +const ( + // LaunchStatusPending is a LaunchStatus enum value + LaunchStatusPending = "PENDING" + + // LaunchStatusInProgress is a LaunchStatus enum value + LaunchStatusInProgress = "IN_PROGRESS" + + // LaunchStatusLaunched is a LaunchStatus enum value + LaunchStatusLaunched = "LAUNCHED" + + // LaunchStatusFailed is a LaunchStatus enum value + LaunchStatusFailed = "FAILED" + + // LaunchStatusTerminated is a LaunchStatus enum value + LaunchStatusTerminated = "TERMINATED" +) + +// LaunchStatus_Values returns all elements of the LaunchStatus enum +func LaunchStatus_Values() []string { + return []string{ + LaunchStatusPending, + LaunchStatusInProgress, + LaunchStatusLaunched, + LaunchStatusFailed, + LaunchStatusTerminated, + } +} + +const ( + // PITPolicyRuleUnitsMinute is a PITPolicyRuleUnits enum value + PITPolicyRuleUnitsMinute = "MINUTE" + + // PITPolicyRuleUnitsHour is a PITPolicyRuleUnits enum value + PITPolicyRuleUnitsHour = "HOUR" + + // PITPolicyRuleUnitsDay is a PITPolicyRuleUnits enum value + PITPolicyRuleUnitsDay = "DAY" +) + +// PITPolicyRuleUnits_Values returns all elements of the PITPolicyRuleUnits enum +func PITPolicyRuleUnits_Values() []string { + return []string{ + PITPolicyRuleUnitsMinute, + PITPolicyRuleUnitsHour, + PITPolicyRuleUnitsDay, + } +} + +const ( + // RecoveryInstanceDataReplicationInitiationStepNameLinkFailbackClientWithRecoveryInstance is a RecoveryInstanceDataReplicationInitiationStepName enum value + RecoveryInstanceDataReplicationInitiationStepNameLinkFailbackClientWithRecoveryInstance = "LINK_FAILBACK_CLIENT_WITH_RECOVERY_INSTANCE" + + // RecoveryInstanceDataReplicationInitiationStepNameCompleteVolumeMapping is a RecoveryInstanceDataReplicationInitiationStepName enum value + RecoveryInstanceDataReplicationInitiationStepNameCompleteVolumeMapping = "COMPLETE_VOLUME_MAPPING" + + // RecoveryInstanceDataReplicationInitiationStepNameEstablishRecoveryInstanceCommunication is a RecoveryInstanceDataReplicationInitiationStepName enum value + RecoveryInstanceDataReplicationInitiationStepNameEstablishRecoveryInstanceCommunication = "ESTABLISH_RECOVERY_INSTANCE_COMMUNICATION" + + // RecoveryInstanceDataReplicationInitiationStepNameDownloadReplicationSoftwareToFailbackClient is a RecoveryInstanceDataReplicationInitiationStepName enum value + RecoveryInstanceDataReplicationInitiationStepNameDownloadReplicationSoftwareToFailbackClient = "DOWNLOAD_REPLICATION_SOFTWARE_TO_FAILBACK_CLIENT" + + // RecoveryInstanceDataReplicationInitiationStepNameConfigureReplicationSoftware is a RecoveryInstanceDataReplicationInitiationStepName enum value + RecoveryInstanceDataReplicationInitiationStepNameConfigureReplicationSoftware = "CONFIGURE_REPLICATION_SOFTWARE" + + // RecoveryInstanceDataReplicationInitiationStepNamePairAgentWithReplicationSoftware is a RecoveryInstanceDataReplicationInitiationStepName enum value + RecoveryInstanceDataReplicationInitiationStepNamePairAgentWithReplicationSoftware = "PAIR_AGENT_WITH_REPLICATION_SOFTWARE" + + // RecoveryInstanceDataReplicationInitiationStepNameEstablishAgentReplicatorSoftwareCommunication is a RecoveryInstanceDataReplicationInitiationStepName enum value + RecoveryInstanceDataReplicationInitiationStepNameEstablishAgentReplicatorSoftwareCommunication = "ESTABLISH_AGENT_REPLICATOR_SOFTWARE_COMMUNICATION" +) + +// RecoveryInstanceDataReplicationInitiationStepName_Values returns all elements of the RecoveryInstanceDataReplicationInitiationStepName enum +func RecoveryInstanceDataReplicationInitiationStepName_Values() []string { + return []string{ + RecoveryInstanceDataReplicationInitiationStepNameLinkFailbackClientWithRecoveryInstance, + RecoveryInstanceDataReplicationInitiationStepNameCompleteVolumeMapping, + RecoveryInstanceDataReplicationInitiationStepNameEstablishRecoveryInstanceCommunication, + RecoveryInstanceDataReplicationInitiationStepNameDownloadReplicationSoftwareToFailbackClient, + RecoveryInstanceDataReplicationInitiationStepNameConfigureReplicationSoftware, + RecoveryInstanceDataReplicationInitiationStepNamePairAgentWithReplicationSoftware, + RecoveryInstanceDataReplicationInitiationStepNameEstablishAgentReplicatorSoftwareCommunication, + } +} + +const ( + // RecoveryInstanceDataReplicationInitiationStepStatusNotStarted is a RecoveryInstanceDataReplicationInitiationStepStatus enum value + RecoveryInstanceDataReplicationInitiationStepStatusNotStarted = "NOT_STARTED" + + // RecoveryInstanceDataReplicationInitiationStepStatusInProgress is a RecoveryInstanceDataReplicationInitiationStepStatus enum value + RecoveryInstanceDataReplicationInitiationStepStatusInProgress = "IN_PROGRESS" + + // RecoveryInstanceDataReplicationInitiationStepStatusSucceeded is a RecoveryInstanceDataReplicationInitiationStepStatus enum value + RecoveryInstanceDataReplicationInitiationStepStatusSucceeded = "SUCCEEDED" + + // RecoveryInstanceDataReplicationInitiationStepStatusFailed is a RecoveryInstanceDataReplicationInitiationStepStatus enum value + RecoveryInstanceDataReplicationInitiationStepStatusFailed = "FAILED" + + // RecoveryInstanceDataReplicationInitiationStepStatusSkipped is a RecoveryInstanceDataReplicationInitiationStepStatus enum value + RecoveryInstanceDataReplicationInitiationStepStatusSkipped = "SKIPPED" +) + +// RecoveryInstanceDataReplicationInitiationStepStatus_Values returns all elements of the RecoveryInstanceDataReplicationInitiationStepStatus enum +func RecoveryInstanceDataReplicationInitiationStepStatus_Values() []string { + return []string{ + RecoveryInstanceDataReplicationInitiationStepStatusNotStarted, + RecoveryInstanceDataReplicationInitiationStepStatusInProgress, + RecoveryInstanceDataReplicationInitiationStepStatusSucceeded, + RecoveryInstanceDataReplicationInitiationStepStatusFailed, + RecoveryInstanceDataReplicationInitiationStepStatusSkipped, + } +} + +const ( + // RecoveryInstanceDataReplicationStateStopped is a RecoveryInstanceDataReplicationState enum value + RecoveryInstanceDataReplicationStateStopped = "STOPPED" + + // RecoveryInstanceDataReplicationStateInitiating is a RecoveryInstanceDataReplicationState enum value + RecoveryInstanceDataReplicationStateInitiating = "INITIATING" + + // RecoveryInstanceDataReplicationStateInitialSync is a RecoveryInstanceDataReplicationState enum value + RecoveryInstanceDataReplicationStateInitialSync = "INITIAL_SYNC" + + // RecoveryInstanceDataReplicationStateBacklog is a RecoveryInstanceDataReplicationState enum value + RecoveryInstanceDataReplicationStateBacklog = "BACKLOG" + + // RecoveryInstanceDataReplicationStateCreatingSnapshot is a RecoveryInstanceDataReplicationState enum value + RecoveryInstanceDataReplicationStateCreatingSnapshot = "CREATING_SNAPSHOT" + + // RecoveryInstanceDataReplicationStateContinuous is a RecoveryInstanceDataReplicationState enum value + RecoveryInstanceDataReplicationStateContinuous = "CONTINUOUS" + + // RecoveryInstanceDataReplicationStatePaused is a RecoveryInstanceDataReplicationState enum value + RecoveryInstanceDataReplicationStatePaused = "PAUSED" + + // RecoveryInstanceDataReplicationStateRescan is a RecoveryInstanceDataReplicationState enum value + RecoveryInstanceDataReplicationStateRescan = "RESCAN" + + // RecoveryInstanceDataReplicationStateStalled is a RecoveryInstanceDataReplicationState enum value + RecoveryInstanceDataReplicationStateStalled = "STALLED" + + // RecoveryInstanceDataReplicationStateDisconnected is a RecoveryInstanceDataReplicationState enum value + RecoveryInstanceDataReplicationStateDisconnected = "DISCONNECTED" +) + +// RecoveryInstanceDataReplicationState_Values returns all elements of the RecoveryInstanceDataReplicationState enum +func RecoveryInstanceDataReplicationState_Values() []string { + return []string{ + RecoveryInstanceDataReplicationStateStopped, + RecoveryInstanceDataReplicationStateInitiating, + RecoveryInstanceDataReplicationStateInitialSync, + RecoveryInstanceDataReplicationStateBacklog, + RecoveryInstanceDataReplicationStateCreatingSnapshot, + RecoveryInstanceDataReplicationStateContinuous, + RecoveryInstanceDataReplicationStatePaused, + RecoveryInstanceDataReplicationStateRescan, + RecoveryInstanceDataReplicationStateStalled, + RecoveryInstanceDataReplicationStateDisconnected, + } +} + +const ( + // RecoverySnapshotsOrderAsc is a RecoverySnapshotsOrder enum value + RecoverySnapshotsOrderAsc = "ASC" + + // RecoverySnapshotsOrderDesc is a RecoverySnapshotsOrder enum value + RecoverySnapshotsOrderDesc = "DESC" +) + +// RecoverySnapshotsOrder_Values returns all elements of the RecoverySnapshotsOrder enum +func RecoverySnapshotsOrder_Values() []string { + return []string{ + RecoverySnapshotsOrderAsc, + RecoverySnapshotsOrderDesc, + } +} + +const ( + // ReplicationConfigurationDataPlaneRoutingPrivateIp is a ReplicationConfigurationDataPlaneRouting enum value + ReplicationConfigurationDataPlaneRoutingPrivateIp = "PRIVATE_IP" + + // ReplicationConfigurationDataPlaneRoutingPublicIp is a ReplicationConfigurationDataPlaneRouting enum value + ReplicationConfigurationDataPlaneRoutingPublicIp = "PUBLIC_IP" +) + +// ReplicationConfigurationDataPlaneRouting_Values returns all elements of the ReplicationConfigurationDataPlaneRouting enum +func ReplicationConfigurationDataPlaneRouting_Values() []string { + return []string{ + ReplicationConfigurationDataPlaneRoutingPrivateIp, + ReplicationConfigurationDataPlaneRoutingPublicIp, + } +} + +const ( + // ReplicationConfigurationDefaultLargeStagingDiskTypeGp2 is a ReplicationConfigurationDefaultLargeStagingDiskType enum value + ReplicationConfigurationDefaultLargeStagingDiskTypeGp2 = "GP2" + + // ReplicationConfigurationDefaultLargeStagingDiskTypeGp3 is a ReplicationConfigurationDefaultLargeStagingDiskType enum value + ReplicationConfigurationDefaultLargeStagingDiskTypeGp3 = "GP3" + + // ReplicationConfigurationDefaultLargeStagingDiskTypeSt1 is a ReplicationConfigurationDefaultLargeStagingDiskType enum value + ReplicationConfigurationDefaultLargeStagingDiskTypeSt1 = "ST1" +) + +// ReplicationConfigurationDefaultLargeStagingDiskType_Values returns all elements of the ReplicationConfigurationDefaultLargeStagingDiskType enum +func ReplicationConfigurationDefaultLargeStagingDiskType_Values() []string { + return []string{ + ReplicationConfigurationDefaultLargeStagingDiskTypeGp2, + ReplicationConfigurationDefaultLargeStagingDiskTypeGp3, + ReplicationConfigurationDefaultLargeStagingDiskTypeSt1, + } +} + +const ( + // ReplicationConfigurationEbsEncryptionDefault is a ReplicationConfigurationEbsEncryption enum value + ReplicationConfigurationEbsEncryptionDefault = "DEFAULT" + + // ReplicationConfigurationEbsEncryptionCustom is a ReplicationConfigurationEbsEncryption enum value + ReplicationConfigurationEbsEncryptionCustom = "CUSTOM" +) + +// ReplicationConfigurationEbsEncryption_Values returns all elements of the ReplicationConfigurationEbsEncryption enum +func ReplicationConfigurationEbsEncryption_Values() []string { + return []string{ + ReplicationConfigurationEbsEncryptionDefault, + ReplicationConfigurationEbsEncryptionCustom, + } +} + +const ( + // ReplicationConfigurationReplicatedDiskStagingDiskTypeAuto is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value + ReplicationConfigurationReplicatedDiskStagingDiskTypeAuto = "AUTO" + + // ReplicationConfigurationReplicatedDiskStagingDiskTypeGp2 is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value + ReplicationConfigurationReplicatedDiskStagingDiskTypeGp2 = "GP2" + + // ReplicationConfigurationReplicatedDiskStagingDiskTypeGp3 is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value + ReplicationConfigurationReplicatedDiskStagingDiskTypeGp3 = "GP3" + + // ReplicationConfigurationReplicatedDiskStagingDiskTypeIo1 is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value + ReplicationConfigurationReplicatedDiskStagingDiskTypeIo1 = "IO1" + + // ReplicationConfigurationReplicatedDiskStagingDiskTypeSc1 is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value + ReplicationConfigurationReplicatedDiskStagingDiskTypeSc1 = "SC1" + + // ReplicationConfigurationReplicatedDiskStagingDiskTypeSt1 is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value + ReplicationConfigurationReplicatedDiskStagingDiskTypeSt1 = "ST1" + + // ReplicationConfigurationReplicatedDiskStagingDiskTypeStandard is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value + ReplicationConfigurationReplicatedDiskStagingDiskTypeStandard = "STANDARD" +) + +// ReplicationConfigurationReplicatedDiskStagingDiskType_Values returns all elements of the ReplicationConfigurationReplicatedDiskStagingDiskType enum +func ReplicationConfigurationReplicatedDiskStagingDiskType_Values() []string { + return []string{ + ReplicationConfigurationReplicatedDiskStagingDiskTypeAuto, + ReplicationConfigurationReplicatedDiskStagingDiskTypeGp2, + ReplicationConfigurationReplicatedDiskStagingDiskTypeGp3, + ReplicationConfigurationReplicatedDiskStagingDiskTypeIo1, + ReplicationConfigurationReplicatedDiskStagingDiskTypeSc1, + ReplicationConfigurationReplicatedDiskStagingDiskTypeSt1, + ReplicationConfigurationReplicatedDiskStagingDiskTypeStandard, + } +} + +const ( + // TargetInstanceTypeRightSizingMethodNone is a TargetInstanceTypeRightSizingMethod enum value + TargetInstanceTypeRightSizingMethodNone = "NONE" + + // TargetInstanceTypeRightSizingMethodBasic is a TargetInstanceTypeRightSizingMethod enum value + TargetInstanceTypeRightSizingMethodBasic = "BASIC" +) + +// TargetInstanceTypeRightSizingMethod_Values returns all elements of the TargetInstanceTypeRightSizingMethod enum +func TargetInstanceTypeRightSizingMethod_Values() []string { + return []string{ + TargetInstanceTypeRightSizingMethodNone, + TargetInstanceTypeRightSizingMethodBasic, + } +} + +const ( + // ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value + ValidationExceptionReasonUnknownOperation = "unknownOperation" + + // ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value + ValidationExceptionReasonCannotParse = "cannotParse" + + // ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value + ValidationExceptionReasonFieldValidationFailed = "fieldValidationFailed" + + // ValidationExceptionReasonOther is a ValidationExceptionReason enum value + ValidationExceptionReasonOther = "other" +) + +// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum +func ValidationExceptionReason_Values() []string { + return []string{ + ValidationExceptionReasonUnknownOperation, + ValidationExceptionReasonCannotParse, + ValidationExceptionReasonFieldValidationFailed, + ValidationExceptionReasonOther, + } +} diff --git a/service/drs/doc.go b/service/drs/doc.go new file mode 100644 index 0000000000..f26b2e74b3 --- /dev/null +++ b/service/drs/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package drs provides the client and types for making API +// requests to Elastic Disaster Recovery Service. +// +// AWS Elastic Disaster Recovery Service. +// +// See https://docs.aws.amazon.com/goto/WebAPI/drs-2020-02-26 for more information on this service. +// +// See drs package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/drs/ +// +// Using the Client +// +// To contact Elastic Disaster Recovery Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the Elastic Disaster Recovery Service client Drs for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/drs/#New +package drs diff --git a/service/drs/drsiface/interface.go b/service/drs/drsiface/interface.go new file mode 100644 index 0000000000..c640e8bf6b --- /dev/null +++ b/service/drs/drsiface/interface.go @@ -0,0 +1,198 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package drsiface provides an interface to enable mocking the Elastic Disaster Recovery Service service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package drsiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/drs" +) + +// DrsAPI provides an interface to enable mocking the +// drs.Drs service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // Elastic Disaster Recovery Service. +// func myFunc(svc drsiface.DrsAPI) bool { +// // Make svc.CreateReplicationConfigurationTemplate request +// } +// +// func main() { +// sess := session.New() +// svc := drs.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockDrsClient struct { +// drsiface.DrsAPI +// } +// func (m *mockDrsClient) CreateReplicationConfigurationTemplate(input *drs.CreateReplicationConfigurationTemplateInput) (*drs.CreateReplicationConfigurationTemplateOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockDrsClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type DrsAPI interface { + CreateReplicationConfigurationTemplate(*drs.CreateReplicationConfigurationTemplateInput) (*drs.CreateReplicationConfigurationTemplateOutput, error) + CreateReplicationConfigurationTemplateWithContext(aws.Context, *drs.CreateReplicationConfigurationTemplateInput, ...request.Option) (*drs.CreateReplicationConfigurationTemplateOutput, error) + CreateReplicationConfigurationTemplateRequest(*drs.CreateReplicationConfigurationTemplateInput) (*request.Request, *drs.CreateReplicationConfigurationTemplateOutput) + + DeleteJob(*drs.DeleteJobInput) (*drs.DeleteJobOutput, error) + DeleteJobWithContext(aws.Context, *drs.DeleteJobInput, ...request.Option) (*drs.DeleteJobOutput, error) + DeleteJobRequest(*drs.DeleteJobInput) (*request.Request, *drs.DeleteJobOutput) + + DeleteRecoveryInstance(*drs.DeleteRecoveryInstanceInput) (*drs.DeleteRecoveryInstanceOutput, error) + DeleteRecoveryInstanceWithContext(aws.Context, *drs.DeleteRecoveryInstanceInput, ...request.Option) (*drs.DeleteRecoveryInstanceOutput, error) + DeleteRecoveryInstanceRequest(*drs.DeleteRecoveryInstanceInput) (*request.Request, *drs.DeleteRecoveryInstanceOutput) + + DeleteReplicationConfigurationTemplate(*drs.DeleteReplicationConfigurationTemplateInput) (*drs.DeleteReplicationConfigurationTemplateOutput, error) + DeleteReplicationConfigurationTemplateWithContext(aws.Context, *drs.DeleteReplicationConfigurationTemplateInput, ...request.Option) (*drs.DeleteReplicationConfigurationTemplateOutput, error) + DeleteReplicationConfigurationTemplateRequest(*drs.DeleteReplicationConfigurationTemplateInput) (*request.Request, *drs.DeleteReplicationConfigurationTemplateOutput) + + DeleteSourceServer(*drs.DeleteSourceServerInput) (*drs.DeleteSourceServerOutput, error) + DeleteSourceServerWithContext(aws.Context, *drs.DeleteSourceServerInput, ...request.Option) (*drs.DeleteSourceServerOutput, error) + DeleteSourceServerRequest(*drs.DeleteSourceServerInput) (*request.Request, *drs.DeleteSourceServerOutput) + + DescribeJobLogItems(*drs.DescribeJobLogItemsInput) (*drs.DescribeJobLogItemsOutput, error) + DescribeJobLogItemsWithContext(aws.Context, *drs.DescribeJobLogItemsInput, ...request.Option) (*drs.DescribeJobLogItemsOutput, error) + DescribeJobLogItemsRequest(*drs.DescribeJobLogItemsInput) (*request.Request, *drs.DescribeJobLogItemsOutput) + + DescribeJobLogItemsPages(*drs.DescribeJobLogItemsInput, func(*drs.DescribeJobLogItemsOutput, bool) bool) error + DescribeJobLogItemsPagesWithContext(aws.Context, *drs.DescribeJobLogItemsInput, func(*drs.DescribeJobLogItemsOutput, bool) bool, ...request.Option) error + + DescribeJobs(*drs.DescribeJobsInput) (*drs.DescribeJobsOutput, error) + DescribeJobsWithContext(aws.Context, *drs.DescribeJobsInput, ...request.Option) (*drs.DescribeJobsOutput, error) + DescribeJobsRequest(*drs.DescribeJobsInput) (*request.Request, *drs.DescribeJobsOutput) + + DescribeJobsPages(*drs.DescribeJobsInput, func(*drs.DescribeJobsOutput, bool) bool) error + DescribeJobsPagesWithContext(aws.Context, *drs.DescribeJobsInput, func(*drs.DescribeJobsOutput, bool) bool, ...request.Option) error + + DescribeRecoveryInstances(*drs.DescribeRecoveryInstancesInput) (*drs.DescribeRecoveryInstancesOutput, error) + DescribeRecoveryInstancesWithContext(aws.Context, *drs.DescribeRecoveryInstancesInput, ...request.Option) (*drs.DescribeRecoveryInstancesOutput, error) + DescribeRecoveryInstancesRequest(*drs.DescribeRecoveryInstancesInput) (*request.Request, *drs.DescribeRecoveryInstancesOutput) + + DescribeRecoveryInstancesPages(*drs.DescribeRecoveryInstancesInput, func(*drs.DescribeRecoveryInstancesOutput, bool) bool) error + DescribeRecoveryInstancesPagesWithContext(aws.Context, *drs.DescribeRecoveryInstancesInput, func(*drs.DescribeRecoveryInstancesOutput, bool) bool, ...request.Option) error + + DescribeRecoverySnapshots(*drs.DescribeRecoverySnapshotsInput) (*drs.DescribeRecoverySnapshotsOutput, error) + DescribeRecoverySnapshotsWithContext(aws.Context, *drs.DescribeRecoverySnapshotsInput, ...request.Option) (*drs.DescribeRecoverySnapshotsOutput, error) + DescribeRecoverySnapshotsRequest(*drs.DescribeRecoverySnapshotsInput) (*request.Request, *drs.DescribeRecoverySnapshotsOutput) + + DescribeRecoverySnapshotsPages(*drs.DescribeRecoverySnapshotsInput, func(*drs.DescribeRecoverySnapshotsOutput, bool) bool) error + DescribeRecoverySnapshotsPagesWithContext(aws.Context, *drs.DescribeRecoverySnapshotsInput, func(*drs.DescribeRecoverySnapshotsOutput, bool) bool, ...request.Option) error + + DescribeReplicationConfigurationTemplates(*drs.DescribeReplicationConfigurationTemplatesInput) (*drs.DescribeReplicationConfigurationTemplatesOutput, error) + DescribeReplicationConfigurationTemplatesWithContext(aws.Context, *drs.DescribeReplicationConfigurationTemplatesInput, ...request.Option) (*drs.DescribeReplicationConfigurationTemplatesOutput, error) + DescribeReplicationConfigurationTemplatesRequest(*drs.DescribeReplicationConfigurationTemplatesInput) (*request.Request, *drs.DescribeReplicationConfigurationTemplatesOutput) + + DescribeReplicationConfigurationTemplatesPages(*drs.DescribeReplicationConfigurationTemplatesInput, func(*drs.DescribeReplicationConfigurationTemplatesOutput, bool) bool) error + DescribeReplicationConfigurationTemplatesPagesWithContext(aws.Context, *drs.DescribeReplicationConfigurationTemplatesInput, func(*drs.DescribeReplicationConfigurationTemplatesOutput, bool) bool, ...request.Option) error + + DescribeSourceServers(*drs.DescribeSourceServersInput) (*drs.DescribeSourceServersOutput, error) + DescribeSourceServersWithContext(aws.Context, *drs.DescribeSourceServersInput, ...request.Option) (*drs.DescribeSourceServersOutput, error) + DescribeSourceServersRequest(*drs.DescribeSourceServersInput) (*request.Request, *drs.DescribeSourceServersOutput) + + DescribeSourceServersPages(*drs.DescribeSourceServersInput, func(*drs.DescribeSourceServersOutput, bool) bool) error + DescribeSourceServersPagesWithContext(aws.Context, *drs.DescribeSourceServersInput, func(*drs.DescribeSourceServersOutput, bool) bool, ...request.Option) error + + DisconnectRecoveryInstance(*drs.DisconnectRecoveryInstanceInput) (*drs.DisconnectRecoveryInstanceOutput, error) + DisconnectRecoveryInstanceWithContext(aws.Context, *drs.DisconnectRecoveryInstanceInput, ...request.Option) (*drs.DisconnectRecoveryInstanceOutput, error) + DisconnectRecoveryInstanceRequest(*drs.DisconnectRecoveryInstanceInput) (*request.Request, *drs.DisconnectRecoveryInstanceOutput) + + DisconnectSourceServer(*drs.DisconnectSourceServerInput) (*drs.DisconnectSourceServerOutput, error) + DisconnectSourceServerWithContext(aws.Context, *drs.DisconnectSourceServerInput, ...request.Option) (*drs.DisconnectSourceServerOutput, error) + DisconnectSourceServerRequest(*drs.DisconnectSourceServerInput) (*request.Request, *drs.DisconnectSourceServerOutput) + + GetFailbackReplicationConfiguration(*drs.GetFailbackReplicationConfigurationInput) (*drs.GetFailbackReplicationConfigurationOutput, error) + GetFailbackReplicationConfigurationWithContext(aws.Context, *drs.GetFailbackReplicationConfigurationInput, ...request.Option) (*drs.GetFailbackReplicationConfigurationOutput, error) + GetFailbackReplicationConfigurationRequest(*drs.GetFailbackReplicationConfigurationInput) (*request.Request, *drs.GetFailbackReplicationConfigurationOutput) + + GetLaunchConfiguration(*drs.GetLaunchConfigurationInput) (*drs.GetLaunchConfigurationOutput, error) + GetLaunchConfigurationWithContext(aws.Context, *drs.GetLaunchConfigurationInput, ...request.Option) (*drs.GetLaunchConfigurationOutput, error) + GetLaunchConfigurationRequest(*drs.GetLaunchConfigurationInput) (*request.Request, *drs.GetLaunchConfigurationOutput) + + GetReplicationConfiguration(*drs.GetReplicationConfigurationInput) (*drs.GetReplicationConfigurationOutput, error) + GetReplicationConfigurationWithContext(aws.Context, *drs.GetReplicationConfigurationInput, ...request.Option) (*drs.GetReplicationConfigurationOutput, error) + GetReplicationConfigurationRequest(*drs.GetReplicationConfigurationInput) (*request.Request, *drs.GetReplicationConfigurationOutput) + + InitializeService(*drs.InitializeServiceInput) (*drs.InitializeServiceOutput, error) + InitializeServiceWithContext(aws.Context, *drs.InitializeServiceInput, ...request.Option) (*drs.InitializeServiceOutput, error) + InitializeServiceRequest(*drs.InitializeServiceInput) (*request.Request, *drs.InitializeServiceOutput) + + ListTagsForResource(*drs.ListTagsForResourceInput) (*drs.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *drs.ListTagsForResourceInput, ...request.Option) (*drs.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*drs.ListTagsForResourceInput) (*request.Request, *drs.ListTagsForResourceOutput) + + RetryDataReplication(*drs.RetryDataReplicationInput) (*drs.RetryDataReplicationOutput, error) + RetryDataReplicationWithContext(aws.Context, *drs.RetryDataReplicationInput, ...request.Option) (*drs.RetryDataReplicationOutput, error) + RetryDataReplicationRequest(*drs.RetryDataReplicationInput) (*request.Request, *drs.RetryDataReplicationOutput) + + StartFailbackLaunch(*drs.StartFailbackLaunchInput) (*drs.StartFailbackLaunchOutput, error) + StartFailbackLaunchWithContext(aws.Context, *drs.StartFailbackLaunchInput, ...request.Option) (*drs.StartFailbackLaunchOutput, error) + StartFailbackLaunchRequest(*drs.StartFailbackLaunchInput) (*request.Request, *drs.StartFailbackLaunchOutput) + + StartRecovery(*drs.StartRecoveryInput) (*drs.StartRecoveryOutput, error) + StartRecoveryWithContext(aws.Context, *drs.StartRecoveryInput, ...request.Option) (*drs.StartRecoveryOutput, error) + StartRecoveryRequest(*drs.StartRecoveryInput) (*request.Request, *drs.StartRecoveryOutput) + + StopFailback(*drs.StopFailbackInput) (*drs.StopFailbackOutput, error) + StopFailbackWithContext(aws.Context, *drs.StopFailbackInput, ...request.Option) (*drs.StopFailbackOutput, error) + StopFailbackRequest(*drs.StopFailbackInput) (*request.Request, *drs.StopFailbackOutput) + + TagResource(*drs.TagResourceInput) (*drs.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *drs.TagResourceInput, ...request.Option) (*drs.TagResourceOutput, error) + TagResourceRequest(*drs.TagResourceInput) (*request.Request, *drs.TagResourceOutput) + + TerminateRecoveryInstances(*drs.TerminateRecoveryInstancesInput) (*drs.TerminateRecoveryInstancesOutput, error) + TerminateRecoveryInstancesWithContext(aws.Context, *drs.TerminateRecoveryInstancesInput, ...request.Option) (*drs.TerminateRecoveryInstancesOutput, error) + TerminateRecoveryInstancesRequest(*drs.TerminateRecoveryInstancesInput) (*request.Request, *drs.TerminateRecoveryInstancesOutput) + + UntagResource(*drs.UntagResourceInput) (*drs.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *drs.UntagResourceInput, ...request.Option) (*drs.UntagResourceOutput, error) + UntagResourceRequest(*drs.UntagResourceInput) (*request.Request, *drs.UntagResourceOutput) + + UpdateFailbackReplicationConfiguration(*drs.UpdateFailbackReplicationConfigurationInput) (*drs.UpdateFailbackReplicationConfigurationOutput, error) + UpdateFailbackReplicationConfigurationWithContext(aws.Context, *drs.UpdateFailbackReplicationConfigurationInput, ...request.Option) (*drs.UpdateFailbackReplicationConfigurationOutput, error) + UpdateFailbackReplicationConfigurationRequest(*drs.UpdateFailbackReplicationConfigurationInput) (*request.Request, *drs.UpdateFailbackReplicationConfigurationOutput) + + UpdateLaunchConfiguration(*drs.UpdateLaunchConfigurationInput) (*drs.UpdateLaunchConfigurationOutput, error) + UpdateLaunchConfigurationWithContext(aws.Context, *drs.UpdateLaunchConfigurationInput, ...request.Option) (*drs.UpdateLaunchConfigurationOutput, error) + UpdateLaunchConfigurationRequest(*drs.UpdateLaunchConfigurationInput) (*request.Request, *drs.UpdateLaunchConfigurationOutput) + + UpdateReplicationConfiguration(*drs.UpdateReplicationConfigurationInput) (*drs.UpdateReplicationConfigurationOutput, error) + UpdateReplicationConfigurationWithContext(aws.Context, *drs.UpdateReplicationConfigurationInput, ...request.Option) (*drs.UpdateReplicationConfigurationOutput, error) + UpdateReplicationConfigurationRequest(*drs.UpdateReplicationConfigurationInput) (*request.Request, *drs.UpdateReplicationConfigurationOutput) + + UpdateReplicationConfigurationTemplate(*drs.UpdateReplicationConfigurationTemplateInput) (*drs.UpdateReplicationConfigurationTemplateOutput, error) + UpdateReplicationConfigurationTemplateWithContext(aws.Context, *drs.UpdateReplicationConfigurationTemplateInput, ...request.Option) (*drs.UpdateReplicationConfigurationTemplateOutput, error) + UpdateReplicationConfigurationTemplateRequest(*drs.UpdateReplicationConfigurationTemplateInput) (*request.Request, *drs.UpdateReplicationConfigurationTemplateOutput) +} + +var _ DrsAPI = (*drs.Drs)(nil) diff --git a/service/drs/errors.go b/service/drs/errors.go new file mode 100644 index 0000000000..8477502bb8 --- /dev/null +++ b/service/drs/errors.go @@ -0,0 +1,71 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package drs + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // TYou do not have sufficient access to perform this action. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // The request could not be completed due to a conflict with the current state + // of the target resource. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // The request processing has failed because of an unknown error, exception + // or failure. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The resource for this operation was not found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // The request could not be completed because its exceeded the service quota. + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // The request was denied due to request throttling. + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeUninitializedAccountException for service response error code + // "UninitializedAccountException". + // + // The account performing the request has not been initialized. + ErrCodeUninitializedAccountException = "UninitializedAccountException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // The input fails to satisfy the constraints specified by the AWS service. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "ThrottlingException": newErrorThrottlingException, + "UninitializedAccountException": newErrorUninitializedAccountException, + "ValidationException": newErrorValidationException, +} diff --git a/service/drs/service.go b/service/drs/service.go new file mode 100644 index 0000000000..f3adc6d7a7 --- /dev/null +++ b/service/drs/service.go @@ -0,0 +1,105 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package drs + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// Drs provides the API operation methods for making requests to +// Elastic Disaster Recovery Service. See this package's package overview docs +// for details on the service. +// +// Drs methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type Drs struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "drs" // Name of service. + EndpointsID = ServiceName // ID to lookup a service endpoint with. + ServiceID = "drs" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the Drs client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// mySession := session.Must(session.NewSession()) +// +// // Create a Drs client from just a session. +// svc := drs.New(mySession) +// +// // Create a Drs client with additional configuration +// svc := drs.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *Drs { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "drs" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *Drs { + svc := &Drs{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2020-02-26", + ResolvedRegion: resolvedRegion, + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a Drs operation and runs any +// custom request initialization. +func (c *Drs) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/redshiftdataapiservice/api.go b/service/redshiftdataapiservice/api.go index eb32b095ea..a959dd442d 100644 --- a/service/redshiftdataapiservice/api.go +++ b/service/redshiftdataapiservice/api.go @@ -60,13 +60,16 @@ func (c *RedshiftDataAPIService) BatchExecuteStatementRequest(input *BatchExecut // (DML) or data definition language (DDL). Depending on the authorization method, // use one of the following combinations of request parameters: // -// * Secrets Manager - specify the Amazon Resource Name (ARN) of the secret, -// the database name, and the cluster identifier that matches the cluster -// in the secret. +// * Secrets Manager - when connecting to a cluster, specify the Amazon Resource +// Name (ARN) of the secret, the database name, and the cluster identifier +// that matches the cluster in the secret. When connecting to a serverless +// endpoint, specify the Amazon Resource Name (ARN) of the secret and the +// database name. // -// * Temporary credentials - specify the cluster identifier, the database -// name, and the database user name. Permission to call the redshift:GetClusterCredentials -// operation is required to use this method. +// * Temporary credentials - when connecting to a cluster, specify the cluster +// identifier, the database name, and the database user name. Also, permission +// to call the redshift:GetClusterCredentials operation is required. When +// connecting to a serverless endpoint, specify the database name. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -170,6 +173,9 @@ func (c *RedshiftDataAPIService) CancelStatementRequest(input *CancelStatementIn // * InternalServerException // The Amazon Redshift Data API operation failed due to invalid input. // +// * DatabaseConnectionException +// Connection to a database failed. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/CancelStatement func (c *RedshiftDataAPIService) CancelStatement(input *CancelStatementInput) (*CancelStatementOutput, error) { req, out := c.CancelStatementRequest(input) @@ -335,13 +341,16 @@ func (c *RedshiftDataAPIService) DescribeTableRequest(input *DescribeTableInput) // the column list. Depending on the authorization method, use one of the following // combinations of request parameters: // -// * Secrets Manager - specify the Amazon Resource Name (ARN) of the secret, -// the database name, and the cluster identifier that matches the cluster -// in the secret. +// * Secrets Manager - when connecting to a cluster, specify the Amazon Resource +// Name (ARN) of the secret, the database name, and the cluster identifier +// that matches the cluster in the secret. When connecting to a serverless +// endpoint, specify the Amazon Resource Name (ARN) of the secret and the +// database name. // -// * Temporary credentials - specify the cluster identifier, the database -// name, and the database user name. Permission to call the redshift:GetClusterCredentials -// operation is required to use this method. +// * Temporary credentials - when connecting to a cluster, specify the cluster +// identifier, the database name, and the database user name. Also, permission +// to call the redshift:GetClusterCredentials operation is required. When +// connecting to a serverless endpoint, specify the database name. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -357,6 +366,9 @@ func (c *RedshiftDataAPIService) DescribeTableRequest(input *DescribeTableInput) // * InternalServerException // The Amazon Redshift Data API operation failed due to invalid input. // +// * DatabaseConnectionException +// Connection to a database failed. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/DescribeTable func (c *RedshiftDataAPIService) DescribeTable(input *DescribeTableInput) (*DescribeTableOutput, error) { req, out := c.DescribeTableRequest(input) @@ -480,13 +492,16 @@ func (c *RedshiftDataAPIService) ExecuteStatementRequest(input *ExecuteStatement // Depending on the authorization method, use one of the following combinations // of request parameters: // -// * Secrets Manager - specify the Amazon Resource Name (ARN) of the secret, -// the database name, and the cluster identifier that matches the cluster -// in the secret. +// * Secrets Manager - when connecting to a cluster, specify the Amazon Resource +// Name (ARN) of the secret, the database name, and the cluster identifier +// that matches the cluster in the secret. When connecting to a serverless +// endpoint, specify the Amazon Resource Name (ARN) of the secret and the +// database name. // -// * Temporary credentials - specify the cluster identifier, the database -// name, and the database user name. Permission to call the redshift:GetClusterCredentials -// operation is required to use this method. +// * Temporary credentials - when connecting to a cluster, specify the cluster +// identifier, the database name, and the database user name. Also, permission +// to call the redshift:GetClusterCredentials operation is required. When +// connecting to a serverless endpoint, specify the database name. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -725,13 +740,16 @@ func (c *RedshiftDataAPIService) ListDatabasesRequest(input *ListDatabasesInput) // database list. Depending on the authorization method, use one of the following // combinations of request parameters: // -// * Secrets Manager - specify the Amazon Resource Name (ARN) of the secret, -// the database name, and the cluster identifier that matches the cluster -// in the secret. +// * Secrets Manager - when connecting to a cluster, specify the Amazon Resource +// Name (ARN) of the secret, the database name, and the cluster identifier +// that matches the cluster in the secret. When connecting to a serverless +// endpoint, specify the Amazon Resource Name (ARN) of the secret and the +// database name. // -// * Temporary credentials - specify the cluster identifier, the database -// name, and the database user name. Permission to call the redshift:GetClusterCredentials -// operation is required to use this method. +// * Temporary credentials - when connecting to a cluster, specify the cluster +// identifier, the database name, and the database user name. Also, permission +// to call the redshift:GetClusterCredentials operation is required. When +// connecting to a serverless endpoint, specify the database name. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -747,6 +765,9 @@ func (c *RedshiftDataAPIService) ListDatabasesRequest(input *ListDatabasesInput) // * InternalServerException // The Amazon Redshift Data API operation failed due to invalid input. // +// * DatabaseConnectionException +// Connection to a database failed. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/ListDatabases func (c *RedshiftDataAPIService) ListDatabases(input *ListDatabasesInput) (*ListDatabasesOutput, error) { req, out := c.ListDatabasesRequest(input) @@ -875,13 +896,16 @@ func (c *RedshiftDataAPIService) ListSchemasRequest(input *ListSchemasInput) (re // schema list. Depending on the authorization method, use one of the following // combinations of request parameters: // -// * Secrets Manager - specify the Amazon Resource Name (ARN) of the secret, -// the database name, and the cluster identifier that matches the cluster -// in the secret. +// * Secrets Manager - when connecting to a cluster, specify the Amazon Resource +// Name (ARN) of the secret, the database name, and the cluster identifier +// that matches the cluster in the secret. When connecting to a serverless +// endpoint, specify the Amazon Resource Name (ARN) of the secret and the +// database name. // -// * Temporary credentials - specify the cluster identifier, the database -// name, and the database user name. Permission to call the redshift:GetClusterCredentials -// operation is required to use this method. +// * Temporary credentials - when connecting to a cluster, specify the cluster +// identifier, the database name, and the database user name. Also, permission +// to call the redshift:GetClusterCredentials operation is required. When +// connecting to a serverless endpoint, specify the database name. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -897,6 +921,9 @@ func (c *RedshiftDataAPIService) ListSchemasRequest(input *ListSchemasInput) (re // * InternalServerException // The Amazon Redshift Data API operation failed due to invalid input. // +// * DatabaseConnectionException +// Connection to a database failed. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/ListSchemas func (c *RedshiftDataAPIService) ListSchemas(input *ListSchemasInput) (*ListSchemasOutput, error) { req, out := c.ListSchemasRequest(input) @@ -1167,13 +1194,16 @@ func (c *RedshiftDataAPIService) ListTablesRequest(input *ListTablesInput) (req // to page through the table list. Depending on the authorization method, use // one of the following combinations of request parameters: // -// * Secrets Manager - specify the Amazon Resource Name (ARN) of the secret, -// the database name, and the cluster identifier that matches the cluster -// in the secret. +// * Secrets Manager - when connecting to a cluster, specify the Amazon Resource +// Name (ARN) of the secret, the database name, and the cluster identifier +// that matches the cluster in the secret. When connecting to a serverless +// endpoint, specify the Amazon Resource Name (ARN) of the secret and the +// database name. // -// * Temporary credentials - specify the cluster identifier, the database -// name, and the database user name. Permission to call the redshift:GetClusterCredentials -// operation is required to use this method. +// * Temporary credentials - when connecting to a cluster, specify the cluster +// identifier, the database name, and the database user name. Also, permission +// to call the redshift:GetClusterCredentials operation is required. When +// connecting to a serverless endpoint, specify the database name. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1189,6 +1219,9 @@ func (c *RedshiftDataAPIService) ListTablesRequest(input *ListTablesInput) (req // * InternalServerException // The Amazon Redshift Data API operation failed due to invalid input. // +// * DatabaseConnectionException +// Connection to a database failed. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/ListTables func (c *RedshiftDataAPIService) ListTables(input *ListTablesInput) (*ListTablesOutput, error) { req, out := c.ListTablesRequest(input) @@ -1399,11 +1432,9 @@ func (s *BatchExecuteStatementException) RequestID() string { type BatchExecuteStatementInput struct { _ struct{} `type:"structure"` - // The cluster identifier. This parameter is required when authenticating using - // either Secrets Manager or temporary credentials. - // - // ClusterIdentifier is a required field - ClusterIdentifier *string `type:"string" required:"true"` + // The cluster identifier. This parameter is required when connecting to a cluster + // and authenticating using either Secrets Manager or temporary credentials. + ClusterIdentifier *string `type:"string"` // The name of the database. This parameter is required when authenticating // using either Secrets Manager or temporary credentials. @@ -1411,8 +1442,8 @@ type BatchExecuteStatementInput struct { // Database is a required field Database *string `type:"string" required:"true"` - // The database user name. This parameter is required when authenticating using - // temporary credentials. + // The database user name. This parameter is required when connecting to a cluster + // and authenticating using temporary credentials. DbUser *string `type:"string"` // The name or ARN of the secret that enables access to the database. This parameter @@ -1454,9 +1485,6 @@ func (s BatchExecuteStatementInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *BatchExecuteStatementInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "BatchExecuteStatementInput"} - if s.ClusterIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) - } if s.Database == nil { invalidParams.Add(request.NewErrParamRequired("Database")) } @@ -1518,7 +1546,8 @@ func (s *BatchExecuteStatementInput) SetWithEvent(v bool) *BatchExecuteStatement type BatchExecuteStatementOutput struct { _ struct{} `type:"structure"` - // The cluster identifier. + // The cluster identifier. This parameter is not returned when connecting to + // a serverless endpoint. ClusterIdentifier *string `type:"string"` // The date and time (UTC) the statement was created. @@ -1812,6 +1841,70 @@ func (s *ColumnMetadata) SetTypeName(v string) *ColumnMetadata { return s } +// Connection to a database failed. +type DatabaseConnectionException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DatabaseConnectionException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DatabaseConnectionException) GoString() string { + return s.String() +} + +func newErrorDatabaseConnectionException(v protocol.ResponseMetadata) error { + return &DatabaseConnectionException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DatabaseConnectionException) Code() string { + return "DatabaseConnectionException" +} + +// Message returns the exception's message. +func (s *DatabaseConnectionException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DatabaseConnectionException) OrigErr() error { + return nil +} + +func (s *DatabaseConnectionException) 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 *DatabaseConnectionException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DatabaseConnectionException) RequestID() string { + return s.RespMetadata.RequestID +} + type DescribeStatementInput struct { _ struct{} `type:"structure"` @@ -1886,7 +1979,8 @@ type DescribeStatementOutput struct { Error *string `type:"string"` // A value that indicates whether the statement has a result set. The result - // set can be empty. + // set can be empty. The value is true for an empty result set. The value is + // true if any substatement returns a result set. HasResultSet *bool `type:"boolean"` // The identifier of the SQL statement described. This value is a universally @@ -2077,11 +2171,9 @@ func (s *DescribeStatementOutput) SetUpdatedAt(v time.Time) *DescribeStatementOu type DescribeTableInput struct { _ struct{} `type:"structure"` - // The cluster identifier. This parameter is required when authenticating using - // either Secrets Manager or temporary credentials. - // - // ClusterIdentifier is a required field - ClusterIdentifier *string `type:"string" required:"true"` + // The cluster identifier. This parameter is required when connecting to a cluster + // and authenticating using either Secrets Manager or temporary credentials. + ClusterIdentifier *string `type:"string"` // A database name. The connected database is specified when you connect with // your authentication credentials. @@ -2094,8 +2186,8 @@ type DescribeTableInput struct { // Database is a required field Database *string `type:"string" required:"true"` - // The database user name. This parameter is required when authenticating using - // temporary credentials. + // The database user name. This parameter is required when connecting to a cluster + // and authenticating using temporary credentials. DbUser *string `type:"string"` // The maximum number of tables to return in the response. If more tables exist @@ -2145,9 +2237,6 @@ func (s DescribeTableInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeTableInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeTableInput"} - if s.ClusterIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) - } if s.Database == nil { invalidParams.Add(request.NewErrParamRequired("Database")) } @@ -2338,11 +2427,9 @@ func (s *ExecuteStatementException) RequestID() string { type ExecuteStatementInput struct { _ struct{} `type:"structure"` - // The cluster identifier. This parameter is required when authenticating using - // either Secrets Manager or temporary credentials. - // - // ClusterIdentifier is a required field - ClusterIdentifier *string `type:"string" required:"true"` + // The cluster identifier. This parameter is required when connecting to a cluster + // and authenticating using either Secrets Manager or temporary credentials. + ClusterIdentifier *string `type:"string"` // The name of the database. This parameter is required when authenticating // using either Secrets Manager or temporary credentials. @@ -2350,8 +2437,8 @@ type ExecuteStatementInput struct { // Database is a required field Database *string `type:"string" required:"true"` - // The database user name. This parameter is required when authenticating using - // temporary credentials. + // The database user name. This parameter is required when connecting to a cluster + // and authenticating using temporary credentials. DbUser *string `type:"string"` // The parameters for the SQL statement. @@ -2396,9 +2483,6 @@ func (s ExecuteStatementInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ExecuteStatementInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ExecuteStatementInput"} - if s.ClusterIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) - } if s.Database == nil { invalidParams.Add(request.NewErrParamRequired("Database")) } @@ -2476,7 +2560,8 @@ func (s *ExecuteStatementInput) SetWithEvent(v bool) *ExecuteStatementInput { type ExecuteStatementOutput struct { _ struct{} `type:"structure"` - // The cluster identifier. + // The cluster identifier. This parameter is not returned when connecting to + // a serverless endpoint. ClusterIdentifier *string `type:"string"` // The date and time (UTC) the statement was created. @@ -2827,11 +2912,9 @@ func (s *InternalServerException) RequestID() string { type ListDatabasesInput struct { _ struct{} `type:"structure"` - // The cluster identifier. This parameter is required when authenticating using - // either Secrets Manager or temporary credentials. - // - // ClusterIdentifier is a required field - ClusterIdentifier *string `type:"string" required:"true"` + // The cluster identifier. This parameter is required when connecting to a cluster + // and authenticating using either Secrets Manager or temporary credentials. + ClusterIdentifier *string `type:"string"` // The name of the database. This parameter is required when authenticating // using either Secrets Manager or temporary credentials. @@ -2839,8 +2922,8 @@ type ListDatabasesInput struct { // Database is a required field Database *string `type:"string" required:"true"` - // The database user name. This parameter is required when authenticating using - // temporary credentials. + // The database user name. This parameter is required when connecting to a cluster + // and authenticating using temporary credentials. DbUser *string `type:"string"` // The maximum number of databases to return in the response. If more databases @@ -2881,9 +2964,6 @@ func (s ListDatabasesInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListDatabasesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListDatabasesInput"} - if s.ClusterIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) - } if s.Database == nil { invalidParams.Add(request.NewErrParamRequired("Database")) } @@ -2977,11 +3057,9 @@ func (s *ListDatabasesOutput) SetNextToken(v string) *ListDatabasesOutput { type ListSchemasInput struct { _ struct{} `type:"structure"` - // The cluster identifier. This parameter is required when authenticating using - // either Secrets Manager or temporary credentials. - // - // ClusterIdentifier is a required field - ClusterIdentifier *string `type:"string" required:"true"` + // The cluster identifier. This parameter is required when connecting to a cluster + // and authenticating using either Secrets Manager or temporary credentials. + ClusterIdentifier *string `type:"string"` // A database name. The connected database is specified when you connect with // your authentication credentials. @@ -2994,8 +3072,8 @@ type ListSchemasInput struct { // Database is a required field Database *string `type:"string" required:"true"` - // The database user name. This parameter is required when authenticating using - // temporary credentials. + // The database user name. This parameter is required when connecting to a cluster + // and authenticating using temporary credentials. DbUser *string `type:"string"` // The maximum number of schemas to return in the response. If more schemas @@ -3041,9 +3119,6 @@ func (s ListSchemasInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListSchemasInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListSchemasInput"} - if s.ClusterIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) - } if s.Database == nil { invalidParams.Add(request.NewErrParamRequired("Database")) } @@ -3291,11 +3366,9 @@ func (s *ListStatementsOutput) SetStatements(v []*StatementData) *ListStatements type ListTablesInput struct { _ struct{} `type:"structure"` - // The cluster identifier. This parameter is required when authenticating using - // either Secrets Manager or temporary credentials. - // - // ClusterIdentifier is a required field - ClusterIdentifier *string `type:"string" required:"true"` + // The cluster identifier. This parameter is required when connecting to a cluster + // and authenticating using either Secrets Manager or temporary credentials. + ClusterIdentifier *string `type:"string"` // A database name. The connected database is specified when you connect with // your authentication credentials. @@ -3308,8 +3381,8 @@ type ListTablesInput struct { // Database is a required field Database *string `type:"string" required:"true"` - // The database user name. This parameter is required when authenticating using - // temporary credentials. + // The database user name. This parameter is required when connecting to a cluster + // and authenticating using temporary credentials. DbUser *string `type:"string"` // The maximum number of tables to return in the response. If more tables exist @@ -3366,9 +3439,6 @@ func (s ListTablesInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListTablesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListTablesInput"} - if s.ClusterIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) - } if s.Database == nil { invalidParams.Add(request.NewErrParamRequired("Database")) } @@ -3747,7 +3817,7 @@ type SubStatementData struct { Error *string `type:"string"` // A value that indicates whether the statement has a result set. The result - // set can be empty. + // set can be empty. The value is true for an empty result set. HasResultSet *bool `type:"boolean"` // The identifier of the SQL statement. This value is a universally unique identifier diff --git a/service/redshiftdataapiservice/errors.go b/service/redshiftdataapiservice/errors.go index 73101095fb..9f893dc37a 100644 --- a/service/redshiftdataapiservice/errors.go +++ b/service/redshiftdataapiservice/errors.go @@ -20,6 +20,12 @@ const ( // An SQL statement encountered an environmental error while running. ErrCodeBatchExecuteStatementException = "BatchExecuteStatementException" + // ErrCodeDatabaseConnectionException for service response error code + // "DatabaseConnectionException". + // + // Connection to a database failed. + ErrCodeDatabaseConnectionException = "DatabaseConnectionException" + // ErrCodeExecuteStatementException for service response error code // "ExecuteStatementException". // @@ -48,6 +54,7 @@ const ( var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ActiveStatementsExceededException": newErrorActiveStatementsExceededException, "BatchExecuteStatementException": newErrorBatchExecuteStatementException, + "DatabaseConnectionException": newErrorDatabaseConnectionException, "ExecuteStatementException": newErrorExecuteStatementException, "InternalServerException": newErrorInternalServerException, "ResourceNotFoundException": newErrorResourceNotFoundException, diff --git a/service/sns/api.go b/service/sns/api.go index d50eecb3de..844606701e 100644 --- a/service/sns/api.go +++ b/service/sns/api.go @@ -59,7 +59,7 @@ func (c *SNS) AddPermissionRequest(input *AddPermissionInput) (req *request.Requ // AddPermission API operation for Amazon Simple Notification Service. // // Adds a statement to a topic's access control policy, granting access for -// the specified accounts to the specified actions. +// the specified Amazon Web Services accounts to the specified actions. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -148,8 +148,8 @@ func (c *SNS) CheckIfPhoneNumberIsOptedOutRequest(input *CheckIfPhoneNumberIsOpt // CheckIfPhoneNumberIsOptedOut API operation for Amazon Simple Notification Service. // // 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. +// of receiving SMS messages from your Amazon Web Services 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. @@ -164,7 +164,7 @@ func (c *SNS) CheckIfPhoneNumberIsOptedOutRequest(input *CheckIfPhoneNumberIsOpt // Returned Error Codes: // * ErrCodeThrottledException "Throttled" // Indicates that the rate at which requests have been submitted for this action -// exceeds the limit for your account. +// exceeds the limit for your Amazon Web Services account. // // * ErrCodeInternalErrorException "InternalError" // Indicates an internal service error. @@ -271,9 +271,9 @@ func (c *SNS) ConfirmSubscriptionRequest(input *ConfirmSubscriptionInput) (req * // Indicates that the user has been denied access to the requested resource. // // * ErrCodeFilterPolicyLimitExceededException "FilterPolicyLimitExceeded" -// Indicates that the number of filter polices in your account exceeds the limit. -// To add more filter polices, submit an SNS Limit Increase case in the Amazon -// Web Services Support Center. +// Indicates that the number of filter polices in your Amazon Web Services account +// exceeds the limit. To add more filter polices, submit an Amazon SNS Limit +// Increase case in the Amazon Web Services Support Center. // // See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ConfirmSubscription func (c *SNS) ConfirmSubscription(input *ConfirmSubscriptionInput) (*ConfirmSubscriptionOutput, error) { @@ -355,8 +355,11 @@ func (c *SNS) CreatePlatformApplicationRequest(input *CreatePlatformApplicationI // * 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 APNS and APNS_SANDBOX using certificate credentials, PlatformPrincipal +// is SSL certificate and PlatformCredential is private key. +// +// * For APNS and APNS_SANDBOX using token credentials, PlatformPrincipal +// is signing key ID and PlatformCredential is signing key. // // * For GCM (Firebase Cloud Messaging), there is no PlatformPrincipal and // the PlatformCredential is API key. @@ -554,16 +557,17 @@ func (c *SNS) CreateSMSSandboxPhoneNumberRequest(input *CreateSMSSandboxPhoneNum // CreateSMSSandboxPhoneNumber API operation for Amazon Simple Notification Service. // -// Adds a destination phone number to an account in the SMS sandbox and sends -// a one-time password (OTP) to that phone number. -// -// When you start using Amazon SNS to send SMS messages, your account is in -// the SMS sandbox. The SMS sandbox provides a safe environment for you to try -// Amazon SNS features without risking your reputation as an SMS sender. While -// your account is in the SMS sandbox, you can use all of the features of Amazon -// SNS. However, you can send SMS messages only to verified destination phone -// numbers. For more information, including how to move out of the sandbox to -// send messages without restrictions, see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) +// Adds a destination phone number to an Amazon Web Services account in the +// SMS sandbox and sends a one-time password (OTP) to that phone number. +// +// When you start using Amazon SNS to send SMS messages, your Amazon Web Services +// account is in the SMS sandbox. The SMS sandbox provides a safe environment +// for you to try Amazon SNS features without risking your reputation as an +// SMS sender. While your Amazon Web Services account is in the SMS sandbox, +// you can use all of the features of Amazon SNS. However, you can send SMS +// messages only to verified destination phone numbers. For more information, +// including how to move out of the sandbox to send messages without restrictions, +// see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) // in the Amazon SNS Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -585,15 +589,15 @@ func (c *SNS) CreateSMSSandboxPhoneNumberRequest(input *CreateSMSSandboxPhoneNum // // * ErrCodeOptedOutException "OptedOut" // Indicates that the specified phone number opted out of receiving SMS messages -// from your account. You can't send SMS messages to phone numbers that opt -// out. +// from your Amazon Web Services account. You can't send SMS messages to phone +// numbers that opt out. // // * ErrCodeUserErrorException "UserError" // Indicates that a request parameter does not comply with the associated constraints. // // * ErrCodeThrottledException "Throttled" // Indicates that the rate at which requests have been submitted for this action -// exceeds the limit for your account. +// exceeds the limit for your Amazon Web Services account. // // See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreateSMSSandboxPhoneNumber func (c *SNS) CreateSMSSandboxPhoneNumber(input *CreateSMSSandboxPhoneNumberInput) (*CreateSMSSandboxPhoneNumberOutput, error) { @@ -953,15 +957,17 @@ func (c *SNS) DeleteSMSSandboxPhoneNumberRequest(input *DeleteSMSSandboxPhoneNum // DeleteSMSSandboxPhoneNumber API operation for Amazon Simple Notification Service. // -// Deletes an account's verified or pending phone number from the SMS sandbox. -// -// When you start using Amazon SNS to send SMS messages, your account is in -// the SMS sandbox. The SMS sandbox provides a safe environment for you to try -// Amazon SNS features without risking your reputation as an SMS sender. While -// your account is in the SMS sandbox, you can use all of the features of Amazon -// SNS. However, you can send SMS messages only to verified destination phone -// numbers. For more information, including how to move out of the sandbox to -// send messages without restrictions, see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) +// Deletes an Amazon Web Services account's verified or pending phone number +// from the SMS sandbox. +// +// When you start using Amazon SNS to send SMS messages, your Amazon Web Services +// account is in the SMS sandbox. The SMS sandbox provides a safe environment +// for you to try Amazon SNS features without risking your reputation as an +// SMS sender. While your Amazon Web Services account is in the SMS sandbox, +// you can use all of the features of Amazon SNS. However, you can send SMS +// messages only to verified destination phone numbers. For more information, +// including how to move out of the sandbox to send messages without restrictions, +// see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) // in the Amazon SNS Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -990,7 +996,7 @@ func (c *SNS) DeleteSMSSandboxPhoneNumberRequest(input *DeleteSMSSandboxPhoneNum // // * ErrCodeThrottledException "Throttled" // Indicates that the rate at which requests have been submitted for this action -// exceeds the limit for your account. +// exceeds the limit for your Amazon Web Services account. // // See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/DeleteSMSSandboxPhoneNumber func (c *SNS) DeleteSMSSandboxPhoneNumber(input *DeleteSMSSandboxPhoneNumberInput) (*DeleteSMSSandboxPhoneNumberOutput, error) { @@ -1342,7 +1348,8 @@ func (c *SNS) GetSMSAttributesRequest(input *GetSMSAttributesInput) (req *reques // GetSMSAttributes API operation for Amazon Simple Notification Service. // -// Returns the settings for sending SMS messages from your account. +// Returns the settings for sending SMS messages from your Amazon Web Services +// account. // // These settings are set with the SetSMSAttributes action. // @@ -1356,7 +1363,7 @@ func (c *SNS) GetSMSAttributesRequest(input *GetSMSAttributesInput) (req *reques // Returned Error Codes: // * ErrCodeThrottledException "Throttled" // Indicates that the rate at which requests have been submitted for this action -// exceeds the limit for your account. +// exceeds the limit for your Amazon Web Services account. // // * ErrCodeInternalErrorException "InternalError" // Indicates an internal service error. @@ -1433,15 +1440,17 @@ func (c *SNS) GetSMSSandboxAccountStatusRequest(input *GetSMSSandboxAccountStatu // GetSMSSandboxAccountStatus API operation for Amazon Simple Notification Service. // -// Retrieves the SMS sandbox status for the calling account in the target Region. -// -// When you start using Amazon SNS to send SMS messages, your account is in -// the SMS sandbox. The SMS sandbox provides a safe environment for you to try -// Amazon SNS features without risking your reputation as an SMS sender. While -// your account is in the SMS sandbox, you can use all of the features of Amazon -// SNS. However, you can send SMS messages only to verified destination phone -// numbers. For more information, including how to move out of the sandbox to -// send messages without restrictions, see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) +// Retrieves the SMS sandbox status for the calling Amazon Web Services account +// in the target Amazon Web Services Region. +// +// When you start using Amazon SNS to send SMS messages, your Amazon Web Services +// account is in the SMS sandbox. The SMS sandbox provides a safe environment +// for you to try Amazon SNS features without risking your reputation as an +// SMS sender. While your Amazon Web Services account is in the SMS sandbox, +// you can use all of the features of Amazon SNS. However, you can send SMS +// messages only to verified destination phone numbers. For more information, +// including how to move out of the sandbox to send messages without restrictions, +// see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) // in the Amazon SNS Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1460,7 +1469,7 @@ func (c *SNS) GetSMSSandboxAccountStatusRequest(input *GetSMSSandboxAccountStatu // // * ErrCodeThrottledException "Throttled" // Indicates that the rate at which requests have been submitted for this action -// exceeds the limit for your account. +// exceeds the limit for your Amazon Web Services account. // // See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetSMSSandboxAccountStatus func (c *SNS) GetSMSSandboxAccountStatus(input *GetSMSSandboxAccountStatusInput) (*GetSMSSandboxAccountStatusOutput, error) { @@ -1871,8 +1880,9 @@ func (c *SNS) ListOriginationNumbersRequest(input *ListOriginationNumbersInput) // ListOriginationNumbers API operation for Amazon Simple Notification Service. // -// Lists the calling account's dedicated origination numbers and their metadata. -// For more information about origination numbers, see Origination numbers (https://docs.aws.amazon.com/sns/latest/dg/channels-sms-originating-identities-origination-numbers.html) +// Lists the calling Amazon Web Services account's dedicated origination numbers +// and their metadata. For more information about origination numbers, see Origination +// numbers (https://docs.aws.amazon.com/sns/latest/dg/channels-sms-originating-identities-origination-numbers.html) // in the Amazon SNS Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1891,7 +1901,7 @@ func (c *SNS) ListOriginationNumbersRequest(input *ListOriginationNumbersInput) // // * ErrCodeThrottledException "Throttled" // Indicates that the rate at which requests have been submitted for this action -// exceeds the limit for your account. +// exceeds the limit for your Amazon Web Services account. // // * ErrCodeInvalidParameterException "InvalidParameter" // Indicates that a request parameter does not comply with the associated constraints. @@ -2043,7 +2053,7 @@ func (c *SNS) ListPhoneNumbersOptedOutRequest(input *ListPhoneNumbersOptedOutInp // Returned Error Codes: // * ErrCodeThrottledException "Throttled" // Indicates that the rate at which requests have been submitted for this action -// exceeds the limit for your account. +// exceeds the limit for your Amazon Web Services account. // // * ErrCodeInternalErrorException "InternalError" // Indicates an internal service error. @@ -2330,16 +2340,17 @@ func (c *SNS) ListSMSSandboxPhoneNumbersRequest(input *ListSMSSandboxPhoneNumber // ListSMSSandboxPhoneNumbers API operation for Amazon Simple Notification Service. // -// Lists the calling account's current verified and pending destination phone -// numbers in the SMS sandbox. -// -// When you start using Amazon SNS to send SMS messages, your account is in -// the SMS sandbox. The SMS sandbox provides a safe environment for you to try -// Amazon SNS features without risking your reputation as an SMS sender. While -// your account is in the SMS sandbox, you can use all of the features of Amazon -// SNS. However, you can send SMS messages only to verified destination phone -// numbers. For more information, including how to move out of the sandbox to -// send messages without restrictions, see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) +// Lists the calling Amazon Web Services account's current verified and pending +// destination phone numbers in the SMS sandbox. +// +// When you start using Amazon SNS to send SMS messages, your Amazon Web Services +// account is in the SMS sandbox. The SMS sandbox provides a safe environment +// for you to try Amazon SNS features without risking your reputation as an +// SMS sender. While your Amazon Web Services account is in the SMS sandbox, +// you can use all of the features of Amazon SNS. However, you can send SMS +// messages only to verified destination phone numbers. For more information, +// including how to move out of the sandbox to send messages without restrictions, +// see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) // in the Amazon SNS Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2365,7 +2376,7 @@ func (c *SNS) ListSMSSandboxPhoneNumbersRequest(input *ListSMSSandboxPhoneNumber // // * ErrCodeThrottledException "Throttled" // Indicates that the rate at which requests have been submitted for this action -// exceeds the limit for your account. +// exceeds the limit for your Amazon Web Services account. // // See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListSMSSandboxPhoneNumbers func (c *SNS) ListSMSSandboxPhoneNumbers(input *ListSMSSandboxPhoneNumbersInput) (*ListSMSSandboxPhoneNumbersOutput, error) { @@ -3043,7 +3054,7 @@ func (c *SNS) OptInPhoneNumberRequest(input *OptInPhoneNumberInput) (req *reques // Returned Error Codes: // * ErrCodeThrottledException "Throttled" // Indicates that the rate at which requests have been submitted for this action -// exceeds the limit for your account. +// exceeds the limit for your Amazon Web Services account. // // * ErrCodeInternalErrorException "InternalError" // Indicates an internal service error. @@ -3128,18 +3139,19 @@ func (c *SNS) PublishRequest(input *PublishInput) (req *request.Request, output // 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. +// When a messageId is returned, the message is saved and Amazon SNS immediately +// deliverers it to subscribers. // -// 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 +// To use the Publish action for publishing 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 (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 Region. +// You can publish messages only to topics and endpoints in the same Amazon +// Web Services 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 @@ -3222,6 +3234,175 @@ func (c *SNS) PublishWithContext(ctx aws.Context, input *PublishInput, opts ...r return out, req.Send() } +const opPublishBatch = "PublishBatch" + +// PublishBatchRequest generates a "aws/request.Request" representing the +// client's request for the PublishBatch operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PublishBatch for more information on using the PublishBatch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PublishBatchRequest method. +// req, resp := client.PublishBatchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishBatch +func (c *SNS) PublishBatchRequest(input *PublishBatchInput) (req *request.Request, output *PublishBatchOutput) { + op := &request.Operation{ + Name: opPublishBatch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PublishBatchInput{} + } + + output = &PublishBatchOutput{} + req = c.newRequest(op, input, output) + return +} + +// PublishBatch API operation for Amazon Simple Notification Service. +// +// Publishes up to ten messages to the specified topic. This is a batch version +// of Publish. For FIFO topics, multiple messages within a single batch are +// published in the order they are sent, and messages are deduplicated within +// the batch and across batches for 5 minutes. +// +// The result of publishing each message is reported individually in the response. +// Because the batch request can result in a combination of successful and unsuccessful +// actions, you should check for batch errors even when the call returns an +// HTTP status code of 200. +// +// The maximum allowed individual message size and the maximum total payload +// size (the sum of the individual lengths of all of the batched messages) are +// both 256 KB (262,144 bytes). +// +// Some actions take lists of parameters. These lists are specified using the +// param.n notation. Values of n are integers starting from 1. For example, +// a parameter list with two elements looks like this: +// +// &AttributeName.1=first +// +// &AttributeName.2=second +// +// If you send a batch message to a topic, Amazon SNS publishes the batch message +// to each endpoint that is subscribed to the topic. The format of the batch +// message depends on the notification protocol for each subscribed endpoint. +// +// When a messageId is returned, the batch message is saved and Amazon SNS immediately +// delivers the message to subscribers. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation PublishBatch for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInvalidParameterValueException "ParameterValueInvalid" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// * ErrCodeEndpointDisabledException "EndpointDisabled" +// Exception error indicating endpoint disabled. +// +// * ErrCodePlatformApplicationDisabledException "PlatformApplicationDisabled" +// Exception error indicating platform application disabled. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeBatchEntryIdsNotDistinctException "BatchEntryIdsNotDistinct" +// Two or more batch entries in the request have the same Id. +// +// * ErrCodeBatchRequestTooLongException "BatchRequestTooLong" +// The length of all the batch messages put together is more than the limit. +// +// * ErrCodeEmptyBatchRequestException "EmptyBatchRequest" +// The batch request doesn't contain any entries. +// +// * ErrCodeInvalidBatchEntryIdException "InvalidBatchEntryId" +// The Id of a batch entry in a batch request doesn't abide by the specification. +// +// * ErrCodeTooManyEntriesInBatchRequestException "TooManyEntriesInBatchRequest" +// The batch request contains more entries than permissible. +// +// * ErrCodeKMSDisabledException "KMSDisabled" +// The request was rejected because the specified customer master key (CMK) +// isn't enabled. +// +// * ErrCodeKMSInvalidStateException "KMSInvalidState" +// The request was rejected because the state of the specified resource isn't +// valid for this request. For more information, see How Key State Affects Use +// of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// in the Key Management Service Developer Guide. +// +// * ErrCodeKMSNotFoundException "KMSNotFound" +// The request was rejected because the specified entity or resource can't be +// found. +// +// * ErrCodeKMSOptInRequired "KMSOptInRequired" +// The Amazon Web Services access key ID needs a subscription for the service. +// +// * ErrCodeKMSThrottlingException "KMSThrottling" +// The request was denied due to request throttling. For more information about +// throttling, see Limits (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) +// in the Key Management Service Developer Guide. +// +// * ErrCodeKMSAccessDeniedException "KMSAccessDenied" +// The ciphertext references a key that doesn't exist or that you don't have +// access to. +// +// * ErrCodeInvalidSecurityException "InvalidSecurity" +// The credential signature isn't valid. You must use an HTTPS endpoint and +// sign your request using Signature Version 4. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishBatch +func (c *SNS) PublishBatch(input *PublishBatchInput) (*PublishBatchOutput, error) { + req, out := c.PublishBatchRequest(input) + return out, req.Send() +} + +// PublishBatchWithContext is the same as PublishBatch with the addition of +// the ability to pass a context and additional request options. +// +// See PublishBatch for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) PublishBatchWithContext(ctx aws.Context, input *PublishBatchInput, opts ...request.Option) (*PublishBatchOutput, error) { + req, out := c.PublishBatchRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRemovePermission = "RemovePermission" // RemovePermissionRequest generates a "aws/request.Request" representing the @@ -3564,7 +3745,7 @@ func (c *SNS) SetSMSAttributesRequest(input *SetSMSAttributesInput) (req *reques // // * ErrCodeThrottledException "Throttled" // Indicates that the rate at which requests have been submitted for this action -// exceeds the limit for your account. +// exceeds the limit for your Amazon Web Services account. // // * ErrCodeInternalErrorException "InternalError" // Indicates an internal service error. @@ -3654,9 +3835,9 @@ func (c *SNS) SetSubscriptionAttributesRequest(input *SetSubscriptionAttributesI // Indicates that a request parameter does not comply with the associated constraints. // // * ErrCodeFilterPolicyLimitExceededException "FilterPolicyLimitExceeded" -// Indicates that the number of filter polices in your account exceeds the limit. -// To add more filter polices, submit an SNS Limit Increase case in the Amazon -// Web Services Support Center. +// Indicates that the number of filter polices in your Amazon Web Services account +// exceeds the limit. To add more filter polices, submit an Amazon SNS Limit +// Increase case in the Amazon Web Services Support Center. // // * ErrCodeInternalErrorException "InternalError" // Indicates an internal service error. @@ -3827,8 +4008,9 @@ func (c *SNS) SubscribeRequest(input *SubscribeInput) (req *request.Request, out // Subscribe API operation for Amazon Simple Notification Service. // // 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 account, the -// endpoint owner must run the ConfirmSubscription action to confirm the subscription. +// or email, or if the endpoint and the topic are not in the same Amazon Web +// Services account, the endpoint owner must run 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. @@ -3847,9 +4029,9 @@ func (c *SNS) SubscribeRequest(input *SubscribeInput) (req *request.Request, out // Indicates that the customer already owns the maximum allowed number of subscriptions. // // * ErrCodeFilterPolicyLimitExceededException "FilterPolicyLimitExceeded" -// Indicates that the number of filter polices in your account exceeds the limit. -// To add more filter polices, submit an SNS Limit Increase case in the Amazon -// Web Services Support Center. +// Indicates that the number of filter polices in your Amazon Web Services account +// exceeds the limit. To add more filter polices, submit an Amazon SNS Limit +// Increase case in the Amazon Web Services Support Center. // // * ErrCodeInvalidParameterException "InvalidParameter" // Indicates that a request parameter does not comply with the associated constraints. @@ -3950,9 +4132,9 @@ func (c *SNS) TagResourceRequest(input *TagResourceInput) (req *request.Request, // * A new tag with a key identical to that of an existing tag overwrites // the existing tag. // -// * Tagging actions are limited to 10 TPS per account, per Region. If your -// application requires a higher throughput, file a technical support request -// (https://console.aws.amazon.com/support/home#/case/create?issueType=technical). +// * Tagging actions are limited to 10 TPS per Amazon Web Services account, +// per Amazon Web Services Region. If your application requires a higher +// throughput, file a technical support request (https://console.aws.amazon.com/support/home#/case/create?issueType=technical). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4260,15 +4442,16 @@ func (c *SNS) VerifySMSSandboxPhoneNumberRequest(input *VerifySMSSandboxPhoneNum // VerifySMSSandboxPhoneNumber API operation for Amazon Simple Notification Service. // // Verifies a destination phone number with a one-time password (OTP) for the -// calling account. -// -// When you start using Amazon SNS to send SMS messages, your account is in -// the SMS sandbox. The SMS sandbox provides a safe environment for you to try -// Amazon SNS features without risking your reputation as an SMS sender. While -// your account is in the SMS sandbox, you can use all of the features of Amazon -// SNS. However, you can send SMS messages only to verified destination phone -// numbers. For more information, including how to move out of the sandbox to -// send messages without restrictions, see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) +// calling Amazon Web Services account. +// +// When you start using Amazon SNS to send SMS messages, your Amazon Web Services +// account is in the SMS sandbox. The SMS sandbox provides a safe environment +// for you to try Amazon SNS features without risking your reputation as an +// SMS sender. While your Amazon Web Services account is in the SMS sandbox, +// you can use all of the features of Amazon SNS. However, you can send SMS +// messages only to verified destination phone numbers. For more information, +// including how to move out of the sandbox to send messages without restrictions, +// see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) // in the Amazon SNS Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4297,7 +4480,7 @@ func (c *SNS) VerifySMSSandboxPhoneNumberRequest(input *VerifySMSSandboxPhoneNum // // * ErrCodeThrottledException "Throttled" // Indicates that the rate at which requests have been submitted for this action -// exceeds the limit for your account. +// exceeds the limit for your Amazon Web Services account. // // See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/VerifySMSSandboxPhoneNumber func (c *SNS) VerifySMSSandboxPhoneNumber(input *VerifySMSSandboxPhoneNumberInput) (*VerifySMSSandboxPhoneNumberOutput, error) { @@ -4324,9 +4507,9 @@ func (c *SNS) VerifySMSSandboxPhoneNumberWithContext(ctx aws.Context, input *Ver type AddPermissionInput struct { _ struct{} `type:"structure"` - // The account IDs of the users (principals) who will be given access to the - // specified actions. The users must have account, but do not need to be signed - // up for this service. + // The Amazon Web Services account IDs of the users (principals) who will be + // given access to the specified actions. The users must have Amazon Web Services + // account, but do not need to be signed up for this service. // // AWSAccountId is a required field AWSAccountId []*string `type:"list" required:"true"` @@ -4435,6 +4618,71 @@ func (s AddPermissionOutput) GoString() string { return s.String() } +// Gives a detailed description of failed messages in the batch. +type BatchResultErrorEntry struct { + _ struct{} `type:"structure"` + + // An error code representing why the action failed on this entry. + // + // Code is a required field + Code *string `type:"string" required:"true"` + + // The Id of an entry in a batch request + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // A message explaining why the action failed on this entry. + Message *string `type:"string"` + + // Specifies whether the error happened due to the caller of the batch API action. + // + // SenderFault is a required field + SenderFault *bool `type:"boolean" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchResultErrorEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchResultErrorEntry) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *BatchResultErrorEntry) SetCode(v string) *BatchResultErrorEntry { + s.Code = &v + return s +} + +// SetId sets the Id field's value. +func (s *BatchResultErrorEntry) SetId(v string) *BatchResultErrorEntry { + s.Id = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *BatchResultErrorEntry) SetMessage(v string) *BatchResultErrorEntry { + s.Message = &v + return s +} + +// SetSenderFault sets the SenderFault field's value. +func (s *BatchResultErrorEntry) SetSenderFault(v bool) *BatchResultErrorEntry { + s.SenderFault = &v + return s +} + // The input for the CheckIfPhoneNumberIsOptedOut action. type CheckIfPhoneNumberIsOptedOutInput struct { _ struct{} `type:"structure"` @@ -5358,14 +5606,14 @@ func (s DeleteTopicOutput) GoString() string { return s.String() } -// Endpoint for mobile app and device. +// The endpoint for mobile app and device. type Endpoint struct { _ struct{} `type:"structure"` // Attributes for endpoint. Attributes map[string]*string `type:"map"` - // EndpointArn for mobile app and device. + // The EndpointArn for mobile app and device. EndpointArn *string `type:"string"` } @@ -5545,6 +5793,15 @@ type GetPlatformApplicationAttributesOutput struct { // Attributes include the following: // + // * AppleCertificateExpiryDate – The expiry date of the SSL certificate + // used to configure certificate-based authentication. + // + // * ApplePlatformTeamID – The Apple developer account ID used to configure + // token-based authentication. + // + // * ApplePlatformBundleID – The app identifier used to configure token-based + // authentication. + // // * EventEndpointCreated – Topic ARN to which EndpointCreated event notifications // should be sent. // @@ -5678,7 +5935,7 @@ func (s GetSMSSandboxAccountStatusInput) GoString() string { type GetSMSSandboxAccountStatusOutput struct { _ struct{} `type:"structure"` - // Indicates whether the calling account is in the SMS sandbox. + // Indicates whether the calling Amazon Web Services account is in the SMS sandbox. // // IsInSandbox is a required field IsInSandbox *bool `type:"boolean" required:"true"` @@ -5776,7 +6033,7 @@ type GetSubscriptionAttributesOutput struct { // 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 account ID of the subscription's owner. + // * Owner – The Amazon Web Services 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 @@ -5892,7 +6149,7 @@ type GetTopicAttributesOutput struct { // * DisplayName – The human-readable name used in the From field for notifications // to email and email-json endpoints. // - // * Owner – The account ID of the topic's owner. + // * Owner – The Amazon Web Services account ID of the topic's owner. // // * Policy – The JSON serialization of the topic's access control policy. // @@ -6993,6 +7250,363 @@ func (s *PlatformApplication) SetPlatformApplicationArn(v string) *PlatformAppli return s } +type PublishBatchInput struct { + _ struct{} `type:"structure"` + + // A list of PublishBatch request entries to be sent to the SNS topic. + // + // PublishBatchRequestEntries is a required field + PublishBatchRequestEntries []*PublishBatchRequestEntry `type:"list" required:"true"` + + // The Amazon resource name (ARN) of the topic you want to batch publish to. + // + // TopicArn is a required field + TopicArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PublishBatchInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PublishBatchInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PublishBatchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PublishBatchInput"} + if s.PublishBatchRequestEntries == nil { + invalidParams.Add(request.NewErrParamRequired("PublishBatchRequestEntries")) + } + if s.TopicArn == nil { + invalidParams.Add(request.NewErrParamRequired("TopicArn")) + } + if s.PublishBatchRequestEntries != nil { + for i, v := range s.PublishBatchRequestEntries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PublishBatchRequestEntries", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPublishBatchRequestEntries sets the PublishBatchRequestEntries field's value. +func (s *PublishBatchInput) SetPublishBatchRequestEntries(v []*PublishBatchRequestEntry) *PublishBatchInput { + s.PublishBatchRequestEntries = v + return s +} + +// SetTopicArn sets the TopicArn field's value. +func (s *PublishBatchInput) SetTopicArn(v string) *PublishBatchInput { + s.TopicArn = &v + return s +} + +type PublishBatchOutput struct { + _ struct{} `type:"structure"` + + // A list of failed PublishBatch responses. + Failed []*BatchResultErrorEntry `type:"list"` + + // A list of successful PublishBatch responses. + Successful []*PublishBatchResultEntry `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PublishBatchOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PublishBatchOutput) GoString() string { + return s.String() +} + +// SetFailed sets the Failed field's value. +func (s *PublishBatchOutput) SetFailed(v []*BatchResultErrorEntry) *PublishBatchOutput { + s.Failed = v + return s +} + +// SetSuccessful sets the Successful field's value. +func (s *PublishBatchOutput) SetSuccessful(v []*PublishBatchResultEntry) *PublishBatchOutput { + s.Successful = v + return s +} + +// Contains the details of a single Amazon SNS message along with an Id that +// identifies a message within the batch. +type PublishBatchRequestEntry struct { + _ struct{} `type:"structure"` + + // An identifier for the message in this batch. + // + // The Ids of a batch request must be unique within a request. + // + // This identifier can have up to 80 characters. The following characters are + // accepted: alphanumeric characters, hyphens(-), and underscores (_). + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // The body of the message. + // + // Message is a required field + Message *string `type:"string" required:"true"` + + // Each message attribute consists of a Name, Type, and Value. For more information, + // see Amazon SNS message attributes (https://docs.aws.amazon.com/sns/latest/dg/sns-message-attributes.html) + // in the Amazon SNS Developer Guide. + MessageAttributes map[string]*MessageAttributeValue `locationNameKey:"Name" locationNameValue:"Value" type:"map"` + + // This parameter applies only to FIFO (first-in-first-out) topics. + // + // The token used for deduplication of messages within a 5-minute minimum deduplication + // interval. If a message with a particular MessageDeduplicationId is sent successfully, + // subsequent messages with the same MessageDeduplicationId are accepted successfully + // but aren't delivered. + // + // * Every message must have a unique MessageDeduplicationId. You may provide + // a MessageDeduplicationId explicitly. If you aren't able to provide a MessageDeduplicationId + // and you enable ContentBasedDeduplication for your topic, Amazon SNS uses + // a SHA-256 hash to generate the MessageDeduplicationId using the body of + // the message (but not the attributes of the message). If you don't provide + // a MessageDeduplicationId and the topic doesn't have ContentBasedDeduplication + // set, the action fails with an error. If the topic has a ContentBasedDeduplication + // set, your MessageDeduplicationId overrides the generated one. + // + // * 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 you send one message with ContentBasedDeduplication enabled, and + // then another message with a MessageDeduplicationId that is the same as + // the one generated for the first MessageDeduplicationId, the two messages + // are treated as duplicates and only one copy of the message is delivered. + // + // The MessageDeduplicationId is available to the consumer of the message (this + // can be useful for troubleshooting delivery issues). + // + // If a message is sent successfully but the acknowledgement is lost and the + // message is resent with the same MessageDeduplicationId after the deduplication + // interval, Amazon SNS can't detect duplicate messages. + // + // Amazon SNS continues to keep track of the message deduplication ID even after + // the message is received and deleted. + // + // The length of MessageDeduplicationId is 128 characters. + // + // MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) + // and punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). + MessageDeduplicationId *string `type:"string"` + + // This parameter applies only to FIFO (first-in-first-out) topics. + // + // The tag that specifies that a message belongs to a specific message group. + // Messages that belong to the same message group are processed in a FIFO manner + // (however, messages in different message groups might be processed out of + // order). To interleave multiple ordered streams within a single topic, use + // MessageGroupId values (for example, session data for multiple users). In + // this scenario, multiple consumers can process the topic, but the session + // data of each user is processed in a FIFO fashion. + // + // You must associate a non-empty MessageGroupId with a message. If you don't + // provide a MessageGroupId, the action fails. + // + // The length of MessageGroupId is 128 characters. + // + // MessageGroupId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation + // (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). + // + // MessageGroupId is required for FIFO topics. You can't use it for standard + // topics. + MessageGroupId *string `type:"string"` + + // Set MessageStructure to json if you want to send a different message for + // each protocol. For example, using one publish action, you can send a short + // message to your SMS subscribers and a longer message to your email subscribers. + // If you set MessageStructure to json, the value of the Message parameter must: + // + // * be a syntactically valid JSON object; and + // + // * contain at least a top-level JSON key of "default" with a value that + // is a string. + // + // You can define other top-level keys that define the message you want to send + // to a specific transport protocol (e.g. http). + MessageStructure *string `type:"string"` + + // The subject of the batch message. + Subject *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PublishBatchRequestEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PublishBatchRequestEntry) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PublishBatchRequestEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PublishBatchRequestEntry"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Message == nil { + invalidParams.Add(request.NewErrParamRequired("Message")) + } + if s.MessageAttributes != nil { + for i, v := range s.MessageAttributes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MessageAttributes", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *PublishBatchRequestEntry) SetId(v string) *PublishBatchRequestEntry { + s.Id = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *PublishBatchRequestEntry) SetMessage(v string) *PublishBatchRequestEntry { + s.Message = &v + return s +} + +// SetMessageAttributes sets the MessageAttributes field's value. +func (s *PublishBatchRequestEntry) SetMessageAttributes(v map[string]*MessageAttributeValue) *PublishBatchRequestEntry { + s.MessageAttributes = v + return s +} + +// SetMessageDeduplicationId sets the MessageDeduplicationId field's value. +func (s *PublishBatchRequestEntry) SetMessageDeduplicationId(v string) *PublishBatchRequestEntry { + s.MessageDeduplicationId = &v + return s +} + +// SetMessageGroupId sets the MessageGroupId field's value. +func (s *PublishBatchRequestEntry) SetMessageGroupId(v string) *PublishBatchRequestEntry { + s.MessageGroupId = &v + return s +} + +// SetMessageStructure sets the MessageStructure field's value. +func (s *PublishBatchRequestEntry) SetMessageStructure(v string) *PublishBatchRequestEntry { + s.MessageStructure = &v + return s +} + +// SetSubject sets the Subject field's value. +func (s *PublishBatchRequestEntry) SetSubject(v string) *PublishBatchRequestEntry { + s.Subject = &v + return s +} + +// Encloses data related to a successful message in a batch request for topic. +type PublishBatchResultEntry struct { + _ struct{} `type:"structure"` + + // The Id of an entry in a batch request. + Id *string `type:"string"` + + // An identifier for the message. + MessageId *string `type:"string"` + + // This parameter applies only to FIFO (first-in-first-out) topics. + // + // The large, non-consecutive number that Amazon SNS assigns to each message. + // + // The length of SequenceNumber is 128 bits. SequenceNumber continues to increase + // for a particular MessageGroupId. + SequenceNumber *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PublishBatchResultEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PublishBatchResultEntry) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *PublishBatchResultEntry) SetId(v string) *PublishBatchResultEntry { + s.Id = &v + return s +} + +// SetMessageId sets the MessageId field's value. +func (s *PublishBatchResultEntry) SetMessageId(v string) *PublishBatchResultEntry { + s.MessageId = &v + return s +} + +// SetSequenceNumber sets the SequenceNumber field's value. +func (s *PublishBatchResultEntry) SetSequenceNumber(v string) *PublishBatchResultEntry { + s.SequenceNumber = &v + return s +} + // Input for Publish action. type PublishInput struct { _ struct{} `type:"structure"` @@ -7342,13 +7956,14 @@ func (s RemovePermissionOutput) GoString() string { // A verified or pending destination phone number in the SMS sandbox. // -// When you start using Amazon SNS to send SMS messages, your account is in -// the SMS sandbox. The SMS sandbox provides a safe environment for you to try -// Amazon SNS features without risking your reputation as an SMS sender. While -// your account is in the SMS sandbox, you can use all of the features of Amazon -// SNS. However, you can send SMS messages only to verified destination phone -// numbers. For more information, including how to move out of the sandbox to -// send messages without restrictions, see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) +// When you start using Amazon SNS to send SMS messages, your Amazon Web Services +// account is in the SMS sandbox. The SMS sandbox provides a safe environment +// for you to try Amazon SNS features without risking your reputation as an +// SMS sender. While your Amazon Web Services account is in the SMS sandbox, +// you can use all of the features of Amazon SNS. However, you can send SMS +// messages only to verified destination phone numbers. For more information, +// including how to move out of the sandbox to send messages without restrictions, +// see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) // in the Amazon SNS Developer Guide. type SMSSandboxPhoneNumber struct { _ struct{} `type:"structure"` @@ -7494,14 +8109,16 @@ type SetPlatformApplicationAttributesInput struct { // 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. + // service. For ADM, PlatformCredentialis client secret. For Apple Services + // using certificate credentials, PlatformCredential is private key. For + // Apple Services using token credentials, PlatformCredential is signing + // key. For GCM (Firebase Cloud Messaging), PlatformCredential is API key. // // * 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. + // For ADM, PlatformPrincipalis client id. For Apple Services using certificate + // credentials, PlatformPrincipal is SSL certificate. For Apple Services + // using token credentials, PlatformPrincipal is signing key ID. For GCM + // (Firebase Cloud Messaging), there is no PlatformPrincipal. // // * EventEndpointCreated – Topic ARN to which EndpointCreated event notifications // are sent. @@ -7525,6 +8142,14 @@ type SetPlatformApplicationAttributesInput struct { // * SuccessFeedbackSampleRate – Sample rate percentage (0-100) of successfully // delivered messages. // + // The following attributes only apply to APNs token-based authentication: + // + // * ApplePlatformTeamID – The identifier that's assigned to your Apple + // developer account team. + // + // * ApplePlatformBundleID – The bundle identifier that's assigned to your + // iOS app. + // // Attributes is a required field Attributes map[string]*string `type:"map" required:"true"` @@ -7606,8 +8231,8 @@ func (s SetPlatformApplicationAttributesOutput) GoString() string { type SetSMSAttributesInput struct { _ struct{} `type:"structure"` - // The default settings for sending SMS messages from your account. You can - // set values for the following attribute names: + // The default settings for sending SMS messages from your Amazon Web Services + // 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 @@ -7654,7 +8279,8 @@ type SetSMSAttributesInput struct { // 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: + // for each SMS message that was successfully delivered by your Amazon Web Services + // account: // // * Time that the message was published (in UTC) // diff --git a/service/sns/errors.go b/service/sns/errors.go index 5843f4d8d9..979eee05e1 100644 --- a/service/sns/errors.go +++ b/service/sns/errors.go @@ -10,6 +10,18 @@ const ( // Indicates that the user has been denied access to the requested resource. ErrCodeAuthorizationErrorException = "AuthorizationError" + // ErrCodeBatchEntryIdsNotDistinctException for service response error code + // "BatchEntryIdsNotDistinct". + // + // Two or more batch entries in the request have the same Id. + ErrCodeBatchEntryIdsNotDistinctException = "BatchEntryIdsNotDistinct" + + // ErrCodeBatchRequestTooLongException for service response error code + // "BatchRequestTooLong". + // + // The length of all the batch messages put together is more than the limit. + ErrCodeBatchRequestTooLongException = "BatchRequestTooLong" + // ErrCodeConcurrentAccessException for service response error code // "ConcurrentAccess". // @@ -17,6 +29,12 @@ const ( // sequentially. ErrCodeConcurrentAccessException = "ConcurrentAccess" + // ErrCodeEmptyBatchRequestException for service response error code + // "EmptyBatchRequest". + // + // The batch request doesn't contain any entries. + ErrCodeEmptyBatchRequestException = "EmptyBatchRequest" + // ErrCodeEndpointDisabledException for service response error code // "EndpointDisabled". // @@ -26,9 +44,9 @@ const ( // ErrCodeFilterPolicyLimitExceededException for service response error code // "FilterPolicyLimitExceeded". // - // Indicates that the number of filter polices in your account exceeds the limit. - // To add more filter polices, submit an SNS Limit Increase case in the Amazon - // Web Services Support Center. + // Indicates that the number of filter polices in your Amazon Web Services account + // exceeds the limit. To add more filter polices, submit an Amazon SNS Limit + // Increase case in the Amazon Web Services Support Center. ErrCodeFilterPolicyLimitExceededException = "FilterPolicyLimitExceeded" // ErrCodeInternalErrorException for service response error code @@ -37,6 +55,12 @@ const ( // Indicates an internal service error. ErrCodeInternalErrorException = "InternalError" + // ErrCodeInvalidBatchEntryIdException for service response error code + // "InvalidBatchEntryId". + // + // The Id of a batch entry in a batch request doesn't abide by the specification. + ErrCodeInvalidBatchEntryIdException = "InvalidBatchEntryId" + // ErrCodeInvalidParameterException for service response error code // "InvalidParameter". // @@ -110,8 +134,8 @@ const ( // "OptedOut". // // Indicates that the specified phone number opted out of receiving SMS messages - // from your account. You can't send SMS messages to phone numbers that opt - // out. + // from your Amazon Web Services account. You can't send SMS messages to phone + // numbers that opt out. ErrCodeOptedOutException = "OptedOut" // ErrCodePlatformApplicationDisabledException for service response error code @@ -157,9 +181,15 @@ const ( // "Throttled". // // Indicates that the rate at which requests have been submitted for this action - // exceeds the limit for your account. + // exceeds the limit for your Amazon Web Services account. ErrCodeThrottledException = "Throttled" + // ErrCodeTooManyEntriesInBatchRequestException for service response error code + // "TooManyEntriesInBatchRequest". + // + // The batch request contains more entries than permissible. + ErrCodeTooManyEntriesInBatchRequestException = "TooManyEntriesInBatchRequest" + // ErrCodeTopicLimitExceededException for service response error code // "TopicLimitExceeded". // diff --git a/service/sns/snsiface/interface.go b/service/sns/snsiface/interface.go index 4b6b4b7852..e8e4ba3ce5 100644 --- a/service/sns/snsiface/interface.go +++ b/service/sns/snsiface/interface.go @@ -196,6 +196,10 @@ type SNSAPI interface { PublishWithContext(aws.Context, *sns.PublishInput, ...request.Option) (*sns.PublishOutput, error) PublishRequest(*sns.PublishInput) (*request.Request, *sns.PublishOutput) + PublishBatch(*sns.PublishBatchInput) (*sns.PublishBatchOutput, error) + PublishBatchWithContext(aws.Context, *sns.PublishBatchInput, ...request.Option) (*sns.PublishBatchOutput, error) + PublishBatchRequest(*sns.PublishBatchInput) (*request.Request, *sns.PublishBatchOutput) + RemovePermission(*sns.RemovePermissionInput) (*sns.RemovePermissionOutput, error) RemovePermissionWithContext(aws.Context, *sns.RemovePermissionInput, ...request.Option) (*sns.RemovePermissionOutput, error) RemovePermissionRequest(*sns.RemovePermissionInput) (*request.Request, *sns.RemovePermissionOutput)