From 21179e4c26d338f6e01529c9202fa243cc7eafef Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Tue, 8 Aug 2023 14:17:40 -0400 Subject: [PATCH] Release v1.44.319 (2023-08-08) (#4943) Release v1.44.319 (2023-08-08) === ### Service Client Updates * `service/backup`: Updates service API, documentation, and paginators * `service/elasticache`: Updates service API and documentation * Added support for cluster mode in online migration and test migration API * `service/servicecatalog`: Updates service API and documentation * Introduce support for HashiCorp Terraform Cloud in Service Catalog by addying TERRAFORM_CLOUD product type in CreateProduct and CreateProvisioningArtifact API. --- CHANGELOG.md | 10 + aws/endpoints/defaults.go | 34 + aws/version.go | 2 +- models/apis/backup/2018-11-15/api-2.json | 139 ++++ models/apis/backup/2018-11-15/docs-2.json | 68 +- .../apis/backup/2018-11-15/paginators-1.json | 6 + models/apis/elasticache/2015-02-02/api-2.json | 35 + .../apis/elasticache/2015-02-02/docs-2.json | 22 +- .../apis/servicecatalog/2015-12-10/api-2.json | 6 +- .../servicecatalog/2015-12-10/docs-2.json | 24 +- .../2015-12-10/endpoint-rule-set-1.json | 344 ++++----- models/endpoints/endpoints.json | 21 + service/backup/api.go | 668 +++++++++++++++++- service/backup/backupiface/interface.go | 11 + service/elasticache/api.go | 182 ++++- .../elasticache/elasticacheiface/interface.go | 4 + service/servicecatalog/api.go | 53 +- 17 files changed, 1386 insertions(+), 243 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 38839f73bf4..59d65d4fabe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +Release v1.44.319 (2023-08-08) +=== + +### Service Client Updates +* `service/backup`: Updates service API, documentation, and paginators +* `service/elasticache`: Updates service API and documentation + * Added support for cluster mode in online migration and test migration API +* `service/servicecatalog`: Updates service API and documentation + * Introduce support for HashiCorp Terraform Cloud in Service Catalog by addying TERRAFORM_CLOUD product type in CreateProduct and CreateProvisioningArtifact API. + Release v1.44.318 (2023-08-07) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 0edfffb0fbb..9526b186f82 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -10442,6 +10442,15 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "fips-il-central-1", + }: endpoint{ + Hostname: "elasticfilesystem-fips.il-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "il-central-1", + }, + Deprecated: boxedTrue, + }, endpointKey{ Region: "fips-me-central-1", }: endpoint{ @@ -10505,6 +10514,15 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "il-central-1", + }: endpoint{}, + endpointKey{ + Region: "il-central-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "elasticfilesystem-fips.il-central-1.amazonaws.com", + }, endpointKey{ Region: "me-central-1", }: endpoint{}, @@ -17196,6 +17214,9 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "il-central-1", + }: endpoint{}, endpointKey{ Region: "me-central-1", }: endpoint{}, @@ -25257,6 +25278,9 @@ var awsPartition = partition{ endpointKey{ Region: "eu-west-3", }: endpoint{}, + endpointKey{ + Region: "il-central-1", + }: endpoint{}, endpointKey{ Region: "me-central-1", }: endpoint{}, @@ -36933,6 +36957,16 @@ var awsusgovPartition = partition{ }, }, }, + "license-manager-linux-subscriptions": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-gov-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-gov-west-1", + }: endpoint{}, + }, + }, "logs": service{ Endpoints: serviceEndpoints{ endpointKey{ diff --git a/aws/version.go b/aws/version.go index dcdba9d8f78..147a067721a 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.44.318" +const SDKVersion = "1.44.319" diff --git a/models/apis/backup/2018-11-15/api-2.json b/models/apis/backup/2018-11-15/api-2.json index 979579bde1b..6e4e3faa740 100644 --- a/models/apis/backup/2018-11-15/api-2.json +++ b/models/apis/backup/2018-11-15/api-2.json @@ -113,6 +113,24 @@ ], "idempotent":true }, + "CreateLogicallyAirGappedBackupVault":{ + "name":"CreateLogicallyAirGappedBackupVault", + "http":{ + "method":"PUT", + "requestUri":"/logically-air-gapped-backup-vaults/{backupVaultName}" + }, + "input":{"shape":"CreateLogicallyAirGappedBackupVaultInput"}, + "output":{"shape":"CreateLogicallyAirGappedBackupVaultOutput"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"LimitExceededException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"} + ], + "idempotent":true + }, "CreateReportPlan":{ "name":"CreateReportPlan", "http":{ @@ -768,6 +786,20 @@ ], "idempotent":true }, + "ListProtectedResourcesByBackupVault":{ + "name":"ListProtectedResourcesByBackupVault", + "http":{ + "method":"GET", + "requestUri":"/backup-vaults/{backupVaultName}/resources/" + }, + "input":{"shape":"ListProtectedResourcesByBackupVaultInput"}, + "output":{"shape":"ListProtectedResourcesByBackupVaultOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"} + ] + }, "ListRecoveryPointsByBackupVault":{ "name":"ListRecoveryPointsByBackupVault", "http":{ @@ -1699,6 +1731,34 @@ "RecoveryPointSelection":{"shape":"RecoveryPointSelection"} } }, + "CreateLogicallyAirGappedBackupVaultInput":{ + "type":"structure", + "required":[ + "BackupVaultName", + "MinRetentionDays", + "MaxRetentionDays" + ], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "location":"uri", + "locationName":"backupVaultName" + }, + "BackupVaultTags":{"shape":"Tags"}, + "CreatorRequestId":{"shape":"string"}, + "MinRetentionDays":{"shape":"Long"}, + "MaxRetentionDays":{"shape":"Long"} + } + }, + "CreateLogicallyAirGappedBackupVaultOutput":{ + "type":"structure", + "members":{ + "BackupVaultName":{"shape":"BackupVaultName"}, + "BackupVaultArn":{"shape":"ARN"}, + "CreationDate":{"shape":"timestamp"}, + "VaultState":{"shape":"VaultState"} + } + }, "CreateReportPlanInput":{ "type":"structure", "required":[ @@ -1922,6 +1982,11 @@ "shape":"string", "location":"uri", "locationName":"backupVaultName" + }, + "BackupVaultAccountId":{ + "shape":"string", + "location":"querystring", + "locationName":"backupVaultAccountId" } } }, @@ -1930,6 +1995,7 @@ "members":{ "BackupVaultName":{"shape":"string"}, "BackupVaultArn":{"shape":"ARN"}, + "VaultType":{"shape":"VaultType"}, "EncryptionKeyArn":{"shape":"ARN"}, "CreationDate":{"shape":"timestamp"}, "CreatorRequestId":{"shape":"string"}, @@ -2029,6 +2095,11 @@ "shape":"ARN", "location":"uri", "locationName":"recoveryPointArn" + }, + "BackupVaultAccountId":{ + "shape":"AccountId", + "location":"querystring", + "locationName":"backupVaultAccountId" } } }, @@ -2404,6 +2475,11 @@ "shape":"ARN", "location":"uri", "locationName":"recoveryPointArn" + }, + "BackupVaultAccountId":{ + "shape":"AccountId", + "location":"querystring", + "locationName":"backupVaultAccountId" } } }, @@ -2683,6 +2759,16 @@ "ListBackupVaultsInput":{ "type":"structure", "members":{ + "ByVaultType":{ + "shape":"VaultType", + "location":"querystring", + "locationName":"vaultType" + }, + "ByShared":{ + "shape":"boolean", + "location":"querystring", + "locationName":"shared" + }, "NextToken":{ "shape":"string", "location":"querystring", @@ -2822,6 +2908,39 @@ "type":"list", "member":{"shape":"Condition"} }, + "ListProtectedResourcesByBackupVaultInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "location":"uri", + "locationName":"backupVaultName" + }, + "BackupVaultAccountId":{ + "shape":"AccountId", + "location":"querystring", + "locationName":"backupVaultAccountId" + }, + "NextToken":{ + "shape":"string", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListProtectedResourcesByBackupVaultOutput":{ + "type":"structure", + "members":{ + "Results":{"shape":"ProtectedResourcesList"}, + "NextToken":{"shape":"string"} + } + }, "ListProtectedResourcesInput":{ "type":"structure", "members":{ @@ -2853,6 +2972,11 @@ "location":"uri", "locationName":"backupVaultName" }, + "BackupVaultAccountId":{ + "shape":"AccountId", + "location":"querystring", + "locationName":"backupVaultAccountId" + }, "NextToken":{ "shape":"string", "location":"querystring", @@ -3717,6 +3841,21 @@ "type":"list", "member":{"shape":"string"} }, + "VaultState":{ + "type":"string", + "enum":[ + "CREATING", + "AVAILABLE", + "FAILED" + ] + }, + "VaultType":{ + "type":"string", + "enum":[ + "BACKUP_VAULT", + "LOGICALLY_AIR_GAPPED_BACKUP_VAULT" + ] + }, "WindowMinutes":{"type":"long"}, "boolean":{"type":"boolean"}, "integer":{"type":"integer"}, diff --git a/models/apis/backup/2018-11-15/docs-2.json b/models/apis/backup/2018-11-15/docs-2.json index a5556bdd4e0..641a0fb7ba5 100644 --- a/models/apis/backup/2018-11-15/docs-2.json +++ b/models/apis/backup/2018-11-15/docs-2.json @@ -8,6 +8,7 @@ "CreateBackupVault": "

Creates a logical container where backups are stored. A CreateBackupVault request includes a name, optionally one or more resource tags, an encryption key, and a request ID.

Do not include sensitive data, such as passport numbers, in the name of a backup vault.

", "CreateFramework": "

Creates a framework with one or more controls. A framework is a collection of controls that you can use to evaluate your backup practices. By using pre-built customizable controls to define your policies, you can evaluate whether your backup practices comply with your policies and which resources are not yet in compliance.

", "CreateLegalHold": "

This action creates a legal hold on a recovery point (backup). A legal hold is a restraint on altering or deleting a backup until an authorized user cancels the legal hold. Any actions to delete or disassociate a recovery point will fail with an error if one or more active legal holds are on the recovery point.

", + "CreateLogicallyAirGappedBackupVault": "

This request creates a logical container where backups are stored.

This request includes a name, optionally one or more resource tags, an encryption key, and a request ID.

Do not include sensitive data, such as passport numbers, in the name of a backup vault.

", "CreateReportPlan": "

Creates a report plan. A report plan is a document that contains information about the contents of the report and where Backup will deliver it.

If you call CreateReportPlan with a plan that already exists, you receive an AlreadyExistsException exception.

", "DeleteBackupPlan": "

Deletes a backup plan. A backup plan can only be deleted after all associated selections of resources have been deleted. Deleting a backup plan deletes the current version of a backup plan. Previous versions, if any, will still exist.

", "DeleteBackupSelection": "

Deletes the resource selection associated with a backup plan that is specified by the SelectionId.

", @@ -51,6 +52,7 @@ "ListFrameworks": "

Returns a list of all frameworks for an Amazon Web Services account and Amazon Web Services Region.

", "ListLegalHolds": "

This action returns metadata about active and previous legal holds.

", "ListProtectedResources": "

Returns an array of resources successfully backed up by Backup, including the time the resource was saved, an Amazon Resource Name (ARN) of the resource, and a resource type.

", + "ListProtectedResourcesByBackupVault": "

This request lists the protected resources corresponding to each backup vault.

", "ListRecoveryPointsByBackupVault": "

Returns detailed information about the recovery points stored in a backup vault.

", "ListRecoveryPointsByLegalHold": "

This action returns recovery point ARNs (Amazon Resource Names) of the specified legal hold.

", "ListRecoveryPointsByResource": "

Returns detailed information about all the recovery points of the type specified by a resource Amazon Resource Name (ARN).

For Amazon EFS and Amazon EC2, this action only lists recovery points created by Backup.

", @@ -96,6 +98,7 @@ "CreateBackupVaultOutput$BackupVaultArn": "

An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

", "CreateFrameworkOutput$FrameworkArn": "

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.

", "CreateLegalHoldOutput$LegalHoldArn": "

This is the ARN (Amazon Resource Number) of the created legal hold.

", + "CreateLogicallyAirGappedBackupVaultOutput$BackupVaultArn": "

This is the ARN (Amazon Resource Name) of the vault being created.

", "CreateReportPlanOutput$ReportPlanArn": "

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.

", "DeleteBackupPlanOutput$BackupPlanArn": "

An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

", "DeleteRecoveryPointInput$RecoveryPointArn": "

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

", @@ -175,9 +178,13 @@ "BackupJob$AccountId": "

The account ID that owns the backup job.

", "CopyJob$AccountId": "

The account ID that owns the copy job.

", "DescribeBackupJobOutput$AccountId": "

Returns the account ID that owns the backup job.

", + "DescribeRecoveryPointInput$BackupVaultAccountId": "

This is the account ID of the specified backup vault.

", "DescribeRestoreJobOutput$AccountId": "

Returns the account ID that owns the restore job.

", + "GetRecoveryPointRestoreMetadataInput$BackupVaultAccountId": "

This is the account ID of the specified backup vault.

", "ListBackupJobsInput$ByAccountId": "

The account ID to list the jobs from. Returns only backup jobs associated with the specified account ID.

If used from an Organizations management account, passing * returns all jobs across the organization.

", "ListCopyJobsInput$ByAccountId": "

The account ID to list the jobs from. Returns only copy jobs associated with the specified account ID.

", + "ListProtectedResourcesByBackupVaultInput$BackupVaultAccountId": "

This is the list of protected resources by backup vault within the vault(s) you specify by account ID.

", + "ListRecoveryPointsByBackupVaultInput$BackupVaultAccountId": "

This parameter will sort the list of recovery points by account ID.

", "ListRestoreJobsInput$ByAccountId": "

The account ID to list the jobs from. Returns only restore jobs associated with the specified account ID.

", "RestoreJobsListMember$AccountId": "

The account ID that owns the restore job.

" } @@ -219,9 +226,9 @@ "BackupJobState": { "base": null, "refs": { - "BackupJob$State": "

The current state of a resource recovery point.

", + "BackupJob$State": "

The current state of a backup job.

", "BackupJobChildJobsInState$key": null, - "DescribeBackupJobOutput$State": "

The current state of a resource recovery point.

", + "DescribeBackupJobOutput$State": "

The current state of a backup job.

", "ListBackupJobsInput$ByState": "

Returns only backup jobs that are in the specified state.

" } }, @@ -397,6 +404,8 @@ "BackupVaultListMember$BackupVaultName": "

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", "CreateBackupVaultInput$BackupVaultName": "

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created. They consist of letters, numbers, and hyphens.

", "CreateBackupVaultOutput$BackupVaultName": "

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "CreateLogicallyAirGappedBackupVaultInput$BackupVaultName": "

This is the name of the vault that is being created.

", + "CreateLogicallyAirGappedBackupVaultOutput$BackupVaultName": "

The name of a logical container where backups are stored. Logically air-gapped backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", "DeleteBackupVaultAccessPolicyInput$BackupVaultName": "

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", "DeleteBackupVaultLockConfigurationInput$BackupVaultName": "

The name of the backup vault from which to delete Backup Vault Lock.

", "DeleteBackupVaultNotificationsInput$BackupVaultName": "

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", @@ -412,6 +421,7 @@ "GetBackupVaultNotificationsOutput$BackupVaultName": "

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", "GetRecoveryPointRestoreMetadataInput$BackupVaultName": "

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", "ListBackupJobsInput$ByBackupVaultName": "

Returns only backup jobs that will be stored in the specified backup vault. Backup vaults are identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "ListProtectedResourcesByBackupVaultInput$BackupVaultName": "

This is the list of protected resources by backup vault within the vault(s) you specify by name.

", "ListRecoveryPointsByBackupVaultInput$BackupVaultName": "

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created. They consist of lowercase letters, numbers, and hyphens.

Backup vault name might not be available when a supported service creates the backup.

", "PutBackupVaultAccessPolicyInput$BackupVaultName": "

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", "PutBackupVaultLockConfigurationInput$BackupVaultName": "

The Backup Vault Lock configuration that specifies the name of the backup vault it protects.

", @@ -624,6 +634,16 @@ "refs": { } }, + "CreateLogicallyAirGappedBackupVaultInput": { + "base": null, + "refs": { + } + }, + "CreateLogicallyAirGappedBackupVaultOutput": { + "base": null, + "refs": { + } + }, "CreateReportPlanInput": { "base": null, "refs": { @@ -1060,11 +1080,11 @@ "base": "

Contains an array of Transition objects specifying how long in days before a recovery point transitions to cold storage or is deleted.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, on the console, the “retention” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

Resource types that are able to be transitioned to cold storage are listed in the \"Lifecycle to cold storage\" section of the Feature availability by resource table. Backup ignores this expression for other resource types.

", "refs": { "BackupRule$Lifecycle": "

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “retention” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

Resource types that are able to be transitioned to cold storage are listed in the \"Lifecycle to cold storage\" section of the Feature availability by resource table. Backup ignores this expression for other resource types.

", - "BackupRuleInput$Lifecycle": "

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup will transition and expire backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “retention” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

Resource types that are able to be transitioned to cold storage are listed in the \"Lifecycle to cold storage\" section of the Feature availability by resource table. Backup ignores this expression for other resource types.

", + "BackupRuleInput$Lifecycle": "

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup will transition and expire backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “retention” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

Resource types that are able to be transitioned to cold storage are listed in the \"Lifecycle to cold storage\" section of the Feature availability by resource table. Backup ignores this expression for other resource types.

This parameter has a maximum value of 100 years (36,500 days).

", "CopyAction$Lifecycle": null, "DescribeRecoveryPointOutput$Lifecycle": "

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups that are transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “retention” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

Resource types that are able to be transitioned to cold storage are listed in the \"Lifecycle to cold storage\" section of the Feature availability by resource table. Backup ignores this expression for other resource types.

", "RecoveryPointByBackupVault$Lifecycle": "

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “retention” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

Resource types that are able to be transitioned to cold storage are listed in the \"Lifecycle to cold storage\" section of the Feature availability by resource table. Backup ignores this expression for other resource types.

", - "StartBackupJobInput$Lifecycle": "

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup will transition and expire backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “retention” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

Resource types that are able to be transitioned to cold storage are listed in the \"Lifecycle to cold storage\" section of the Feature availability by resource table. Backup ignores this expression for other resource types.

", + "StartBackupJobInput$Lifecycle": "

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup will transition and expire backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “retention” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

Resource types that are able to be transitioned to cold storage are listed in the \"Lifecycle to cold storage\" section of the Feature availability by resource table. Backup ignores this expression for other resource types.

This parameter has a maximum value of 100 years (36,500 days).

", "StartCopyJobInput$Lifecycle": null, "UpdateRecoveryPointLifecycleInput$Lifecycle": "

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “retention” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

", "UpdateRecoveryPointLifecycleOutput$Lifecycle": "

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “retention” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

Resource types that are able to be transitioned to cold storage are listed in the \"Lifecycle to cold storage\" section of the Feature availability by resource table. Backup ignores this expression for other resource types.

" @@ -1171,6 +1191,16 @@ "BackupSelection$ListOfTags": "

A list of conditions that you define to assign resources to your backup plans using tags. For example, \"StringEquals\": { \"ConditionKey\": \"aws:ResourceTag/CreatedByCryo\", \"ConditionValue\": \"true\" },. Condition operators are case sensitive.

ListOfTags differs from Conditions as follows:

" } }, + "ListProtectedResourcesByBackupVaultInput": { + "base": null, + "refs": { + } + }, + "ListProtectedResourcesByBackupVaultOutput": { + "base": null, + "refs": { + } + }, "ListProtectedResourcesInput": { "base": null, "refs": { @@ -1263,6 +1293,8 @@ "CopyJob$BackupSizeInBytes": "

The size, in bytes, of a copy job.

", "CopyJob$NumberOfChildJobs": "

This is the number of child (nested) copy jobs.

", "CopyJobChildJobsInState$value": null, + "CreateLogicallyAirGappedBackupVaultInput$MinRetentionDays": "

This setting specifies the minimum retention period that the vault retains its recovery points. If this parameter is not specified, no minimum retention period is enforced.

If specified, any backup or copy job to the vault must have a lifecycle policy with a retention period equal to or longer than the minimum retention period. If a job retention period is shorter than that minimum retention period, then the vault fails the backup or copy job, and you should either modify your lifecycle settings or use a different vault.

", + "CreateLogicallyAirGappedBackupVaultInput$MaxRetentionDays": "

This is the setting that specifies the maximum retention period that the vault retains its recovery points. If this parameter is not specified, Backup does not enforce a maximum retention period on the recovery points in the vault (allowing indefinite storage).

If specified, any backup or copy job to the vault must have a lifecycle policy with a retention period equal to or shorter than the maximum retention period. If the job retention period is longer than that maximum retention period, then the vault fails the backup or copy job, and you should either modify your lifecycle settings or use a different vault.

", "DescribeBackupJobOutput$BackupSizeInBytes": "

The size, in bytes, of a backup.

", "DescribeBackupJobOutput$BytesTransferred": "

The size in bytes transferred to a backup vault at the time that the job status was queried.

", "DescribeBackupJobOutput$NumberOfChildJobs": "

This returns the number of child (nested) backup jobs.

", @@ -1299,6 +1331,7 @@ "ListBackupVaultsInput$MaxResults": "

The maximum number of items to be returned.

", "ListCopyJobsInput$MaxResults": "

The maximum number of items to be returned.

", "ListLegalHoldsInput$MaxResults": "

The maximum number of resource list items to be returned.

", + "ListProtectedResourcesByBackupVaultInput$MaxResults": "

The maximum number of items to be returned.

", "ListProtectedResourcesInput$MaxResults": "

The maximum number of items to be returned.

", "ListRecoveryPointsByBackupVaultInput$MaxResults": "

The maximum number of items to be returned.

", "ListRecoveryPointsByLegalHoldInput$MaxResults": "

This is the maximum number of resource list items to be returned.

", @@ -1354,6 +1387,7 @@ "ProtectedResourcesList": { "base": null, "refs": { + "ListProtectedResourcesByBackupVaultOutput$Results": "

These are the results returned for the request ListProtectedResourcesByBackupVault.

", "ListProtectedResourcesOutput$Results": "

An array of resources successfully backed up by Backup including the time the resource was saved, an Amazon Resource Name (ARN) of the resource, and a resource type.

" } }, @@ -1693,6 +1727,7 @@ "CreateBackupPlanInput$BackupPlanTags": "

To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair. The specified tags are assigned to all backups created with this plan.

", "CreateBackupVaultInput$BackupVaultTags": "

Metadata that you can assign to help organize the resources that you create. Each tag is a key-value pair.

", "CreateLegalHoldInput$Tags": "

Optional tags to include. A tag is a key-value pair you can use to manage, filter, and search for your resources. Allowed characters include UTF-8 letters, numbers, spaces, and the following characters: + - = . _ : /.

", + "CreateLogicallyAirGappedBackupVaultInput$BackupVaultTags": "

These are the tags that will be included in the newly-created vault.

", "ListTagsOutput$Tags": "

To help organize your resources, you can assign your own metadata to the resources you create. Each tag is a key-value pair.

", "StartBackupJobInput$RecoveryPointTags": "

To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair.

", "TagResourceInput$Tags": "

Key-value pairs that are used to help organize your resources. You can assign your own metadata to the resources you create. For clarity, this is the structure to assign tags: [{\"Key\":\"string\",\"Value\":\"string\"}].

" @@ -1759,15 +1794,28 @@ "RecoveryPointSelection$VaultNames": "

These are the names of the vaults in which the selected recovery points are contained.

" } }, + "VaultState": { + "base": null, + "refs": { + "CreateLogicallyAirGappedBackupVaultOutput$VaultState": "

This is the current state of the vault.

" + } + }, + "VaultType": { + "base": null, + "refs": { + "DescribeBackupVaultOutput$VaultType": "

This is the type of vault described.

", + "ListBackupVaultsInput$ByVaultType": "

This parameter will sort the list of vaults by vault type.

" + } + }, "WindowMinutes": { "base": null, "refs": { "BackupRule$StartWindowMinutes": "

A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional. If this value is included, it must be at least 60 minutes to avoid errors.

During the start window, the backup job status remains in CREATED status until it has successfully begun or until the start window time has run out. If within the start window time Backup receives an error that allows the job to be retried, Backup will automatically retry to begin the job at least every 10 minutes until the backup successfully begins (the job status changes to RUNNING) or until the job status changes to EXPIRED (which is expected to occur when the start window time is over).

", "BackupRule$CompletionWindowMinutes": "

A value in minutes after a backup job is successfully started before it must be completed or it will be canceled by Backup. This value is optional.

", - "BackupRuleInput$StartWindowMinutes": "

A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional. If this value is included, it must be at least 60 minutes to avoid errors.

During the start window, the backup job status remains in CREATED status until it has successfully begun or until the start window time has run out. If within the start window time Backup receives an error that allows the job to be retried, Backup will automatically retry to begin the job at least every 10 minutes until the backup successfully begins (the job status changes to RUNNING) or until the job status changes to EXPIRED (which is expected to occur when the start window time is over).

", + "BackupRuleInput$StartWindowMinutes": "

A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional. If this value is included, it must be at least 60 minutes to avoid errors.

This parameter has a maximum value of 100 years (52,560,000 minutes).

During the start window, the backup job status remains in CREATED status until it has successfully begun or until the start window time has run out. If within the start window time Backup receives an error that allows the job to be retried, Backup will automatically retry to begin the job at least every 10 minutes until the backup successfully begins (the job status changes to RUNNING) or until the job status changes to EXPIRED (which is expected to occur when the start window time is over).

", "BackupRuleInput$CompletionWindowMinutes": "

A value in minutes after a backup job is successfully started before it must be completed or it will be canceled by Backup. This value is optional.

", - "StartBackupJobInput$StartWindowMinutes": "

A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional, and the default is 8 hours. If this value is included, it must be at least 60 minutes to avoid errors.

During the start window, the backup job status remains in CREATED status until it has successfully begun or until the start window time has run out. If within the start window time Backup receives an error that allows the job to be retried, Backup will automatically retry to begin the job at least every 10 minutes until the backup successfully begins (the job status changes to RUNNING) or until the job status changes to EXPIRED (which is expected to occur when the start window time is over).

", - "StartBackupJobInput$CompleteWindowMinutes": "

A value in minutes during which a successfully started backup must complete, or else Backup will cancel the job. This value is optional. This value begins counting down from when the backup was scheduled. It does not add additional time for StartWindowMinutes, or if the backup started later than scheduled.

" + "StartBackupJobInput$StartWindowMinutes": "

A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional, and the default is 8 hours. If this value is included, it must be at least 60 minutes to avoid errors.

This parameter has a maximum value of 100 years (52,560,000 minutes).

During the start window, the backup job status remains in CREATED status until it has successfully begun or until the start window time has run out. If within the start window time Backup receives an error that allows the job to be retried, Backup will automatically retry to begin the job at least every 10 minutes until the backup successfully begins (the job status changes to RUNNING) or until the job status changes to EXPIRED (which is expected to occur when the start window time is over).

", + "StartBackupJobInput$CompleteWindowMinutes": "

A value in minutes during which a successfully started backup must complete, or else Backup will cancel the job. This value is optional. This value begins counting down from when the backup was scheduled. It does not add additional time for StartWindowMinutes, or if the backup started later than scheduled.

Like StartWindowMinutes, this parameter has a maximum value of 100 years (52,560,000 minutes).

" } }, "boolean": { @@ -1778,6 +1826,7 @@ "DescribeBackupJobOutput$IsParent": "

This returns the boolean value that a backup job is a parent (composite) job.

", "DescribeRecoveryPointOutput$IsEncrypted": "

A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or FALSE if the recovery point is not encrypted.

", "DescribeRecoveryPointOutput$IsParent": "

This returns the boolean value that a recovery point is a parent (composite) job.

", + "ListBackupVaultsInput$ByShared": "

This parameter will sort the list of vaults by shared vaults.

", "RecoveryPointByBackupVault$IsEncrypted": "

A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or FALSE if the recovery point is not encrypted.

", "RecoveryPointByBackupVault$IsParent": "

This is a boolean value indicating this is a parent (composite) recovery point.

", "RecoveryPointByResource$IsParent": "

This is a boolean value indicating this is a parent (composite) recovery point.

", @@ -1852,6 +1901,7 @@ "CreateLegalHoldOutput$Title": "

This is the string title of the legal hold returned after creating the legal hold.

", "CreateLegalHoldOutput$Description": "

This is the returned string description of the legal hold.

", "CreateLegalHoldOutput$LegalHoldId": "

Legal hold ID returned for the specified legal hold on a recovery point.

", + "CreateLogicallyAirGappedBackupVaultInput$CreatorRequestId": "

This is the ID of the creation request.

", "CreateReportPlanInput$IdempotencyToken": "

A customer-chosen string that you can use to distinguish between otherwise identical calls to CreateReportPlanInput. Retrying a successful request with the same idempotency token results in a success message with no action taken.

", "DeleteBackupPlanInput$BackupPlanId": "

Uniquely identifies a backup plan.

", "DeleteBackupPlanOutput$BackupPlanId": "

Uniquely identifies a backup plan.

", @@ -1871,6 +1921,7 @@ "DescribeBackupJobOutput$ParentJobId": "

This returns the parent (composite) resource backup job ID.

", "DescribeBackupJobOutput$ResourceName": "

This is the non-unique name of the resource that belongs to the specified backup.

", "DescribeBackupVaultInput$BackupVaultName": "

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "DescribeBackupVaultInput$BackupVaultAccountId": "

This is the account ID of the specified backup vault.

", "DescribeBackupVaultOutput$BackupVaultName": "

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", "DescribeBackupVaultOutput$CreatorRequestId": "

A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice.

", "DescribeCopyJobInput$CopyJobId": "

Uniquely identifies a copy job.

", @@ -1947,6 +1998,8 @@ "ListFrameworksOutput$NextToken": "

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", "ListLegalHoldsInput$NextToken": "

The next item following a partial list of returned resources. For example, if a request is made to return maxResults number of resources, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", "ListLegalHoldsOutput$NextToken": "

The next item following a partial list of returned resources. For example, if a request is made to return maxResults number of resources, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "ListProtectedResourcesByBackupVaultInput$NextToken": "

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "ListProtectedResourcesByBackupVaultOutput$NextToken": "

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", "ListProtectedResourcesInput$NextToken": "

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", "ListProtectedResourcesOutput$NextToken": "

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", "ListRecoveryPointsByBackupVaultInput$NextToken": "

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", @@ -2057,6 +2110,7 @@ "CreateBackupSelectionOutput$CreationDate": "

The date and time a backup selection is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

", "CreateBackupVaultOutput$CreationDate": "

The date and time a backup vault is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

", "CreateLegalHoldOutput$CreationDate": "

Time in number format when legal hold was created.

", + "CreateLogicallyAirGappedBackupVaultOutput$CreationDate": "

The date and time when the vault was created.

This value is in Unix format, Coordinated Universal Time (UTC), and accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

", "CreateReportPlanOutput$CreationTime": "

The date and time a backup vault is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

", "DateRange$FromDate": "

This value is the beginning date, inclusive.

The date and time are in Unix format and Coordinated Universal Time (UTC), and it is accurate to milliseconds (milliseconds are optional).

", "DateRange$ToDate": "

This value is the end date, inclusive.

The date and time are in Unix format and Coordinated Universal Time (UTC), and it is accurate to milliseconds (milliseconds are optional).

", diff --git a/models/apis/backup/2018-11-15/paginators-1.json b/models/apis/backup/2018-11-15/paginators-1.json index 51a5dad7a78..7ad393927f0 100644 --- a/models/apis/backup/2018-11-15/paginators-1.json +++ b/models/apis/backup/2018-11-15/paginators-1.json @@ -59,6 +59,12 @@ "limit_key": "MaxResults", "result_key": "Results" }, + "ListProtectedResourcesByBackupVault": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Results" + }, "ListRecoveryPointsByBackupVault": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/elasticache/2015-02-02/api-2.json b/models/apis/elasticache/2015-02-02/api-2.json index c38af586b66..62cd1cc01a8 100644 --- a/models/apis/elasticache/2015-02-02/api-2.json +++ b/models/apis/elasticache/2015-02-02/api-2.json @@ -1264,6 +1264,24 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ] + }, + "TestMigration":{ + "name":"TestMigration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TestMigrationMessage"}, + "output":{ + "shape":"TestMigrationResponse", + "resultWrapper":"TestMigrationResult" + }, + "errors":[ + {"shape":"ReplicationGroupNotFoundFault"}, + {"shape":"InvalidReplicationGroupStateFault"}, + {"shape":"ReplicationGroupAlreadyUnderMigrationFault"}, + {"shape":"InvalidParameterValueException"} + ] } }, "shapes":{ @@ -4350,6 +4368,23 @@ "ReplicationGroup":{"shape":"ReplicationGroup"} } }, + "TestMigrationMessage":{ + "type":"structure", + "required":[ + "ReplicationGroupId", + "CustomerNodeEndpointList" + ], + "members":{ + "ReplicationGroupId":{"shape":"String"}, + "CustomerNodeEndpointList":{"shape":"CustomerNodeEndpointList"} + } + }, + "TestMigrationResponse":{ + "type":"structure", + "members":{ + "ReplicationGroup":{"shape":"ReplicationGroup"} + } + }, "TimeRangeFilter":{ "type":"structure", "members":{ diff --git a/models/apis/elasticache/2015-02-02/docs-2.json b/models/apis/elasticache/2015-02-02/docs-2.json index ab95547621e..ec29b299c04 100644 --- a/models/apis/elasticache/2015-02-02/docs-2.json +++ b/models/apis/elasticache/2015-02-02/docs-2.json @@ -66,7 +66,8 @@ "ResetCacheParameterGroup": "

Modifies the parameters of a cache parameter group to the engine or system default value. You can reset specific parameters by submitting a list of parameter names. To reset the entire cache parameter group, specify the ResetAllParameters and CacheParameterGroupName parameters.

", "RevokeCacheSecurityGroupIngress": "

Revokes ingress from a cache security group. Use this operation to disallow access from an Amazon EC2 security group that had been previously authorized.

", "StartMigration": "

Start the migration of data.

", - "TestFailover": "

Represents the input of a TestFailover operation which test automatic failover on a specified node group (called shard in the console) in a replication group (called cluster in the console).

This API is designed for testing the behavior of your application in case of ElastiCache failover. It is not designed to be an operational tool for initiating a failover to overcome a problem you may have with the cluster. Moreover, in certain conditions such as large-scale operational events, Amazon may block this API.

Note the following

Also see, Testing Multi-AZ in the ElastiCache User Guide.

" + "TestFailover": "

Represents the input of a TestFailover operation which test automatic failover on a specified node group (called shard in the console) in a replication group (called cluster in the console).

This API is designed for testing the behavior of your application in case of ElastiCache failover. It is not designed to be an operational tool for initiating a failover to overcome a problem you may have with the cluster. Moreover, in certain conditions such as large-scale operational events, Amazon may block this API.

Note the following

Also see, Testing Multi-AZ in the ElastiCache User Guide.

", + "TestMigration": "

Async API to test connection between source and target replication group.

" }, "shapes": { "APICallRateForCustomerExceededFault": { @@ -681,7 +682,8 @@ "CustomerNodeEndpointList": { "base": null, "refs": { - "StartMigrationMessage$CustomerNodeEndpointList": "

List of endpoints from which data should be migrated. For Redis (cluster mode disabled), list should have only one element.

" + "StartMigrationMessage$CustomerNodeEndpointList": "

List of endpoints from which data should be migrated. For Redis (cluster mode disabled), list should have only one element.

", + "TestMigrationMessage$CustomerNodeEndpointList": "

List of endpoints from which data should be migrated. List should have only one element.

" } }, "DataTieringStatus": { @@ -1138,7 +1140,7 @@ "ConfigureShard$NewReplicaCount": "

The number of replicas you want in this node group at the end of this operation. The maximum value for NewReplicaCount is 5. The minimum value depends upon the type of Redis replication group you are working with.

The minimum number of replicas in a shard or replication group is:

", "DecreaseNodeGroupsInGlobalReplicationGroupMessage$NodeGroupCount": "

The number of node groups (shards) that results from the modification of the shard configuration

", "Endpoint$Port": "

The port number that the cache engine is listening on.

", - "IncreaseNodeGroupsInGlobalReplicationGroupMessage$NodeGroupCount": "

The number of node groups you wish to add

", + "IncreaseNodeGroupsInGlobalReplicationGroupMessage$NodeGroupCount": "

Total number of node groups you want

", "ModifyReplicationGroupShardConfigurationMessage$NodeGroupCount": "

The number of node groups (shards) that results from the modification of the shard configuration.

", "ReservedCacheNode$Duration": "

The duration of the reservation in seconds.

", "ReservedCacheNode$CacheNodeCount": "

The number of cache nodes that have been reserved.

", @@ -1754,7 +1756,8 @@ "ModifyReplicationGroupShardConfigurationResult$ReplicationGroup": null, "ReplicationGroupList$member": null, "StartMigrationResponse$ReplicationGroup": null, - "TestFailoverResult$ReplicationGroup": null + "TestFailoverResult$ReplicationGroup": null, + "TestMigrationResponse$ReplicationGroup": null } }, "ReplicationGroupAlreadyExistsFault": { @@ -2416,6 +2419,7 @@ "Tag$Key": "

The key for the tag. May not be null.

", "Tag$Value": "

The tag's value. May be null.

", "TestFailoverMessage$ReplicationGroupId": "

The name of the replication group (console: cluster) whose automatic failover is being tested by this operation.

", + "TestMigrationMessage$ReplicationGroupId": "

The ID of the replication group to which data is to be migrated.

", "UGReplicationGroupIdList$member": null, "UnprocessedUpdateAction$ReplicationGroupId": "

The replication group ID

", "UnprocessedUpdateAction$CacheClusterId": "

The ID of the cache cluster

", @@ -2565,6 +2569,16 @@ "refs": { } }, + "TestMigrationMessage": { + "base": null, + "refs": { + } + }, + "TestMigrationResponse": { + "base": null, + "refs": { + } + }, "TimeRangeFilter": { "base": "

Filters update actions from the service updates that are in available status during the time range.

", "refs": { diff --git a/models/apis/servicecatalog/2015-12-10/api-2.json b/models/apis/servicecatalog/2015-12-10/api-2.json index 2ea4102bce3..90df52e0c4d 100644 --- a/models/apis/servicecatalog/2015-12-10/api-2.json +++ b/models/apis/servicecatalog/2015-12-10/api-2.json @@ -3118,7 +3118,8 @@ "enum":[ "CLOUD_FORMATION_TEMPLATE", "MARKETPLACE", - "TERRAFORM_OPEN_SOURCE" + "TERRAFORM_OPEN_SOURCE", + "TERRAFORM_CLOUD" ], "max":8191 }, @@ -3540,7 +3541,8 @@ "CLOUD_FORMATION_TEMPLATE", "MARKETPLACE_AMI", "MARKETPLACE_CAR", - "TERRAFORM_OPEN_SOURCE" + "TERRAFORM_OPEN_SOURCE", + "TERRAFORM_CLOUD" ] }, "ProvisioningArtifactView":{ diff --git a/models/apis/servicecatalog/2015-12-10/docs-2.json b/models/apis/servicecatalog/2015-12-10/docs-2.json index 9b5918f0359..ec3df51c8ff 100644 --- a/models/apis/servicecatalog/2015-12-10/docs-2.json +++ b/models/apis/servicecatalog/2015-12-10/docs-2.json @@ -54,7 +54,7 @@ "ExecuteProvisionedProductServiceAction": "

Executes a self-service action against a provisioned product.

", "GetAWSOrganizationsAccessStatus": "

Get the Access Status for Organizations portfolio share feature. This API can only be called by the management account in the organization or by a delegated admin.

", "GetProvisionedProductOutputs": "

This API takes either a ProvisonedProductId or a ProvisionedProductName, along with a list of one or more output keys, and responds with the key/value pairs of those outputs.

", - "ImportAsProvisionedProduct": "

Requests the import of a resource as an Service Catalog provisioned product that is associated to an Service Catalog product and provisioning artifact. Once imported, all supported governance actions are supported on the provisioned product.

Resource import only supports CloudFormation stack ARNs. CloudFormation StackSets, and non-root nested stacks are not supported.

The CloudFormation stack must have one of the following statuses to be imported: CREATE_COMPLETE, UPDATE_COMPLETE, UPDATE_ROLLBACK_COMPLETE, IMPORT_COMPLETE, and IMPORT_ROLLBACK_COMPLETE.

Import of the resource requires that the CloudFormation stack template matches the associated Service Catalog product provisioning artifact.

When you import an existing CloudFormation stack into a portfolio, constraints that are associated with the product aren't applied during the import process. The constraints are applied after you call UpdateProvisionedProduct for the provisioned product.

The user or role that performs this operation must have the cloudformation:GetTemplate and cloudformation:DescribeStacks IAM policy permissions.

", + "ImportAsProvisionedProduct": "

Requests the import of a resource as an Service Catalog provisioned product that is associated to an Service Catalog product and provisioning artifact. Once imported, all supported governance actions are supported on the provisioned product.

Resource import only supports CloudFormation stack ARNs. CloudFormation StackSets, and non-root nested stacks, are not supported.

The CloudFormation stack must have one of the following statuses to be imported: CREATE_COMPLETE, UPDATE_COMPLETE, UPDATE_ROLLBACK_COMPLETE, IMPORT_COMPLETE, and IMPORT_ROLLBACK_COMPLETE.

Import of the resource requires that the CloudFormation stack template matches the associated Service Catalog product provisioning artifact.

When you import an existing CloudFormation stack into a portfolio, Service Catalog does not apply the product's associated constraints during the import process. Service Catalog applies the constraints after you call UpdateProvisionedProduct for the provisioned product.

The user or role that performs this operation must have the cloudformation:GetTemplate and cloudformation:DescribeStacks IAM policy permissions.

You can only import one provisioned product at a time. The product's CloudFormation stack must have the IMPORT_COMPLETE status before you import another.

", "ListAcceptedPortfolioShares": "

Lists all imported portfolios for which account-to-account shares were accepted by this account. By specifying the PortfolioShareType, you can list portfolios for which organizational shares were accepted by this account.

", "ListBudgetsForResource": "

Lists all the budgets associated to the specified resource.

", "ListConstraintsForPortfolio": "

Lists the constraints for the specified portfolio and product.

", @@ -85,7 +85,7 @@ "TerminateProvisionedProduct": "

Terminates the specified provisioned product.

This operation does not delete any records associated with the provisioned product.

You can check the status of this request using DescribeRecord.

", "UpdateConstraint": "

Updates the specified constraint.

", "UpdatePortfolio": "

Updates the specified portfolio.

You cannot update a product that was shared with you.

", - "UpdatePortfolioShare": "

Updates the specified portfolio share. You can use this API to enable or disable TagOptions sharing or Principal sharing for an existing portfolio share.

The portfolio share cannot be updated if the CreatePortfolioShare operation is IN_PROGRESS, as the share is not available to recipient entities. In this case, you must wait for the portfolio share to be COMPLETED.

You must provide the accountId or organization node in the input, but not both.

If the portfolio is shared to both an external account and an organization node, and both shares need to be updated, you must invoke UpdatePortfolioShare separately for each share type.

This API cannot be used for removing the portfolio share. You must use DeletePortfolioShare API for that action.

When you associate a principal with portfolio, a potential privilege escalation path may occur when that portfolio is then shared with other accounts. For a user in a recipient account who is not an Service Catalog Admin, but still has the ability to create Principals (Users/Groups/Roles), that user could create a role that matches a principal name association for the portfolio. Although this user may not know which principal names are associated through Service Catalog, they may be able to guess the user. If this potential escalation path is a concern, then Service Catalog recommends using PrincipalType as IAM. With this configuration, the PrincipalARN must already exist in the recipient account before it can be associated.

", + "UpdatePortfolioShare": "

Updates the specified portfolio share. You can use this API to enable or disable TagOptions sharing or Principal sharing for an existing portfolio share.

The portfolio share cannot be updated if the CreatePortfolioShare operation is IN_PROGRESS, as the share is not available to recipient entities. In this case, you must wait for the portfolio share to be completed.

You must provide the accountId or organization node in the input, but not both.

If the portfolio is shared to both an external account and an organization node, and both shares need to be updated, you must invoke UpdatePortfolioShare separately for each share type.

This API cannot be used for removing the portfolio share. You must use DeletePortfolioShare API for that action.

When you associate a principal with portfolio, a potential privilege escalation path may occur when that portfolio is then shared with other accounts. For a user in a recipient account who is not an Service Catalog Admin, but still has the ability to create Principals (Users/Groups/Roles), that user could create a role that matches a principal name association for the portfolio. Although this user may not know which principal names are associated through Service Catalog, they may be able to guess the user. If this potential escalation path is a concern, then Service Catalog recommends using PrincipalType as IAM. With this configuration, the PrincipalARN must already exist in the recipient account before it can be associated.

", "UpdateProduct": "

Updates the specified product.

", "UpdateProvisionedProduct": "

Requests updates to the configuration of the specified provisioned product.

If there are tags associated with the object, they cannot be updated or added. Depending on the specific updates requested, this operation can update with no interruption, with some interruption, or replace the provisioned product entirely.

You can check the status of this request using DescribeRecord.

", "UpdateProvisionedProductProperties": "

Requests updates to the properties of the specified provisioned product.

", @@ -199,7 +199,7 @@ "AccessLevelFilterValue": { "base": null, "refs": { - "AccessLevelFilter$Value": "

The user to which the access level applies. The only supported value is Self.

" + "AccessLevelFilter$Value": "

The user to which the access level applies. The only supported value is self.

" } }, "AccessStatus": { @@ -854,7 +854,7 @@ "DisableTemplateValidation": { "base": null, "refs": { - "ProvisioningArtifactProperties$DisableTemplateValidation": "

If set to true, Service Catalog stops validating the specified provisioning artifact even if it is invalid.

" + "ProvisioningArtifactProperties$DisableTemplateValidation": "

If set to true, Service Catalog stops validating the specified provisioning artifact even if it is invalid.

Service Catalog does not support template validation for the TERRAFORM_OS product type.

" } }, "DisassociateBudgetFromResourceInput": { @@ -1185,12 +1185,12 @@ "ProvisionProductInput$PathId": "

The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use ListLaunchPaths. You must provide the name or ID, but not both.

", "ProvisionedProductAttribute$Id": "

The identifier of the provisioned product.

", "ProvisionedProductAttribute$LastRecordId": "

The record identifier of the last request performed on this provisioned product.

", - "ProvisionedProductAttribute$LastProvisioningRecordId": "

The record identifier of the last request performed on this provisioned product of the following types:

", - "ProvisionedProductAttribute$LastSuccessfulProvisioningRecordId": "

The record identifier of the last successful request performed on this provisioned product of the following types:

", + "ProvisionedProductAttribute$LastProvisioningRecordId": "

The record identifier of the last request performed on this provisioned product of the following types:

", + "ProvisionedProductAttribute$LastSuccessfulProvisioningRecordId": "

The record identifier of the last successful request performed on this provisioned product of the following types:

", "ProvisionedProductAttribute$ProductId": "

The product identifier.

", "ProvisionedProductAttribute$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

", - "ProvisionedProductDetail$LastProvisioningRecordId": "

The record identifier of the last request performed on this provisioned product of the following types:

", - "ProvisionedProductDetail$LastSuccessfulProvisioningRecordId": "

The record identifier of the last successful request performed on this provisioned product of the following types:

", + "ProvisionedProductDetail$LastProvisioningRecordId": "

The record identifier of the last request performed on this provisioned product of the following types:

", + "ProvisionedProductDetail$LastSuccessfulProvisioningRecordId": "

The record identifier of the last successful request performed on this provisioned product of the following types:

", "ProvisionedProductDetail$ProductId": "

The product identifier. For example, prod-abcdzk7xy33qa.

", "ProvisionedProductDetail$ProvisioningArtifactId": "

The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.

", "ProvisionedProductPlanDetails$PathId": "

The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use ListLaunchPaths.

", @@ -2130,7 +2130,7 @@ "ProvisionedProductFilters": { "base": null, "refs": { - "SearchProvisionedProductsInput$Filters": "

The search filters.

When the key is SearchQuery, the searchable fields are arn, createdTime, id, lastRecordId, idempotencyToken, name, physicalId, productId, provisioningArtifact, type, status, tags, userArn, userArnSession, lastProvisioningRecordId, lastSuccessfulProvisioningRecordId, productName, and provisioningArtifactName.

Example: \"SearchQuery\":[\"status:AVAILABLE\"]

" + "SearchProvisionedProductsInput$Filters": "

The search filters.

When the key is SearchQuery, the searchable fields are arn, createdTime, id, lastRecordId, idempotencyToken, name, physicalId, productId, provisioningArtifactId, type, status, tags, userArn, userArnSession, lastProvisioningRecordId, lastSuccessfulProvisioningRecordId, productName, and provisioningArtifactName.

Example: \"SearchQuery\":[\"status:AVAILABLE\"]

" } }, "ProvisionedProductId": { @@ -2231,7 +2231,7 @@ "refs": { "ProvisionedProductAttribute$Type": "

The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.

", "ProvisionedProductDetail$Type": "

The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.

", - "RecordDetail$ProvisionedProductType": "

The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.

" + "RecordDetail$ProvisionedProductType": "

The type of provisioned product. The supported values are CFN_STACK, CFN_STACKSET, TERRAFORM_OPEN_SOURCE, and TERRAFORM_CLOUD.

" } }, "ProvisionedProductViewFilterBy": { @@ -2416,8 +2416,8 @@ "ProvisioningArtifactType": { "base": null, "refs": { - "ProvisioningArtifactDetail$Type": "

The type of provisioning artifact.

", - "ProvisioningArtifactProperties$Type": "

The type of provisioning artifact.

" + "ProvisioningArtifactDetail$Type": "

The type of provisioning artifact.

CLOUD_FORMATION_TEMPLATE - CloudFormation template

", + "ProvisioningArtifactProperties$Type": "

The type of provisioning artifact.

" } }, "ProvisioningArtifactView": { diff --git a/models/apis/servicecatalog/2015-12-10/endpoint-rule-set-1.json b/models/apis/servicecatalog/2015-12-10/endpoint-rule-set-1.json index 5c89793f98f..510eb10b1af 100644 --- a/models/apis/servicecatalog/2015-12-10/endpoint-rule-set-1.json +++ b/models/apis/servicecatalog/2015-12-10/endpoint-rule-set-1.json @@ -58,52 +58,56 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { - "conditions": [], + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -111,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://servicecatalog-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://servicecatalog-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://servicecatalog-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://servicecatalog-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://servicecatalog.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], + ], "type": "tree", "rules": [ { "conditions": [], "endpoint": { - "url": "https://servicecatalog.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://servicecatalog.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://servicecatalog.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 12485155eaf..c361c80c94a 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -5878,6 +5878,13 @@ "deprecated" : true, "hostname" : "elasticfilesystem-fips.eu-west-3.amazonaws.com" }, + "fips-il-central-1" : { + "credentialScope" : { + "region" : "il-central-1" + }, + "deprecated" : true, + "hostname" : "elasticfilesystem-fips.il-central-1.amazonaws.com" + }, "fips-me-central-1" : { "credentialScope" : { "region" : "me-central-1" @@ -5927,6 +5934,12 @@ "deprecated" : true, "hostname" : "elasticfilesystem-fips.us-west-2.amazonaws.com" }, + "il-central-1" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.il-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "me-central-1" : { "variants" : [ { "hostname" : "elasticfilesystem-fips.me-central-1.amazonaws.com", @@ -9955,6 +9968,7 @@ "deprecated" : true, "hostname" : "license-manager-linux-subscriptions-fips.us-west-2.amazonaws.com" }, + "il-central-1" : { }, "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, @@ -14425,6 +14439,7 @@ "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, + "il-central-1" : { }, "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, @@ -21975,6 +21990,12 @@ } } }, + "license-manager-linux-subscriptions" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, "logs" : { "endpoints" : { "fips-us-gov-east-1" : { diff --git a/service/backup/api.go b/service/backup/api.go index 23f07f1bbaf..9d09c5be379 100644 --- a/service/backup/api.go +++ b/service/backup/api.go @@ -589,6 +589,109 @@ func (c *Backup) CreateLegalHoldWithContext(ctx aws.Context, input *CreateLegalH return out, req.Send() } +const opCreateLogicallyAirGappedBackupVault = "CreateLogicallyAirGappedBackupVault" + +// CreateLogicallyAirGappedBackupVaultRequest generates a "aws/request.Request" representing the +// client's request for the CreateLogicallyAirGappedBackupVault operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateLogicallyAirGappedBackupVault for more information on using the CreateLogicallyAirGappedBackupVault +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateLogicallyAirGappedBackupVaultRequest method. +// req, resp := client.CreateLogicallyAirGappedBackupVaultRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateLogicallyAirGappedBackupVault +func (c *Backup) CreateLogicallyAirGappedBackupVaultRequest(input *CreateLogicallyAirGappedBackupVaultInput) (req *request.Request, output *CreateLogicallyAirGappedBackupVaultOutput) { + op := &request.Operation{ + Name: opCreateLogicallyAirGappedBackupVault, + HTTPMethod: "PUT", + HTTPPath: "/logically-air-gapped-backup-vaults/{backupVaultName}", + } + + if input == nil { + input = &CreateLogicallyAirGappedBackupVaultInput{} + } + + output = &CreateLogicallyAirGappedBackupVaultOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateLogicallyAirGappedBackupVault API operation for AWS Backup. +// +// This request creates a logical container where backups are stored. +// +// This request includes a name, optionally one or more resource tags, an encryption +// key, and a request ID. +// +// Do not include sensitive data, such as passport numbers, in the name of a +// backup vault. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation CreateLogicallyAirGappedBackupVault for usage and error information. +// +// Returned Error Types: +// +// - AlreadyExistsException +// The required resource already exists. +// +// - InvalidParameterValueException +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// - LimitExceededException +// A limit in the request has been exceeded; for example, a maximum number of +// items allowed in a request. +// +// - MissingParameterValueException +// Indicates that a required parameter is missing. +// +// - ServiceUnavailableException +// The request failed due to a temporary failure of the server. +// +// - InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a parameter is of the wrong type. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateLogicallyAirGappedBackupVault +func (c *Backup) CreateLogicallyAirGappedBackupVault(input *CreateLogicallyAirGappedBackupVaultInput) (*CreateLogicallyAirGappedBackupVaultOutput, error) { + req, out := c.CreateLogicallyAirGappedBackupVaultRequest(input) + return out, req.Send() +} + +// CreateLogicallyAirGappedBackupVaultWithContext is the same as CreateLogicallyAirGappedBackupVault with the addition of +// the ability to pass a context and additional request options. +// +// See CreateLogicallyAirGappedBackupVault for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Backup) CreateLogicallyAirGappedBackupVaultWithContext(ctx aws.Context, input *CreateLogicallyAirGappedBackupVaultInput, opts ...request.Option) (*CreateLogicallyAirGappedBackupVaultOutput, error) { + req, out := c.CreateLogicallyAirGappedBackupVaultRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateReportPlan = "CreateReportPlan" // CreateReportPlanRequest generates a "aws/request.Request" representing the @@ -5056,6 +5159,149 @@ func (c *Backup) ListProtectedResourcesPagesWithContext(ctx aws.Context, input * return p.Err() } +const opListProtectedResourcesByBackupVault = "ListProtectedResourcesByBackupVault" + +// ListProtectedResourcesByBackupVaultRequest generates a "aws/request.Request" representing the +// client's request for the ListProtectedResourcesByBackupVault operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListProtectedResourcesByBackupVault for more information on using the ListProtectedResourcesByBackupVault +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListProtectedResourcesByBackupVaultRequest method. +// req, resp := client.ListProtectedResourcesByBackupVaultRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListProtectedResourcesByBackupVault +func (c *Backup) ListProtectedResourcesByBackupVaultRequest(input *ListProtectedResourcesByBackupVaultInput) (req *request.Request, output *ListProtectedResourcesByBackupVaultOutput) { + op := &request.Operation{ + Name: opListProtectedResourcesByBackupVault, + HTTPMethod: "GET", + HTTPPath: "/backup-vaults/{backupVaultName}/resources/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListProtectedResourcesByBackupVaultInput{} + } + + output = &ListProtectedResourcesByBackupVaultOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListProtectedResourcesByBackupVault API operation for AWS Backup. +// +// This request lists the protected resources corresponding to each backup vault. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Backup's +// API operation ListProtectedResourcesByBackupVault for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterValueException +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// - ResourceNotFoundException +// A resource that is required for the action doesn't exist. +// +// - ServiceUnavailableException +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListProtectedResourcesByBackupVault +func (c *Backup) ListProtectedResourcesByBackupVault(input *ListProtectedResourcesByBackupVaultInput) (*ListProtectedResourcesByBackupVaultOutput, error) { + req, out := c.ListProtectedResourcesByBackupVaultRequest(input) + return out, req.Send() +} + +// ListProtectedResourcesByBackupVaultWithContext is the same as ListProtectedResourcesByBackupVault with the addition of +// the ability to pass a context and additional request options. +// +// See ListProtectedResourcesByBackupVault for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Backup) ListProtectedResourcesByBackupVaultWithContext(ctx aws.Context, input *ListProtectedResourcesByBackupVaultInput, opts ...request.Option) (*ListProtectedResourcesByBackupVaultOutput, error) { + req, out := c.ListProtectedResourcesByBackupVaultRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListProtectedResourcesByBackupVaultPages iterates over the pages of a ListProtectedResourcesByBackupVault operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListProtectedResourcesByBackupVault 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 ListProtectedResourcesByBackupVault operation. +// pageNum := 0 +// err := client.ListProtectedResourcesByBackupVaultPages(params, +// func(page *backup.ListProtectedResourcesByBackupVaultOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Backup) ListProtectedResourcesByBackupVaultPages(input *ListProtectedResourcesByBackupVaultInput, fn func(*ListProtectedResourcesByBackupVaultOutput, bool) bool) error { + return c.ListProtectedResourcesByBackupVaultPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListProtectedResourcesByBackupVaultPagesWithContext same as ListProtectedResourcesByBackupVaultPages 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 *Backup) ListProtectedResourcesByBackupVaultPagesWithContext(ctx aws.Context, input *ListProtectedResourcesByBackupVaultInput, fn func(*ListProtectedResourcesByBackupVaultOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListProtectedResourcesByBackupVaultInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListProtectedResourcesByBackupVaultRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListProtectedResourcesByBackupVaultOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListRecoveryPointsByBackupVault = "ListRecoveryPointsByBackupVault" // ListRecoveryPointsByBackupVaultRequest generates a "aws/request.Request" representing the @@ -9353,6 +9599,187 @@ func (s *CreateLegalHoldOutput) SetTitle(v string) *CreateLegalHoldOutput { return s } +type CreateLogicallyAirGappedBackupVaultInput struct { + _ struct{} `type:"structure"` + + // This is the name of the vault that is being created. + // + // BackupVaultName is a required field + BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"` + + // These are the tags that will be included in the newly-created vault. + // + // BackupVaultTags is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateLogicallyAirGappedBackupVaultInput's + // String and GoString methods. + BackupVaultTags map[string]*string `type:"map" sensitive:"true"` + + // This is the ID of the creation request. + CreatorRequestId *string `type:"string"` + + // This is the setting that specifies the maximum retention period that the + // vault retains its recovery points. If this parameter is not specified, Backup + // does not enforce a maximum retention period on the recovery points in the + // vault (allowing indefinite storage). + // + // If specified, any backup or copy job to the vault must have a lifecycle policy + // with a retention period equal to or shorter than the maximum retention period. + // If the job retention period is longer than that maximum retention period, + // then the vault fails the backup or copy job, and you should either modify + // your lifecycle settings or use a different vault. + // + // MaxRetentionDays is a required field + MaxRetentionDays *int64 `type:"long" required:"true"` + + // This setting specifies the minimum retention period that the vault retains + // its recovery points. If this parameter is not specified, no minimum retention + // period is enforced. + // + // If specified, any backup or copy job to the vault must have a lifecycle policy + // with a retention period equal to or longer than the minimum retention period. + // If a job retention period is shorter than that minimum retention period, + // then the vault fails the backup or copy job, and you should either modify + // your lifecycle settings or use a different vault. + // + // MinRetentionDays is a required field + MinRetentionDays *int64 `type:"long" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLogicallyAirGappedBackupVaultInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLogicallyAirGappedBackupVaultInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateLogicallyAirGappedBackupVaultInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLogicallyAirGappedBackupVaultInput"} + if s.BackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultName")) + } + if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1)) + } + if s.MaxRetentionDays == nil { + invalidParams.Add(request.NewErrParamRequired("MaxRetentionDays")) + } + if s.MinRetentionDays == nil { + invalidParams.Add(request.NewErrParamRequired("MinRetentionDays")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *CreateLogicallyAirGappedBackupVaultInput) SetBackupVaultName(v string) *CreateLogicallyAirGappedBackupVaultInput { + s.BackupVaultName = &v + return s +} + +// SetBackupVaultTags sets the BackupVaultTags field's value. +func (s *CreateLogicallyAirGappedBackupVaultInput) SetBackupVaultTags(v map[string]*string) *CreateLogicallyAirGappedBackupVaultInput { + s.BackupVaultTags = v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *CreateLogicallyAirGappedBackupVaultInput) SetCreatorRequestId(v string) *CreateLogicallyAirGappedBackupVaultInput { + s.CreatorRequestId = &v + return s +} + +// SetMaxRetentionDays sets the MaxRetentionDays field's value. +func (s *CreateLogicallyAirGappedBackupVaultInput) SetMaxRetentionDays(v int64) *CreateLogicallyAirGappedBackupVaultInput { + s.MaxRetentionDays = &v + return s +} + +// SetMinRetentionDays sets the MinRetentionDays field's value. +func (s *CreateLogicallyAirGappedBackupVaultInput) SetMinRetentionDays(v int64) *CreateLogicallyAirGappedBackupVaultInput { + s.MinRetentionDays = &v + return s +} + +type CreateLogicallyAirGappedBackupVaultOutput struct { + _ struct{} `type:"structure"` + + // This is the ARN (Amazon Resource Name) of the vault being created. + BackupVaultArn *string `type:"string"` + + // The name of a logical container where backups are stored. Logically air-gapped + // backup vaults are identified by names that are unique to the account used + // to create them and the Region where they are created. They consist of lowercase + // letters, numbers, and hyphens. + BackupVaultName *string `type:"string"` + + // The date and time when the vault was created. + // + // This value is in Unix format, Coordinated Universal Time (UTC), and accurate + // to milliseconds. For example, the value 1516925490.087 represents Friday, + // January 26, 2018 12:11:30.087 AM. + CreationDate *time.Time `type:"timestamp"` + + // This is the current state of the vault. + VaultState *string `type:"string" enum:"VaultState"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLogicallyAirGappedBackupVaultOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLogicallyAirGappedBackupVaultOutput) GoString() string { + return s.String() +} + +// SetBackupVaultArn sets the BackupVaultArn field's value. +func (s *CreateLogicallyAirGappedBackupVaultOutput) SetBackupVaultArn(v string) *CreateLogicallyAirGappedBackupVaultOutput { + s.BackupVaultArn = &v + return s +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *CreateLogicallyAirGappedBackupVaultOutput) SetBackupVaultName(v string) *CreateLogicallyAirGappedBackupVaultOutput { + s.BackupVaultName = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *CreateLogicallyAirGappedBackupVaultOutput) SetCreationDate(v time.Time) *CreateLogicallyAirGappedBackupVaultOutput { + s.CreationDate = &v + return s +} + +// SetVaultState sets the VaultState field's value. +func (s *CreateLogicallyAirGappedBackupVaultOutput) SetVaultState(v string) *CreateLogicallyAirGappedBackupVaultOutput { + s.VaultState = &v + return s +} + type CreateReportPlanInput struct { _ struct{} `type:"structure"` @@ -10561,7 +10988,7 @@ type DescribeBackupJobOutput struct { // 12:11:30.087 AM. StartBy *time.Time `type:"timestamp"` - // The current state of a resource recovery point. + // The current state of a backup job. State *string `type:"string" enum:"JobState"` // A detailed message explaining the status of the job to back up a resource. @@ -10739,6 +11166,9 @@ func (s *DescribeBackupJobOutput) SetStatusMessage(v string) *DescribeBackupJobO type DescribeBackupVaultInput struct { _ struct{} `type:"structure" nopayload:"true"` + // This is the account ID of the specified backup vault. + BackupVaultAccountId *string `location:"querystring" locationName:"backupVaultAccountId" type:"string"` + // The name of a logical container where backups are stored. Backup vaults are // identified by names that are unique to the account used to create them and // the Amazon Web Services Region where they are created. They consist of lowercase @@ -10782,6 +11212,12 @@ func (s *DescribeBackupVaultInput) Validate() error { return nil } +// SetBackupVaultAccountId sets the BackupVaultAccountId field's value. +func (s *DescribeBackupVaultInput) SetBackupVaultAccountId(v string) *DescribeBackupVaultInput { + s.BackupVaultAccountId = &v + return s +} + // SetBackupVaultName sets the BackupVaultName field's value. func (s *DescribeBackupVaultInput) SetBackupVaultName(v string) *DescribeBackupVaultInput { s.BackupVaultName = &v @@ -10859,6 +11295,9 @@ type DescribeBackupVaultOutput struct { // The number of recovery points that are stored in a backup vault. NumberOfRecoveryPoints *int64 `type:"long"` + + // This is the type of vault described. + VaultType *string `type:"string" enum:"VaultType"` } // String returns the string representation. @@ -10939,6 +11378,12 @@ func (s *DescribeBackupVaultOutput) SetNumberOfRecoveryPoints(v int64) *Describe return s } +// SetVaultType sets the VaultType field's value. +func (s *DescribeBackupVaultOutput) SetVaultType(v string) *DescribeBackupVaultOutput { + s.VaultType = &v + return s +} + type DescribeCopyJobInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -11369,6 +11814,9 @@ func (s *DescribeProtectedResourceOutput) SetResourceType(v string) *DescribePro type DescribeRecoveryPointInput struct { _ struct{} `type:"structure" nopayload:"true"` + // This is the account ID of the specified backup vault. + BackupVaultAccountId *string `location:"querystring" locationName:"backupVaultAccountId" type:"string"` + // The name of a logical container where backups are stored. Backup vaults are // identified by names that are unique to the account used to create them and // the Amazon Web Services Region where they are created. They consist of lowercase @@ -11424,6 +11872,12 @@ func (s *DescribeRecoveryPointInput) Validate() error { return nil } +// SetBackupVaultAccountId sets the BackupVaultAccountId field's value. +func (s *DescribeRecoveryPointInput) SetBackupVaultAccountId(v string) *DescribeRecoveryPointInput { + s.BackupVaultAccountId = &v + return s +} + // SetBackupVaultName sets the BackupVaultName field's value. func (s *DescribeRecoveryPointInput) SetBackupVaultName(v string) *DescribeRecoveryPointInput { s.BackupVaultName = &v @@ -13465,6 +13919,9 @@ func (s *GetLegalHoldOutput) SetTitle(v string) *GetLegalHoldOutput { type GetRecoveryPointRestoreMetadataInput struct { _ struct{} `type:"structure" nopayload:"true"` + // This is the account ID of the specified backup vault. + BackupVaultAccountId *string `location:"querystring" locationName:"backupVaultAccountId" type:"string"` + // The name of a logical container where backups are stored. Backup vaults are // identified by names that are unique to the account used to create them and // the Amazon Web Services Region where they are created. They consist of lowercase @@ -13520,6 +13977,12 @@ func (s *GetRecoveryPointRestoreMetadataInput) Validate() error { return nil } +// SetBackupVaultAccountId sets the BackupVaultAccountId field's value. +func (s *GetRecoveryPointRestoreMetadataInput) SetBackupVaultAccountId(v string) *GetRecoveryPointRestoreMetadataInput { + s.BackupVaultAccountId = &v + return s +} + // SetBackupVaultName sets the BackupVaultName field's value. func (s *GetRecoveryPointRestoreMetadataInput) SetBackupVaultName(v string) *GetRecoveryPointRestoreMetadataInput { s.BackupVaultName = &v @@ -13978,7 +14441,7 @@ type Job struct { // 12:11:30.087 AM. StartBy *time.Time `type:"timestamp"` - // The current state of a resource recovery point. + // The current state of a backup job. State *string `type:"string" enum:"JobState"` // A detailed message explaining the status of the job to back up a resource. @@ -15030,6 +15493,12 @@ func (s *ListBackupSelectionsOutput) SetNextToken(v string) *ListBackupSelection type ListBackupVaultsInput struct { _ struct{} `type:"structure" nopayload:"true"` + // This parameter will sort the list of vaults by shared vaults. + ByShared *bool `location:"querystring" locationName:"shared" type:"boolean"` + + // This parameter will sort the list of vaults by vault type. + ByVaultType *string `location:"querystring" locationName:"vaultType" type:"string" enum:"VaultType"` + // The maximum number of items to be returned. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` @@ -15071,6 +15540,18 @@ func (s *ListBackupVaultsInput) Validate() error { return nil } +// SetByShared sets the ByShared field's value. +func (s *ListBackupVaultsInput) SetByShared(v bool) *ListBackupVaultsInput { + s.ByShared = &v + return s +} + +// SetByVaultType sets the ByVaultType field's value. +func (s *ListBackupVaultsInput) SetByVaultType(v string) *ListBackupVaultsInput { + s.ByVaultType = &v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *ListBackupVaultsInput) SetMaxResults(v int64) *ListBackupVaultsInput { s.MaxResults = &v @@ -15545,6 +16026,133 @@ func (s *ListLegalHoldsOutput) SetNextToken(v string) *ListLegalHoldsOutput { return s } +type ListProtectedResourcesByBackupVaultInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // This is the list of protected resources by backup vault within the vault(s) + // you specify by account ID. + BackupVaultAccountId *string `location:"querystring" locationName:"backupVaultAccountId" type:"string"` + + // This is the list of protected resources by backup vault within the vault(s) + // you specify by name. + // + // BackupVaultName is a required field + BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"` + + // The maximum number of items to be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `location:"querystring" 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 ListProtectedResourcesByBackupVaultInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListProtectedResourcesByBackupVaultInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListProtectedResourcesByBackupVaultInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProtectedResourcesByBackupVaultInput"} + if s.BackupVaultName == nil { + invalidParams.Add(request.NewErrParamRequired("BackupVaultName")) + } + if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupVaultAccountId sets the BackupVaultAccountId field's value. +func (s *ListProtectedResourcesByBackupVaultInput) SetBackupVaultAccountId(v string) *ListProtectedResourcesByBackupVaultInput { + s.BackupVaultAccountId = &v + return s +} + +// SetBackupVaultName sets the BackupVaultName field's value. +func (s *ListProtectedResourcesByBackupVaultInput) SetBackupVaultName(v string) *ListProtectedResourcesByBackupVaultInput { + s.BackupVaultName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListProtectedResourcesByBackupVaultInput) SetMaxResults(v int64) *ListProtectedResourcesByBackupVaultInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProtectedResourcesByBackupVaultInput) SetNextToken(v string) *ListProtectedResourcesByBackupVaultInput { + s.NextToken = &v + return s +} + +type ListProtectedResourcesByBackupVaultOutput struct { + _ struct{} `type:"structure"` + + // The next item following a partial list of returned items. For example, if + // a request is made to return maxResults number of items, NextToken allows + // you to return more items in your list starting at the location pointed to + // by the next token. + NextToken *string `type:"string"` + + // These are the results returned for the request ListProtectedResourcesByBackupVault. + Results []*ProtectedResource `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 ListProtectedResourcesByBackupVaultOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListProtectedResourcesByBackupVaultOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProtectedResourcesByBackupVaultOutput) SetNextToken(v string) *ListProtectedResourcesByBackupVaultOutput { + s.NextToken = &v + return s +} + +// SetResults sets the Results field's value. +func (s *ListProtectedResourcesByBackupVaultOutput) SetResults(v []*ProtectedResource) *ListProtectedResourcesByBackupVaultOutput { + s.Results = v + return s +} + type ListProtectedResourcesInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -15649,6 +16257,9 @@ func (s *ListProtectedResourcesOutput) SetResults(v []*ProtectedResource) *ListP type ListRecoveryPointsByBackupVaultInput struct { _ struct{} `type:"structure" nopayload:"true"` + // This parameter will sort the list of recovery points by account ID. + BackupVaultAccountId *string `location:"querystring" locationName:"backupVaultAccountId" type:"string"` + // The name of a logical container where backups are stored. Backup vaults are // identified by names that are unique to the account used to create them and // the Amazon Web Services Region where they are created. They consist of lowercase @@ -15727,6 +16338,12 @@ func (s *ListRecoveryPointsByBackupVaultInput) Validate() error { return nil } +// SetBackupVaultAccountId sets the BackupVaultAccountId field's value. +func (s *ListRecoveryPointsByBackupVaultInput) SetBackupVaultAccountId(v string) *ListRecoveryPointsByBackupVaultInput { + s.BackupVaultAccountId = &v + return s +} + // SetBackupVaultName sets the BackupVaultName field's value. func (s *ListRecoveryPointsByBackupVaultInput) SetBackupVaultName(v string) *ListRecoveryPointsByBackupVaultInput { s.BackupVaultName = &v @@ -18826,6 +19443,8 @@ type RuleInput struct { // in the "Lifecycle to cold storage" section of the Feature availability by // resource (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html#features-by-resource) // table. Backup ignores this expression for other resource types. + // + // This parameter has a maximum value of 100 years (36,500 days). Lifecycle *Lifecycle `type:"structure"` // To help organize your resources, you can assign your own metadata to the @@ -18849,6 +19468,8 @@ type RuleInput struct { // if it doesn't start successfully. This value is optional. If this value is // included, it must be at least 60 minutes to avoid errors. // + // This parameter has a maximum value of 100 years (52,560,000 minutes). + // // During the start window, the backup job status remains in CREATED status // until it has successfully begun or until the start window time has run out. // If within the start window time Backup receives an error that allows the @@ -19287,6 +19908,9 @@ type StartBackupJobInput struct { // or else Backup will cancel the job. This value is optional. This value begins // counting down from when the backup was scheduled. It does not add additional // time for StartWindowMinutes, or if the backup started later than scheduled. + // + // Like StartWindowMinutes, this parameter has a maximum value of 100 years + // (52,560,000 minutes). CompleteWindowMinutes *int64 `type:"long"` // Specifies the IAM role ARN used to create the target recovery point; for @@ -19314,6 +19938,8 @@ type StartBackupJobInput struct { // in the "Lifecycle to cold storage" section of the Feature availability by // resource (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html#features-by-resource) // table. Backup ignores this expression for other resource types. + // + // This parameter has a maximum value of 100 years (36,500 days). Lifecycle *Lifecycle `type:"structure"` // To help organize your resources, you can assign your own metadata to the @@ -19335,6 +19961,8 @@ type StartBackupJobInput struct { // is 8 hours. If this value is included, it must be at least 60 minutes to // avoid errors. // + // This parameter has a maximum value of 100 years (52,560,000 minutes). + // // During the start window, the backup job status remains in CREATED status // until it has successfully begun or until the start window time has run out. // If within the start window time Backup receives an error that allows the @@ -21370,3 +21998,39 @@ func VaultEvent_Values() []string { VaultEventS3RestoreObjectFailed, } } + +const ( + // VaultStateCreating is a VaultState enum value + VaultStateCreating = "CREATING" + + // VaultStateAvailable is a VaultState enum value + VaultStateAvailable = "AVAILABLE" + + // VaultStateFailed is a VaultState enum value + VaultStateFailed = "FAILED" +) + +// VaultState_Values returns all elements of the VaultState enum +func VaultState_Values() []string { + return []string{ + VaultStateCreating, + VaultStateAvailable, + VaultStateFailed, + } +} + +const ( + // VaultTypeBackupVault is a VaultType enum value + VaultTypeBackupVault = "BACKUP_VAULT" + + // VaultTypeLogicallyAirGappedBackupVault is a VaultType enum value + VaultTypeLogicallyAirGappedBackupVault = "LOGICALLY_AIR_GAPPED_BACKUP_VAULT" +) + +// VaultType_Values returns all elements of the VaultType enum +func VaultType_Values() []string { + return []string{ + VaultTypeBackupVault, + VaultTypeLogicallyAirGappedBackupVault, + } +} diff --git a/service/backup/backupiface/interface.go b/service/backup/backupiface/interface.go index aad607f5dcc..4acbf3c56c4 100644 --- a/service/backup/backupiface/interface.go +++ b/service/backup/backupiface/interface.go @@ -84,6 +84,10 @@ type BackupAPI interface { CreateLegalHoldWithContext(aws.Context, *backup.CreateLegalHoldInput, ...request.Option) (*backup.CreateLegalHoldOutput, error) CreateLegalHoldRequest(*backup.CreateLegalHoldInput) (*request.Request, *backup.CreateLegalHoldOutput) + CreateLogicallyAirGappedBackupVault(*backup.CreateLogicallyAirGappedBackupVaultInput) (*backup.CreateLogicallyAirGappedBackupVaultOutput, error) + CreateLogicallyAirGappedBackupVaultWithContext(aws.Context, *backup.CreateLogicallyAirGappedBackupVaultInput, ...request.Option) (*backup.CreateLogicallyAirGappedBackupVaultOutput, error) + CreateLogicallyAirGappedBackupVaultRequest(*backup.CreateLogicallyAirGappedBackupVaultInput) (*request.Request, *backup.CreateLogicallyAirGappedBackupVaultOutput) + CreateReportPlan(*backup.CreateReportPlanInput) (*backup.CreateReportPlanOutput, error) CreateReportPlanWithContext(aws.Context, *backup.CreateReportPlanInput, ...request.Option) (*backup.CreateReportPlanOutput, error) CreateReportPlanRequest(*backup.CreateReportPlanInput) (*request.Request, *backup.CreateReportPlanOutput) @@ -286,6 +290,13 @@ type BackupAPI interface { ListProtectedResourcesPages(*backup.ListProtectedResourcesInput, func(*backup.ListProtectedResourcesOutput, bool) bool) error ListProtectedResourcesPagesWithContext(aws.Context, *backup.ListProtectedResourcesInput, func(*backup.ListProtectedResourcesOutput, bool) bool, ...request.Option) error + ListProtectedResourcesByBackupVault(*backup.ListProtectedResourcesByBackupVaultInput) (*backup.ListProtectedResourcesByBackupVaultOutput, error) + ListProtectedResourcesByBackupVaultWithContext(aws.Context, *backup.ListProtectedResourcesByBackupVaultInput, ...request.Option) (*backup.ListProtectedResourcesByBackupVaultOutput, error) + ListProtectedResourcesByBackupVaultRequest(*backup.ListProtectedResourcesByBackupVaultInput) (*request.Request, *backup.ListProtectedResourcesByBackupVaultOutput) + + ListProtectedResourcesByBackupVaultPages(*backup.ListProtectedResourcesByBackupVaultInput, func(*backup.ListProtectedResourcesByBackupVaultOutput, bool) bool) error + ListProtectedResourcesByBackupVaultPagesWithContext(aws.Context, *backup.ListProtectedResourcesByBackupVaultInput, func(*backup.ListProtectedResourcesByBackupVaultOutput, bool) bool, ...request.Option) error + ListRecoveryPointsByBackupVault(*backup.ListRecoveryPointsByBackupVaultInput) (*backup.ListRecoveryPointsByBackupVaultOutput, error) ListRecoveryPointsByBackupVaultWithContext(aws.Context, *backup.ListRecoveryPointsByBackupVaultInput, ...request.Option) (*backup.ListRecoveryPointsByBackupVaultOutput, error) ListRecoveryPointsByBackupVaultRequest(*backup.ListRecoveryPointsByBackupVaultInput) (*request.Request, *backup.ListRecoveryPointsByBackupVaultOutput) diff --git a/service/elasticache/api.go b/service/elasticache/api.go index 067e71f5145..b820a76478d 100644 --- a/service/elasticache/api.go +++ b/service/elasticache/api.go @@ -7494,6 +7494,94 @@ func (c *ElastiCache) TestFailoverWithContext(ctx aws.Context, input *TestFailov return out, req.Send() } +const opTestMigration = "TestMigration" + +// TestMigrationRequest generates a "aws/request.Request" representing the +// client's request for the TestMigration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TestMigration for more information on using the TestMigration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the TestMigrationRequest method. +// req, resp := client.TestMigrationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestMigration +func (c *ElastiCache) TestMigrationRequest(input *TestMigrationInput) (req *request.Request, output *TestMigrationOutput) { + op := &request.Operation{ + Name: opTestMigration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TestMigrationInput{} + } + + output = &TestMigrationOutput{} + req = c.newRequest(op, input, output) + return +} + +// TestMigration API operation for Amazon ElastiCache. +// +// Async API to test connection between source and target replication group. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon ElastiCache's +// API operation TestMigration for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" +// The specified replication group does not exist. +// +// - ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" +// The requested replication group is not in the available state. +// +// - ErrCodeReplicationGroupAlreadyUnderMigrationFault "ReplicationGroupAlreadyUnderMigrationFault" +// The targeted replication group is not available. +// +// - ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value for a parameter is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestMigration +func (c *ElastiCache) TestMigration(input *TestMigrationInput) (*TestMigrationOutput, error) { + req, out := c.TestMigrationRequest(input) + return out, req.Send() +} + +// TestMigrationWithContext is the same as TestMigration with the addition of +// the ability to pass a context and additional request options. +// +// See TestMigration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElastiCache) TestMigrationWithContext(ctx aws.Context, input *TestMigrationInput, opts ...request.Option) (*TestMigrationOutput, error) { + req, out := c.TestMigrationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + // Represents the input of an AddTagsToResource operation. type AddTagsToResourceInput struct { _ struct{} `type:"structure"` @@ -16113,7 +16201,7 @@ type IncreaseNodeGroupsInGlobalReplicationGroupInput struct { // GlobalReplicationGroupId is a required field GlobalReplicationGroupId *string `type:"string" required:"true"` - // The number of node groups you wish to add + // Total number of node groups you want // // NodeGroupCount is a required field NodeGroupCount *int64 `type:"integer" required:"true"` @@ -21872,6 +21960,98 @@ func (s *TestFailoverOutput) SetReplicationGroup(v *ReplicationGroup) *TestFailo return s } +type TestMigrationInput struct { + _ struct{} `type:"structure"` + + // List of endpoints from which data should be migrated. List should have only + // one element. + // + // CustomerNodeEndpointList is a required field + CustomerNodeEndpointList []*CustomerNodeEndpoint `type:"list" required:"true"` + + // The ID of the replication group to which data is to be migrated. + // + // ReplicationGroupId is a required field + ReplicationGroupId *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 TestMigrationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TestMigrationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TestMigrationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TestMigrationInput"} + if s.CustomerNodeEndpointList == nil { + invalidParams.Add(request.NewErrParamRequired("CustomerNodeEndpointList")) + } + if s.ReplicationGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomerNodeEndpointList sets the CustomerNodeEndpointList field's value. +func (s *TestMigrationInput) SetCustomerNodeEndpointList(v []*CustomerNodeEndpoint) *TestMigrationInput { + s.CustomerNodeEndpointList = v + return s +} + +// SetReplicationGroupId sets the ReplicationGroupId field's value. +func (s *TestMigrationInput) SetReplicationGroupId(v string) *TestMigrationInput { + s.ReplicationGroupId = &v + return s +} + +type TestMigrationOutput struct { + _ struct{} `type:"structure"` + + // Contains all of the attributes of a specific Redis replication group. + ReplicationGroup *ReplicationGroup `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 TestMigrationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TestMigrationOutput) GoString() string { + return s.String() +} + +// SetReplicationGroup sets the ReplicationGroup field's value. +func (s *TestMigrationOutput) SetReplicationGroup(v *ReplicationGroup) *TestMigrationOutput { + s.ReplicationGroup = v + return s +} + // Filters update actions from the service updates that are in available status // during the time range. type TimeRangeFilter struct { diff --git a/service/elasticache/elasticacheiface/interface.go b/service/elasticache/elasticacheiface/interface.go index 05da29561e0..94ca9130048 100644 --- a/service/elasticache/elasticacheiface/interface.go +++ b/service/elasticache/elasticacheiface/interface.go @@ -371,6 +371,10 @@ type ElastiCacheAPI interface { TestFailoverWithContext(aws.Context, *elasticache.TestFailoverInput, ...request.Option) (*elasticache.TestFailoverOutput, error) TestFailoverRequest(*elasticache.TestFailoverInput) (*request.Request, *elasticache.TestFailoverOutput) + TestMigration(*elasticache.TestMigrationInput) (*elasticache.TestMigrationOutput, error) + TestMigrationWithContext(aws.Context, *elasticache.TestMigrationInput, ...request.Option) (*elasticache.TestMigrationOutput, error) + TestMigrationRequest(*elasticache.TestMigrationInput) (*request.Request, *elasticache.TestMigrationOutput) + WaitUntilCacheClusterAvailable(*elasticache.DescribeCacheClustersInput) error WaitUntilCacheClusterAvailableWithContext(aws.Context, *elasticache.DescribeCacheClustersInput, ...request.WaiterOption) error diff --git a/service/servicecatalog/api.go b/service/servicecatalog/api.go index c56823dc663..ed23ab94683 100644 --- a/service/servicecatalog/api.go +++ b/service/servicecatalog/api.go @@ -4802,7 +4802,7 @@ func (c *ServiceCatalog) ImportAsProvisionedProductRequest(input *ImportAsProvis // product. // // Resource import only supports CloudFormation stack ARNs. CloudFormation StackSets, -// and non-root nested stacks are not supported. +// and non-root nested stacks, are not supported. // // The CloudFormation stack must have one of the following statuses to be imported: // CREATE_COMPLETE, UPDATE_COMPLETE, UPDATE_ROLLBACK_COMPLETE, IMPORT_COMPLETE, @@ -4811,14 +4811,17 @@ func (c *ServiceCatalog) ImportAsProvisionedProductRequest(input *ImportAsProvis // Import of the resource requires that the CloudFormation stack template matches // the associated Service Catalog product provisioning artifact. // -// When you import an existing CloudFormation stack into a portfolio, constraints -// that are associated with the product aren't applied during the import process. -// The constraints are applied after you call UpdateProvisionedProduct for the -// provisioned product. +// When you import an existing CloudFormation stack into a portfolio, Service +// Catalog does not apply the product's associated constraints during the import +// process. Service Catalog applies the constraints after you call UpdateProvisionedProduct +// for the provisioned product. // // The user or role that performs this operation must have the cloudformation:GetTemplate // and cloudformation:DescribeStacks IAM policy permissions. // +// You can only import one provisioned product at a time. The product's CloudFormation +// stack must have the IMPORT_COMPLETE status before you import another. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -8387,7 +8390,7 @@ func (c *ServiceCatalog) UpdatePortfolioShareRequest(input *UpdatePortfolioShare // // The portfolio share cannot be updated if the CreatePortfolioShare operation // is IN_PROGRESS, as the share is not available to recipient entities. In this -// case, you must wait for the portfolio share to be COMPLETED. +// case, you must wait for the portfolio share to be completed. // // You must provide the accountId or organization node in the input, but not // both. @@ -9093,7 +9096,7 @@ type AccessLevelFilter struct { // * User - Filter results based on the specified user. Key *string `type:"string" enum:"AccessLevelFilterKey"` - // The user to which the access level applies. The only supported value is Self. + // The user to which the access level applies. The only supported value is self. Value *string `type:"string"` } @@ -20001,7 +20004,7 @@ type ProvisionedProductAttribute struct { // The record identifier of the last request performed on this provisioned product // of the following types: // - // * ProvisionedProduct + // * ProvisionProduct // // * UpdateProvisionedProduct // @@ -20016,7 +20019,7 @@ type ProvisionedProductAttribute struct { // The record identifier of the last successful request performed on this provisioned // product of the following types: // - // * ProvisionedProduct + // * ProvisionProduct // // * UpdateProvisionedProduct // @@ -20236,7 +20239,7 @@ type ProvisionedProductDetail struct { // The record identifier of the last request performed on this provisioned product // of the following types: // - // * ProvisionedProduct + // * ProvisionProduct // // * UpdateProvisionedProduct // @@ -20251,7 +20254,7 @@ type ProvisionedProductDetail struct { // The record identifier of the last successful request performed on this provisioned // product of the following types: // - // * ProvisionedProduct + // * ProvisionProduct // // * UpdateProvisionedProduct // @@ -20749,12 +20752,7 @@ type ProvisioningArtifactDetail struct { // The type of provisioning artifact. // - // * CLOUD_FORMATION_TEMPLATE - CloudFormation template - // - // * MARKETPLACE_AMI - Amazon Web Services Marketplace AMI - // - // * MARKETPLACE_CAR - Amazon Web Services Marketplace Clusters and Amazon - // Web Services Resources + // CLOUD_FORMATION_TEMPLATE - CloudFormation template Type *string `type:"string" enum:"ProvisioningArtifactType"` } @@ -21009,6 +21007,9 @@ type ProvisioningArtifactProperties struct { // If set to true, Service Catalog stops validating the specified provisioning // artifact even if it is invalid. + // + // Service Catalog does not support template validation for the TERRAFORM_OS + // product type. DisableTemplateValidation *bool `type:"boolean"` // Specify the template source with one of the following options, but not both. @@ -21032,11 +21033,6 @@ type ProvisioningArtifactProperties struct { // // * CLOUD_FORMATION_TEMPLATE - CloudFormation template // - // * MARKETPLACE_AMI - Amazon Web Services Marketplace AMI - // - // * MARKETPLACE_CAR - Amazon Web Services Marketplace Clusters and Amazon - // Web Services Resources - // // * TERRAFORM_OPEN_SOURCE - Terraform open source configuration file Type *string `type:"string" enum:"ProvisioningArtifactType"` } @@ -21464,7 +21460,8 @@ type RecordDetail struct { // The user-friendly name of the provisioned product. ProvisionedProductName *string `min:"1" type:"string"` - // The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET. + // The type of provisioned product. The supported values are CFN_STACK, CFN_STACKSET, + // TERRAFORM_OPEN_SOURCE, and TERRAFORM_CLOUD. ProvisionedProductType *string `type:"string"` // The identifier of the provisioning artifact. @@ -22642,7 +22639,7 @@ type SearchProvisionedProductsInput struct { // The search filters. // // When the key is SearchQuery, the searchable fields are arn, createdTime, - // id, lastRecordId, idempotencyToken, name, physicalId, productId, provisioningArtifact, + // id, lastRecordId, idempotencyToken, name, physicalId, productId, provisioningArtifactId, // type, status, tags, userArn, userArnSession, lastProvisioningRecordId, lastSuccessfulProvisioningRecordId, // productName, and provisioningArtifactName. // @@ -25795,6 +25792,9 @@ const ( // ProductTypeTerraformOpenSource is a ProductType enum value ProductTypeTerraformOpenSource = "TERRAFORM_OPEN_SOURCE" + + // ProductTypeTerraformCloud is a ProductType enum value + ProductTypeTerraformCloud = "TERRAFORM_CLOUD" ) // ProductType_Values returns all elements of the ProductType enum @@ -25803,6 +25803,7 @@ func ProductType_Values() []string { ProductTypeCloudFormationTemplate, ProductTypeMarketplace, ProductTypeTerraformOpenSource, + ProductTypeTerraformCloud, } } @@ -25990,6 +25991,9 @@ const ( // ProvisioningArtifactTypeTerraformOpenSource is a ProvisioningArtifactType enum value ProvisioningArtifactTypeTerraformOpenSource = "TERRAFORM_OPEN_SOURCE" + + // ProvisioningArtifactTypeTerraformCloud is a ProvisioningArtifactType enum value + ProvisioningArtifactTypeTerraformCloud = "TERRAFORM_CLOUD" ) // ProvisioningArtifactType_Values returns all elements of the ProvisioningArtifactType enum @@ -25999,6 +26003,7 @@ func ProvisioningArtifactType_Values() []string { ProvisioningArtifactTypeMarketplaceAmi, ProvisioningArtifactTypeMarketplaceCar, ProvisioningArtifactTypeTerraformOpenSource, + ProvisioningArtifactTypeTerraformCloud, } }