From 902642d370e5c8617d6019f4467591edf7184dac Mon Sep 17 00:00:00 2001 From: awssdkgo Date: Tue, 7 Nov 2023 19:58:41 +0000 Subject: [PATCH] Release v1.47.5 (2023-11-07) === ### Service Client Updates * `service/dataexchange`: Updates service API and documentation * `service/dlm`: Updates service API and documentation * `service/rds`: Updates service API, documentation, waiters, paginators, and examples * This Amazon RDS release adds support for the multi-tenant configuration. In this configuration, an RDS DB instance can contain multiple tenant databases. In RDS for Oracle, a tenant database is a pluggable database (PDB). --- CHANGELOG.md | 9 + aws/endpoints/defaults.go | 31 + aws/version.go | 2 +- .../apis/dataexchange/2017-07-25/api-2.json | 7 +- .../apis/dataexchange/2017-07-25/docs-2.json | 7 +- models/apis/dlm/2018-01-12/api-2.json | 55 +- models/apis/dlm/2018-01-12/docs-2.json | 72 +- .../dlm/2018-01-12/endpoint-rule-set-1.json | 386 ++-- .../apis/dlm/2018-01-12/endpoint-tests-1.json | 11 + models/apis/rds/2014-10-31/api-2.json | 333 ++- models/apis/rds/2014-10-31/docs-2.json | 191 +- .../apis/rds/2014-10-31/endpoint-tests-1.json | 11 + models/apis/rds/2014-10-31/paginators-1.json | 12 + models/apis/rds/2014-10-31/waiters-2.json | 49 + models/endpoints/endpoints.json | 13 + service/dlm/api.go | 287 ++- service/rds/api.go | 1817 ++++++++++++++++- service/rds/errors.go | 26 + service/rds/examples_test.go | 22 + service/rds/rdsiface/interface.go | 32 + service/rds/waiters.go | 112 + 21 files changed, 3199 insertions(+), 286 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 439c2a38623..23f1cbf1d0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +Release v1.47.5 (2023-11-07) +=== + +### Service Client Updates +* `service/dataexchange`: Updates service API and documentation +* `service/dlm`: Updates service API and documentation +* `service/rds`: Updates service API, documentation, waiters, paginators, and examples + * This Amazon RDS release adds support for the multi-tenant configuration. In this configuration, an RDS DB instance can contain multiple tenant databases. In RDS for Oracle, a tenant database is a pluggable database (PDB). + Release v1.47.4 (2023-11-06) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index e7bc98c2c5f..809dfca364c 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -1818,6 +1818,12 @@ var awsPartition = partition{ endpointKey{ Region: "ap-northeast-1", }: endpoint{}, + endpointKey{ + Region: "ap-northeast-2", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{}, endpointKey{ Region: "ap-south-1", }: endpoint{}, @@ -1827,12 +1833,27 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-4", + }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + }: endpoint{}, endpointKey{ Region: "eu-central-1", }: endpoint{}, + endpointKey{ + Region: "eu-north-1", + }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, + endpointKey{ + Region: "eu-west-3", + }: endpoint{}, + endpointKey{ + Region: "sa-east-1", + }: endpoint{}, endpointKey{ Region: "us-east-1", }: endpoint{}, @@ -7415,6 +7436,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-3", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-4", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -42529,6 +42553,13 @@ var awsisobPartition = partition{ }: endpoint{}, }, }, + "runtime.sagemaker": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-isob-east-1", + }: endpoint{}, + }, + }, "s3": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{ diff --git a/aws/version.go b/aws/version.go index 44d4aa2ba15..fe630791cdd 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.47.4" +const SDKVersion = "1.47.5" diff --git a/models/apis/dataexchange/2017-07-25/api-2.json b/models/apis/dataexchange/2017-07-25/api-2.json index 3f13d782d8a..9ddd10fe34d 100644 --- a/models/apis/dataexchange/2017-07-25/api-2.json +++ b/models/apis/dataexchange/2017-07-25/api-2.json @@ -2172,7 +2172,7 @@ "shape":"ClientToken", "idempotencyToken":true }, - "Comment":{"shape":"__stringMin0Max16384"}, + "Comment":{"shape":"__stringMin0Max4096"}, "DataSetId":{ "shape":"__string", "location":"uri", @@ -2480,6 +2480,11 @@ "max":16384, "min":0 }, + "__stringMin0Max4096":{ + "type":"string", + "max":4096, + "min":0 + }, "__stringMin10Max512":{ "type":"string", "max":512, diff --git a/models/apis/dataexchange/2017-07-25/docs-2.json b/models/apis/dataexchange/2017-07-25/docs-2.json index c394cd8f8ad..e95a364666d 100644 --- a/models/apis/dataexchange/2017-07-25/docs-2.json +++ b/models/apis/dataexchange/2017-07-25/docs-2.json @@ -1444,11 +1444,16 @@ "GetRevisionResponse$Comment": "

An optional comment about the revision.

", "RevisionEntry$Comment": "

An optional comment about the revision.

", "RevokeRevisionResponse$Comment": "

An optional comment about the revision.

", - "SendDataSetNotificationRequest$Comment": "

Free-form text field for providers to add information about their notifications.

", "UpdateRevisionRequest$Comment": "

An optional comment about the revision.

", "UpdateRevisionResponse$Comment": "

An optional comment about the revision.

" } }, + "__stringMin0Max4096": { + "base": null, + "refs": { + "SendDataSetNotificationRequest$Comment": "

Free-form text field for providers to add information about their notifications.

" + } + }, "__stringMin10Max512": { "base": null, "refs": { diff --git a/models/apis/dlm/2018-01-12/api-2.json b/models/apis/dlm/2018-01-12/api-2.json index 9c88978be72..219ea548544 100644 --- a/models/apis/dlm/2018-01-12/api-2.json +++ b/models/apis/dlm/2018-01-12/api-2.json @@ -226,7 +226,8 @@ "Interval":{"shape":"Interval"}, "IntervalUnit":{"shape":"IntervalUnitValues"}, "Times":{"shape":"TimesList"}, - "CronExpression":{"shape":"CronExpression"} + "CronExpression":{"shape":"CronExpression"}, + "Scripts":{"shape":"ScriptsList"} } }, "CronExpression":{ @@ -363,6 +364,17 @@ "max":50, "min":0 }, + "ExecuteOperationOnScriptFailure":{"type":"boolean"}, + "ExecutionHandler":{ + "type":"string", + "max":200, + "min":0, + "pattern":"^([a-zA-Z0-9_\\-.]{3,128}|[a-zA-Z0-9_\\-.:/]{3,200}|[A-Z0-9_]+)$" + }, + "ExecutionHandlerServiceValues":{ + "type":"string", + "enum":["AWS_SYSTEMS_MANAGER"] + }, "ExecutionRoleArn":{ "type":"string", "max":2048, @@ -678,6 +690,34 @@ "min":0, "pattern":"[0-9A-Za-z _-]+" }, + "Script":{ + "type":"structure", + "required":["ExecutionHandler"], + "members":{ + "Stages":{"shape":"StagesList"}, + "ExecutionHandlerService":{"shape":"ExecutionHandlerServiceValues"}, + "ExecutionHandler":{"shape":"ExecutionHandler"}, + "ExecuteOperationOnScriptFailure":{"shape":"ExecuteOperationOnScriptFailure"}, + "ExecutionTimeout":{"shape":"ScriptExecutionTimeout"}, + "MaximumRetryCount":{"shape":"ScriptMaximumRetryCount"} + } + }, + "ScriptExecutionTimeout":{ + "type":"integer", + "max":120, + "min":10 + }, + "ScriptMaximumRetryCount":{ + "type":"integer", + "max":3, + "min":0 + }, + "ScriptsList":{ + "type":"list", + "member":{"shape":"Script"}, + "max":1, + "min":0 + }, "SettablePolicyStateValues":{ "type":"string", "enum":[ @@ -711,6 +751,19 @@ "max":50, "min":0 }, + "StageValues":{ + "type":"string", + "enum":[ + "PRE", + "POST" + ] + }, + "StagesList":{ + "type":"list", + "member":{"shape":"StageValues"}, + "max":2, + "min":1 + }, "StandardTierRetainRuleCount":{ "type":"integer", "max":1000, diff --git a/models/apis/dlm/2018-01-12/docs-2.json b/models/apis/dlm/2018-01-12/docs-2.json index 2572e269df6..26a3d44a891 100644 --- a/models/apis/dlm/2018-01-12/docs-2.json +++ b/models/apis/dlm/2018-01-12/docs-2.json @@ -4,7 +4,7 @@ "operations": { "CreateLifecyclePolicy": "

Creates a policy to manage the lifecycle of the specified Amazon Web Services resources. You can create up to 100 lifecycle policies.

", "DeleteLifecyclePolicy": "

Deletes the specified lifecycle policy and halts the automated operations that the policy specified.

For more information about deleting a policy, see Delete lifecycle policies.

", - "GetLifecyclePolicies": "

Gets summary information about all or the specified data lifecycle policies.

To get complete information about a policy, use GetLifecyclePolicy.

", + "GetLifecyclePolicies": "

Gets summary information about all or the specified data lifecycle policies.

To get complete information about a policy, use GetLifecyclePolicy.

", "GetLifecyclePolicy": "

Gets detailed information about the specified lifecycle policy.

", "ListTagsForResource": "

Lists the tags for the specified resource.

", "TagResource": "

Adds the specified tags to the specified resource.

", @@ -99,7 +99,7 @@ } }, "CreateRule": { - "base": "

[Snapshot and AMI policies only] Specifies when the policy should create snapshots or AMIs.

", + "base": "

[Snapshot and AMI policies only] Specifies when the policy should create snapshots or AMIs.

", "refs": { "Schedule$CreateRule": "

The creation rule.

" } @@ -111,7 +111,7 @@ } }, "CrossRegionCopyAction": { - "base": "

[Event-based policies only] Specifies a cross-Region copy action for event-based policies.

To specify a cross-Region copy rule for snapshot and AMI policies, use CrossRegionCopyRule.

", + "base": "

[Event-based policies only] Specifies a cross-Region copy action for event-based policies.

To specify a cross-Region copy rule for snapshot and AMI policies, use CrossRegionCopyRule.

", "refs": { "CrossRegionCopyActionList$member": null } @@ -136,7 +136,7 @@ } }, "CrossRegionCopyRule": { - "base": "

[Snapshot and AMI policies only] Specifies a cross-Region copy rule for snapshot and AMI policies.

To specify a cross-Region copy action for event-based polices, use CrossRegionCopyAction.

", + "base": "

[Snapshot and AMI policies only] Specifies a cross-Region copy rule for a snapshot and AMI policies.

To specify a cross-Region copy action for event-based polices, use CrossRegionCopyAction.

", "refs": { "CrossRegionCopyRules$member": null } @@ -236,6 +236,24 @@ "Parameters$ExcludeDataVolumeTags": "

[Snapshot policies that target instances only] The tags used to identify data (non-root) volumes to exclude from multi-volume snapshot sets.

If you create a snapshot lifecycle policy that targets instances and you specify tags for this parameter, then data volumes with the specified tags that are attached to targeted instances will be excluded from the multi-volume snapshot sets created by the policy.

" } }, + "ExecuteOperationOnScriptFailure": { + "base": null, + "refs": { + "Script$ExecuteOperationOnScriptFailure": "

Indicates whether Amazon Data Lifecycle Manager should default to crash-consistent snapshots if the pre script fails.

This parameter is supported only if you run a pre script. If you run a post script only, omit this parameter.

Default: true

" + } + }, + "ExecutionHandler": { + "base": null, + "refs": { + "Script$ExecutionHandler": "

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

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

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

Default: AWS_SYSTEMS_MANAGER

" + } + }, "ExecutionRoleArn": { "base": null, "refs": { @@ -453,7 +471,7 @@ } }, "RetainRule": { - "base": "

[Snapshot and AMI policies only] Specifies a retention rule for snapshots created by snapshot policies, or for AMIs created by AMI policies.

For snapshot policies that have an ArchiveRule, this retention rule applies to standard tier retention. When the retention threshold is met, snapshots are moved from the standard to the archive tier.

For snapshot policies that do not have an ArchiveRule, snapshots are permanently deleted when this retention threshold is met.

You can retain snapshots based on either a count or a time interval.

", + "base": "

[Snapshot and AMI policies only] Specifies a retention rule for snapshots created by snapshot policies, or for AMIs created by AMI policies.

For snapshot policies that have an ArchiveRule, this retention rule applies to standard tier retention. When the retention threshold is met, snapshots are moved from the standard to the archive tier.

For snapshot policies that do not have an ArchiveRule, snapshots are permanently deleted when this retention threshold is met.

You can retain snapshots based on either a count or a time interval.

", "refs": { "Schedule$RetainRule": "

The retention rule for snapshots or AMIs created by the policy.

" } @@ -471,7 +489,7 @@ "CrossRegionCopyRetainRule$IntervalUnit": "

The unit of time for time-based retention. For example, to retain a cross-Region copy for 3 months, specify Interval=3 and IntervalUnit=MONTHS.

", "DeprecateRule$IntervalUnit": "

The unit of time in which to measure the Interval.

", "FastRestoreRule$IntervalUnit": "

The unit of time for enabling fast snapshot restore.

", - "RetainRule$IntervalUnit": "

The unit of time for time-based retention. For example, to retain snapshots for 3 months, specify Interval=3 and IntervalUnit=MONTHS. Once the snapshot has been retained for 3 months, it is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.

", + "RetainRule$IntervalUnit": "

The unit of time for time-based retention. For example, to retain snapshots for 3 months, specify Interval=3 and IntervalUnit=MONTHS. Once the snapshot has been retained for 3 months, it is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.

", "RetentionArchiveTier$IntervalUnit": "

The unit of time in which to measure the Interval. For example, to retain a snapshots in the archive tier for 6 months, specify Interval=6 and IntervalUnit=MONTHS.

", "ShareRule$UnshareIntervalUnit": "

The unit of time for the automatic unsharing interval.

" } @@ -494,6 +512,30 @@ "Schedule$Name": "

The name of the schedule.

" } }, + "Script": { + "base": "

[Snapshot policies that target instances only] Information about pre and/or post scripts for a snapshot lifecycle policy that targets instances. For more information, see Automating application-consistent snapshots with pre and post scripts.

", + "refs": { + "ScriptsList$member": null + } + }, + "ScriptExecutionTimeout": { + "base": null, + "refs": { + "Script$ExecutionTimeout": "

Specifies a timeout period, in seconds, after which Amazon Data Lifecycle Manager fails the script run attempt if it has not completed. If a script does not complete within its timeout period, Amazon Data Lifecycle Manager fails the attempt. The timeout period applies to the pre and post scripts individually.

If you are automating VSS Backups, omit this parameter.

Default: 10

" + } + }, + "ScriptMaximumRetryCount": { + "base": null, + "refs": { + "Script$MaximumRetryCount": "

Specifies the number of times Amazon Data Lifecycle Manager should retry scripts that fail.

If you do not want Amazon Data Lifecycle Manager to retry failed scripts, specify 0.

Default: 0

" + } + }, + "ScriptsList": { + "base": null, + "refs": { + "CreateRule$Scripts": "

[Snapshot policies that target instances only] Specifies pre and/or post scripts for a snapshot lifecycle policy that targets instances. This is useful for creating application-consistent snapshots, or for performing specific administrative tasks before or after Amazon Data Lifecycle Manager initiates snapshot creation.

For more information, see Automating application-consistent snapshots with pre and post scripts.

" + } + }, "SettablePolicyStateValues": { "base": null, "refs": { @@ -525,10 +567,22 @@ "EventParameters$SnapshotOwner": "

The IDs of the Amazon Web Services accounts that can trigger policy by sharing snapshots with your account. The policy only runs if one of the specified Amazon Web Services accounts shares a snapshot with your account.

" } }, + "StageValues": { + "base": null, + "refs": { + "StagesList$member": null + } + }, + "StagesList": { + "base": null, + "refs": { + "Script$Stages": "

Indicate which scripts Amazon Data Lifecycle Manager should run on target instances. Pre scripts run before Amazon Data Lifecycle Manager initiates snapshot creation. Post scripts run after Amazon Data Lifecycle Manager initiates snapshot creation.

If you are automating VSS Backups, omit this parameter.

Default: PRE and POST

" + } + }, "StandardTierRetainRuleCount": { "base": null, "refs": { - "RetainRule$Count": "

The number of snapshots to retain for each volume, up to a maximum of 1000. For example if you want to retain a maximum of three snapshots, specify 3. When the fourth snapshot is created, the oldest retained snapshot is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.

" + "RetainRule$Count": "

The number of snapshots to retain for each volume, up to a maximum of 1000. For example if you want to retain a maximum of three snapshots, specify 3. When the fourth snapshot is created, the oldest retained snapshot is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.

" } }, "StandardTierRetainRuleInterval": { @@ -623,13 +677,13 @@ "base": null, "refs": { "CrossRegionCopyAction$Target": "

The target Region.

", - "CrossRegionCopyRule$Target": "

The target Region or the Amazon Resource Name (ARN) of the target Outpost for the snapshot copies.

Use this parameter instead of TargetRegion. Do not specify both.

" + "CrossRegionCopyRule$Target": "

Use this parameter for snapshot policies only. For AMI policies, use TargetRegion instead.

[Snapshot policies only] The target Region or the Amazon Resource Name (ARN) of the target Outpost for the snapshot copies.

" } }, "TargetRegion": { "base": null, "refs": { - "CrossRegionCopyRule$TargetRegion": "

Avoid using this parameter when creating new policies. Instead, use Target to specify a target Region or a target Outpost for snapshot copies.

For policies created before the Target parameter was introduced, this parameter indicates the target Region for snapshot copies.

" + "CrossRegionCopyRule$TargetRegion": "

Use this parameter for AMI policies only. For snapshot policies, use Target instead. For snapshot policies created before the Target parameter was introduced, this parameter indicates the target Region for snapshot copies.

[AMI policies only] The target Region or the Amazon Resource Name (ARN) of the target Outpost for the snapshot copies.

" } }, "TargetTagList": { diff --git a/models/apis/dlm/2018-01-12/endpoint-rule-set-1.json b/models/apis/dlm/2018-01-12/endpoint-rule-set-1.json index 7069e7a3bbb..29ea0ac9ca6 100644 --- a/models/apis/dlm/2018-01-12/endpoint-rule-set-1.json +++ b/models/apis/dlm/2018-01-12/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -58,318 +57,283 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "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://dlm-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://dlm-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, true ] } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://dlm.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" }, - { - "conditions": [], - "endpoint": { - "url": "https://dlm-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "aws-us-gov" ] } - ] + ], + "endpoint": { + "url": "https://dlm.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://dlm-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://dlm.{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://dlm.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://dlm.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://dlm.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" + ], + "type": "tree" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/dlm/2018-01-12/endpoint-tests-1.json b/models/apis/dlm/2018-01-12/endpoint-tests-1.json index 53f0e7caa24..bb94fc3b007 100644 --- a/models/apis/dlm/2018-01-12/endpoint-tests-1.json +++ b/models/apis/dlm/2018-01-12/endpoint-tests-1.json @@ -620,6 +620,17 @@ "expect": { "error": "Invalid Configuration: Missing Region" } + }, + { + "documentation": "Partition doesn't support DualStack", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } } ], "version": "1.0" diff --git a/models/apis/rds/2014-10-31/api-2.json b/models/apis/rds/2014-10-31/api-2.json index 58eb861c81b..4f43a13518f 100644 --- a/models/apis/rds/2014-10-31/api-2.json +++ b/models/apis/rds/2014-10-31/api-2.json @@ -70,7 +70,9 @@ {"shape":"DBProxyNotFoundFault"}, {"shape":"DBProxyTargetGroupNotFoundFault"}, {"shape":"BlueGreenDeploymentNotFoundFault"}, - {"shape":"IntegrationNotFoundFault"} + {"shape":"IntegrationNotFoundFault"}, + {"shape":"TenantDatabaseNotFoundFault"}, + {"shape":"DBSnapshotTenantDatabaseNotFoundFault"} ] }, "ApplyPendingMaintenanceAction":{ @@ -394,7 +396,8 @@ {"shape":"DomainNotFoundFault"}, {"shape":"BackupPolicyNotFoundFault"}, {"shape":"NetworkTypeNotSupported"}, - {"shape":"CertificateNotFoundFault"} + {"shape":"CertificateNotFoundFault"}, + {"shape":"TenantDatabaseQuotaExceededFault"} ] }, "CreateDBInstanceReadReplica":{ @@ -430,7 +433,8 @@ {"shape":"StorageTypeNotSupportedFault"}, {"shape":"KMSKeyNotAccessibleFault"}, {"shape":"DomainNotFoundFault"}, - {"shape":"NetworkTypeNotSupported"} + {"shape":"NetworkTypeNotSupported"}, + {"shape":"TenantDatabaseQuotaExceededFault"} ] }, "CreateDBParameterGroup":{ @@ -614,6 +618,24 @@ {"shape":"OptionGroupQuotaExceededFault"} ] }, + "CreateTenantDatabase":{ + "name":"CreateTenantDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTenantDatabaseMessage"}, + "output":{ + "shape":"CreateTenantDatabaseResult", + "resultWrapper":"CreateTenantDatabaseResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"TenantDatabaseAlreadyExistsFault"}, + {"shape":"TenantDatabaseQuotaExceededFault"} + ] + }, "DeleteBlueGreenDeployment":{ "name":"DeleteBlueGreenDeployment", "http":{ @@ -909,6 +931,23 @@ {"shape":"InvalidOptionGroupStateFault"} ] }, + "DeleteTenantDatabase":{ + "name":"DeleteTenantDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTenantDatabaseMessage"}, + "output":{ + "shape":"DeleteTenantDatabaseResult", + "resultWrapper":"DeleteTenantDatabaseResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"TenantDatabaseNotFoundFault"}, + {"shape":"InvalidDBInstanceStateFault"} + ] + }, "DeregisterDBProxyTargets":{ "name":"DeregisterDBProxyTargets", "http":{ @@ -1273,6 +1312,21 @@ {"shape":"DBSnapshotNotFoundFault"} ] }, + "DescribeDBSnapshotTenantDatabases":{ + "name":"DescribeDBSnapshotTenantDatabases", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBSnapshotTenantDatabasesMessage"}, + "output":{ + "shape":"DBSnapshotTenantDatabasesMessage", + "resultWrapper":"DescribeDBSnapshotTenantDatabasesResult" + }, + "errors":[ + {"shape":"DBSnapshotNotFoundFault"} + ] + }, "DescribeDBSnapshots":{ "name":"DescribeDBSnapshots", "http":{ @@ -1507,6 +1561,21 @@ "resultWrapper":"DescribeSourceRegionsResult" } }, + "DescribeTenantDatabases":{ + "name":"DescribeTenantDatabases", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTenantDatabasesMessage"}, + "output":{ + "shape":"TenantDatabasesMessage", + "resultWrapper":"DescribeTenantDatabasesResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"} + ] + }, "DescribeValidDBInstanceModifications":{ "name":"DescribeValidDBInstanceModifications", "http":{ @@ -1592,7 +1661,9 @@ {"shape":"DBProxyNotFoundFault"}, {"shape":"DBProxyTargetGroupNotFoundFault"}, {"shape":"BlueGreenDeploymentNotFoundFault"}, - {"shape":"IntegrationNotFoundFault"} + {"shape":"IntegrationNotFoundFault"}, + {"shape":"TenantDatabaseNotFoundFault"}, + {"shape":"DBSnapshotTenantDatabaseNotFoundFault"} ] }, "ModifyActivityStream":{ @@ -1771,7 +1842,8 @@ {"shape":"BackupPolicyNotFoundFault"}, {"shape":"KMSKeyNotAccessibleFault"}, {"shape":"InvalidDBClusterStateFault"}, - {"shape":"NetworkTypeNotSupported"} + {"shape":"NetworkTypeNotSupported"}, + {"shape":"TenantDatabaseQuotaExceededFault"} ] }, "ModifyDBParameterGroup":{ @@ -1947,6 +2019,24 @@ {"shape":"OptionGroupNotFoundFault"} ] }, + "ModifyTenantDatabase":{ + "name":"ModifyTenantDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyTenantDatabaseMessage"}, + "output":{ + "shape":"ModifyTenantDatabaseResult", + "resultWrapper":"ModifyTenantDatabaseResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"TenantDatabaseNotFoundFault"}, + {"shape":"TenantDatabaseAlreadyExistsFault"}, + {"shape":"InvalidDBInstanceStateFault"} + ] + }, "PromoteReadReplica":{ "name":"PromoteReadReplica", "http":{ @@ -2125,7 +2215,9 @@ {"shape":"DBProxyNotFoundFault"}, {"shape":"DBProxyTargetGroupNotFoundFault"}, {"shape":"BlueGreenDeploymentNotFoundFault"}, - {"shape":"IntegrationNotFoundFault"} + {"shape":"IntegrationNotFoundFault"}, + {"shape":"TenantDatabaseNotFoundFault"}, + {"shape":"DBSnapshotTenantDatabaseNotFoundFault"} ] }, "ResetDBClusterParameterGroup":{ @@ -2290,7 +2382,8 @@ {"shape":"DBParameterGroupNotFoundFault"}, {"shape":"BackupPolicyNotFoundFault"}, {"shape":"NetworkTypeNotSupported"}, - {"shape":"DBClusterSnapshotNotFoundFault"} + {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"TenantDatabaseQuotaExceededFault"} ] }, "RestoreDBInstanceFromS3":{ @@ -2359,7 +2452,8 @@ {"shape":"BackupPolicyNotFoundFault"}, {"shape":"DBParameterGroupNotFoundFault"}, {"shape":"DBInstanceAutomatedBackupNotFoundFault"}, - {"shape":"NetworkTypeNotSupported"} + {"shape":"NetworkTypeNotSupported"}, + {"shape":"TenantDatabaseQuotaExceededFault"} ] }, "RevokeDBSecurityGroupIngress":{ @@ -3425,7 +3519,8 @@ "MasterUserSecretKmsKeyId":{"shape":"String"}, "CACertificateIdentifier":{"shape":"String"}, "DBSystemId":{"shape":"String"}, - "DedicatedLogVolume":{"shape":"BooleanOptional"} + "DedicatedLogVolume":{"shape":"BooleanOptional"}, + "MultiTenant":{"shape":"BooleanOptional"} } }, "CreateDBInstanceReadReplicaMessage":{ @@ -3694,6 +3789,30 @@ "OptionGroup":{"shape":"OptionGroup"} } }, + "CreateTenantDatabaseMessage":{ + "type":"structure", + "required":[ + "DBInstanceIdentifier", + "TenantDBName", + "MasterUsername", + "MasterUserPassword" + ], + "members":{ + "DBInstanceIdentifier":{"shape":"String"}, + "TenantDBName":{"shape":"String"}, + "MasterUsername":{"shape":"String"}, + "MasterUserPassword":{"shape":"SensitiveString"}, + "CharacterSetName":{"shape":"String"}, + "NcharCharacterSetName":{"shape":"String"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateTenantDatabaseResult":{ + "type":"structure", + "members":{ + "TenantDatabase":{"shape":"TenantDatabase"} + } + }, "CustomAvailabilityZoneNotFoundFault":{ "type":"structure", "members":{ @@ -4433,7 +4552,8 @@ "ReadReplicaSourceDBClusterIdentifier":{"shape":"String"}, "PercentProgress":{"shape":"String"}, "DedicatedLogVolume":{"shape":"Boolean"}, - "IsStorageConfigUpgradeAvailable":{"shape":"BooleanOptional"} + "IsStorageConfigUpgradeAvailable":{"shape":"BooleanOptional"}, + "MultiTenant":{"shape":"BooleanOptional"} }, "wrapper":true }, @@ -4480,7 +4600,8 @@ "BackupTarget":{"shape":"String"}, "StorageThroughput":{"shape":"IntegerOptional"}, "AwsBackupRecoveryPointArn":{"shape":"String"}, - "DedicatedLogVolume":{"shape":"BooleanOptional"} + "DedicatedLogVolume":{"shape":"BooleanOptional"}, + "MultiTenant":{"shape":"BooleanOptional"} }, "wrapper":true }, @@ -5059,7 +5180,8 @@ "SnapshotTarget":{"shape":"String"}, "StorageThroughput":{"shape":"IntegerOptional"}, "DBSystemId":{"shape":"String"}, - "DedicatedLogVolume":{"shape":"Boolean"} + "DedicatedLogVolume":{"shape":"Boolean"}, + "MultiTenant":{"shape":"BooleanOptional"} }, "wrapper":true }, @@ -5122,6 +5244,50 @@ }, "exception":true }, + "DBSnapshotTenantDatabase":{ + "type":"structure", + "members":{ + "DBSnapshotIdentifier":{"shape":"String"}, + "DBInstanceIdentifier":{"shape":"String"}, + "DbiResourceId":{"shape":"String"}, + "EngineName":{"shape":"String"}, + "SnapshotType":{"shape":"String"}, + "TenantDatabaseCreateTime":{"shape":"TStamp"}, + "TenantDBName":{"shape":"String"}, + "MasterUsername":{"shape":"String"}, + "TenantDatabaseResourceId":{"shape":"String"}, + "CharacterSetName":{"shape":"String"}, + "DBSnapshotTenantDatabaseARN":{"shape":"String"}, + "NcharCharacterSetName":{"shape":"String"}, + "TagList":{"shape":"TagList"} + }, + "wrapper":true + }, + "DBSnapshotTenantDatabaseNotFoundFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"DBSnapshotTenantDatabaseNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBSnapshotTenantDatabasesList":{ + "type":"list", + "member":{ + "shape":"DBSnapshotTenantDatabase", + "locationName":"DBSnapshotTenantDatabase" + } + }, + "DBSnapshotTenantDatabasesMessage":{ + "type":"structure", + "members":{ + "Marker":{"shape":"String"}, + "DBSnapshotTenantDatabases":{"shape":"DBSnapshotTenantDatabasesList"} + } + }, "DBSubnetGroup":{ "type":"structure", "members":{ @@ -5442,6 +5608,25 @@ "OptionGroupName":{"shape":"String"} } }, + "DeleteTenantDatabaseMessage":{ + "type":"structure", + "required":[ + "DBInstanceIdentifier", + "TenantDBName" + ], + "members":{ + "DBInstanceIdentifier":{"shape":"String"}, + "TenantDBName":{"shape":"String"}, + "SkipFinalSnapshot":{"shape":"Boolean"}, + "FinalDBSnapshotIdentifier":{"shape":"String"} + } + }, + "DeleteTenantDatabaseResult":{ + "type":"structure", + "members":{ + "TenantDatabase":{"shape":"TenantDatabase"} + } + }, "DeregisterDBProxyTargetsRequest":{ "type":"structure", "required":["DBProxyName"], @@ -5756,6 +5941,18 @@ "DBSnapshotAttributesResult":{"shape":"DBSnapshotAttributesResult"} } }, + "DescribeDBSnapshotTenantDatabasesMessage":{ + "type":"structure", + "members":{ + "DBInstanceIdentifier":{"shape":"String"}, + "DBSnapshotIdentifier":{"shape":"String"}, + "SnapshotType":{"shape":"String"}, + "Filters":{"shape":"FilterList"}, + "MaxRecords":{"shape":"IntegerOptional"}, + "Marker":{"shape":"String"}, + "DbiResourceId":{"shape":"String"} + } + }, "DescribeDBSnapshotsMessage":{ "type":"structure", "members":{ @@ -5962,6 +6159,16 @@ "Filters":{"shape":"FilterList"} } }, + "DescribeTenantDatabasesMessage":{ + "type":"structure", + "members":{ + "DBInstanceIdentifier":{"shape":"String"}, + "TenantDBName":{"shape":"String"}, + "Filters":{"shape":"FilterList"}, + "Marker":{"shape":"String"}, + "MaxRecords":{"shape":"IntegerOptional"} + } + }, "DescribeValidDBInstanceModificationsMessage":{ "type":"structure", "required":["DBInstanceIdentifier"], @@ -7250,7 +7457,8 @@ "RotateMasterUserPassword":{"shape":"BooleanOptional"}, "MasterUserSecretKmsKeyId":{"shape":"String"}, "Engine":{"shape":"String"}, - "DedicatedLogVolume":{"shape":"BooleanOptional"} + "DedicatedLogVolume":{"shape":"BooleanOptional"}, + "MultiTenant":{"shape":"BooleanOptional"} } }, "ModifyDBInstanceResult":{ @@ -7425,6 +7633,25 @@ "OptionGroup":{"shape":"OptionGroup"} } }, + "ModifyTenantDatabaseMessage":{ + "type":"structure", + "required":[ + "DBInstanceIdentifier", + "TenantDBName" + ], + "members":{ + "DBInstanceIdentifier":{"shape":"String"}, + "TenantDBName":{"shape":"String"}, + "MasterUserPassword":{"shape":"SensitiveString"}, + "NewTenantDBName":{"shape":"String"} + } + }, + "ModifyTenantDatabaseResult":{ + "type":"structure", + "members":{ + "TenantDatabase":{"shape":"TenantDatabase"} + } + }, "NetworkTypeNotSupported":{ "type":"structure", "members":{ @@ -7817,7 +8044,8 @@ "ResumeFullAutomationModeTime":{"shape":"TStamp"}, "StorageThroughput":{"shape":"IntegerOptional"}, "Engine":{"shape":"String"}, - "DedicatedLogVolume":{"shape":"BooleanOptional"} + "DedicatedLogVolume":{"shape":"BooleanOptional"}, + "MultiTenant":{"shape":"BooleanOptional"} } }, "PointInTimeRestoreNotEnabledFault":{ @@ -8623,6 +8851,10 @@ "SecondsBeforeTimeout":{"shape":"IntegerOptional"} } }, + "SensitiveString":{ + "type":"string", + "sensitive":true + }, "ServerlessV2ScalingConfiguration":{ "type":"structure", "members":{ @@ -9166,6 +9398,79 @@ "TRACKED_CLUSTER" ] }, + "TenantDatabase":{ + "type":"structure", + "members":{ + "TenantDatabaseCreateTime":{"shape":"TStamp"}, + "DBInstanceIdentifier":{"shape":"String"}, + "TenantDBName":{"shape":"String"}, + "Status":{"shape":"String"}, + "MasterUsername":{"shape":"String"}, + "DbiResourceId":{"shape":"String"}, + "TenantDatabaseResourceId":{"shape":"String"}, + "TenantDatabaseARN":{"shape":"String"}, + "CharacterSetName":{"shape":"String"}, + "NcharCharacterSetName":{"shape":"String"}, + "DeletionProtection":{"shape":"Boolean"}, + "PendingModifiedValues":{"shape":"TenantDatabasePendingModifiedValues"}, + "TagList":{"shape":"TagList"} + }, + "wrapper":true + }, + "TenantDatabaseAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"TenantDatabaseAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TenantDatabaseNotFoundFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"TenantDatabaseNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "TenantDatabasePendingModifiedValues":{ + "type":"structure", + "members":{ + "MasterUserPassword":{"shape":"SensitiveString"}, + "TenantDBName":{"shape":"String"} + } + }, + "TenantDatabaseQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"TenantDatabaseQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TenantDatabasesList":{ + "type":"list", + "member":{ + "shape":"TenantDatabase", + "locationName":"TenantDatabase" + } + }, + "TenantDatabasesMessage":{ + "type":"structure", + "members":{ + "Marker":{"shape":"String"}, + "TenantDatabases":{"shape":"TenantDatabasesList"} + } + }, "Timezone":{ "type":"structure", "members":{ diff --git a/models/apis/rds/2014-10-31/docs-2.json b/models/apis/rds/2014-10-31/docs-2.json index d1fb626c746..35ce45f6e99 100644 --- a/models/apis/rds/2014-10-31/docs-2.json +++ b/models/apis/rds/2014-10-31/docs-2.json @@ -33,6 +33,7 @@ "CreateGlobalCluster": "

Creates an Aurora global database spread across multiple Amazon Web Services Regions. The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem.

You can create a global database that is initially empty, and then create the primary and secondary DB clusters in the global database. Or you can specify an existing Aurora cluster during the create operation, and this cluster becomes the primary cluster of the global database.

This operation applies only to Aurora DB clusters.

", "CreateIntegration": "

Creates a zero-ETL integration with Amazon Redshift. For more information, see Working with Amazon Aurora zero-ETL integrations with Amazon Redshift in the Amazon Aurora User Guide.

", "CreateOptionGroup": "

Creates a new option group. You can create up to 20 option groups.

This command doesn't apply to RDS Custom.

", + "CreateTenantDatabase": "

Creates a tenant database in a DB instance that uses the multi-tenant configuration. Only RDS for Oracle container database (CDB) instances are supported.

", "DeleteBlueGreenDeployment": "

Deletes a blue/green deployment.

For more information, see Using Amazon RDS Blue/Green Deployments for database updates in the Amazon RDS User Guide and Using Amazon RDS Blue/Green Deployments for database updates in the Amazon Aurora User Guide.

", "DeleteCustomDBEngineVersion": "

Deletes a custom engine version. To run this command, make sure you meet the following prerequisites:

Typically, deletion takes a few minutes.

The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the DeleteCustomDbEngineVersion event aren't logged. However, you might see calls from the API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for the DeleteCustomDbEngineVersion event.

For more information, see Deleting a CEV in the Amazon RDS User Guide.

", "DeleteDBCluster": "

The DeleteDBCluster action deletes a previously provisioned DB cluster. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the specified DB cluster are not deleted.

If you're deleting a Multi-AZ DB cluster with read replicas, all cluster members are terminated and read replicas are promoted to standalone instances.

For more information on Amazon Aurora, see What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

", @@ -52,6 +53,7 @@ "DeleteGlobalCluster": "

Deletes a global database cluster. The primary and secondary clusters must already be detached or destroyed first.

This action only applies to Aurora DB clusters.

", "DeleteIntegration": "

Deletes a zero-ETL integration with Amazon Redshift. For more information, see Deleting Amazon Aurora zero-ETL integrations with Amazon Redshift in the Amazon Aurora User Guide

", "DeleteOptionGroup": "

Deletes an existing option group.

", + "DeleteTenantDatabase": "

Deletes a tenant database from your DB instance. This command only applies to RDS for Oracle container database (CDB) instances.

You can't delete a tenant database when it is the only tenant in the DB instance.

", "DeregisterDBProxyTargets": "

Remove the association between one or more DBProxyTarget data structures and a DBProxyTargetGroup.

", "DescribeAccountAttributes": "

Lists all of the attributes for a customer account. The attributes include Amazon RDS quotas for the account, such as the number of DB instances allowed. The description for a quota includes the quota name, current usage toward that quota, and the quota's maximum value.

This command doesn't take any parameters.

", "DescribeBlueGreenDeployments": "

Describes one or more blue/green deployments.

For more information, see Using Amazon RDS Blue/Green Deployments for database updates in the Amazon RDS User Guide and Using Amazon RDS Blue/Green Deployments for database updates in the Amazon Aurora User Guide.

", @@ -76,6 +78,7 @@ "DescribeDBProxyTargets": "

Returns information about DBProxyTarget objects. This API supports pagination.

", "DescribeDBSecurityGroups": "

Returns a list of DBSecurityGroup descriptions. If a DBSecurityGroupName is specified, the list will contain only the descriptions of the specified DB security group.

EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that you migrate as soon as possible. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 User Guide, the blog EC2-Classic Networking is Retiring – Here’s How to Prepare, and Moving a DB instance not in a VPC into a VPC in the Amazon RDS User Guide.

", "DescribeDBSnapshotAttributes": "

Returns a list of DB snapshot attribute names and values for a manual DB snapshot.

When sharing snapshots with other Amazon Web Services accounts, DescribeDBSnapshotAttributes returns the restore attribute and a list of IDs for the Amazon Web Services accounts that are authorized to copy or restore the manual DB snapshot. If all is included in the list of values for the restore attribute, then the manual DB snapshot is public and can be copied or restored by all Amazon Web Services accounts.

To add or remove access for an Amazon Web Services account to copy or restore a manual DB snapshot, or to make the manual DB snapshot public or private, use the ModifyDBSnapshotAttribute API action.

", + "DescribeDBSnapshotTenantDatabases": "

Describes the tenant databases that exist in a DB snapshot. This command only applies to RDS for Oracle DB instances in the multi-tenant configuration.

You can use this command to inspect the tenant databases within a snapshot before restoring it. You can't directly interact with the tenant databases in a DB snapshot. If you restore a snapshot that was taken from DB instance using the multi-tenant configuration, you restore all its tenant databases.

", "DescribeDBSnapshots": "

Returns information about DB snapshots. This API action supports pagination.

", "DescribeDBSubnetGroups": "

Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list will contain only the descriptions of the specified DBSubnetGroup.

For an overview of CIDR ranges, go to the Wikipedia Tutorial.

", "DescribeEngineDefaultClusterParameters": "

Returns the default engine and system parameter information for the cluster database engine.

For more information on Amazon Aurora, see What is Amazon Aurora? in the Amazon Aurora User Guide.

", @@ -93,6 +96,7 @@ "DescribeReservedDBInstances": "

Returns information about reserved DB instances for this account, or about a specified reserved DB instance.

", "DescribeReservedDBInstancesOfferings": "

Lists available reserved DB instance offerings.

", "DescribeSourceRegions": "

Returns a list of the source Amazon Web Services Regions where the current Amazon Web Services Region can create a read replica, copy a DB snapshot from, or replicate automated backups from.

Use this operation to determine whether cross-Region features are supported between other Regions and your current Region. This operation supports pagination.

To return information about the Regions that are enabled for your account, or all Regions, use the EC2 operation DescribeRegions. For more information, see DescribeRegions in the Amazon EC2 API Reference.

", + "DescribeTenantDatabases": "

Describes the tenant databases in a DB instance that uses the multi-tenant configuration. Only RDS for Oracle CDB instances are supported.

", "DescribeValidDBInstanceModifications": "

You can call DescribeValidDBInstanceModifications to learn what modifications you can make to your DB instance. You can use this information when you call ModifyDBInstance.

This command doesn't apply to RDS Custom.

", "DownloadDBLogFilePortion": "

Downloads all or a portion of the specified log file, up to 1 MB in size.

This command doesn't apply to RDS Custom.

", "FailoverDBCluster": "

Forces a failover for a DB cluster.

For an Aurora DB cluster, failover for a DB cluster promotes one of the Aurora Replicas (read-only instances) in the DB cluster to be the primary DB instance (the cluster writer).

For a Multi-AZ DB cluster, failover for a DB cluster promotes one of the readable standby DB instances (read-only instances) in the DB cluster to be the primary DB instance (the cluster writer).

An Amazon Aurora DB cluster automatically fails over to an Aurora Replica, if one exists, when the primary DB instance fails. A Multi-AZ DB cluster automatically fails over to a readable standby DB instance when the primary DB instance fails.

To simulate a failure of a primary instance for testing, you can force a failover. Because each instance in a DB cluster has its own endpoint address, make sure to clean up and re-establish any existing connections that use those endpoint addresses when the failover is complete.

For more information on Amazon Aurora DB clusters, see What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

", @@ -117,6 +121,7 @@ "ModifyEventSubscription": "

Modifies an existing RDS event notification subscription. You can't modify the source identifiers using this call. To change source identifiers for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription calls.

You can see a list of the event categories for a given source type (SourceType) in Events in the Amazon RDS User Guide or by using the DescribeEventCategories operation.

", "ModifyGlobalCluster": "

Modifies a setting for an Amazon Aurora global database cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see What is Amazon Aurora? in the Amazon Aurora User Guide.

This operation only applies to Aurora global database clusters.

", "ModifyOptionGroup": "

Modifies an existing option group.

", + "ModifyTenantDatabase": "

Modifies an existing tenant database in a DB instance. You can change the tenant database name or the master user password. This operation is supported only for RDS for Oracle CDB instances using the multi-tenant configuration.

", "PromoteReadReplica": "

Promotes a read replica DB instance to a standalone DB instance.

  • Backup duration is a function of the amount of changes to the database since the previous backup. If you plan to promote a read replica to a standalone instance, we recommend that you enable backups and complete at least one backup prior to promotion. In addition, a read replica cannot be promoted to a standalone instance when it is in the backing-up status. If you have enabled backups on your read replica, configure the automated backup window so that daily backups do not interfere with read replica promotion.

  • This command doesn't apply to Aurora MySQL, Aurora PostgreSQL, or RDS Custom.

", "PromoteReadReplicaDBCluster": "

Promotes a read replica DB cluster to a standalone DB cluster.

", "PurchaseReservedDBInstancesOffering": "

Purchases a reserved DB instance offering.

", @@ -465,7 +470,7 @@ "DBInstance$DedicatedLogVolume": "

Indicates whether the DB instance has a dedicated log volume (DLV) enabled.

", "DBInstanceAutomatedBackup$Encrypted": "

Indicates whether the automated backup is encrypted.

", "DBInstanceAutomatedBackup$IAMDatabaseAuthenticationEnabled": "

True if mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

", - "DBInstanceStatusInfo$Normal": "

A Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.

", + "DBInstanceStatusInfo$Normal": "

Indicates whether the instance is operating normally (TRUE) or is in an error state (FALSE).

", "DBProxy$RequireTLS": "

Indicates whether Transport Layer Security (TLS) encryption is required for connections to the proxy.

", "DBProxy$DebugLogging": "

Indicates whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.

", "DBProxyEndpoint$IsDefault": "

Indicates whether this endpoint is the default endpoint for the associated DB proxy. Default DB proxy endpoints always have read/write capability. Other endpoints that you associate with the DB proxy can be either read/write or read-only.

", @@ -475,6 +480,7 @@ "DBSnapshot$DedicatedLogVolume": "

Indicates whether the DB instance has a dedicated log volume (DLV) enabled.

", "DeleteDBClusterMessage$SkipFinalSnapshot": "

Specifies whether to skip the creation of a final DB cluster snapshot before the DB cluster is deleted. If skip is specified, no DB cluster snapshot is created. If skip isn't specified, a DB cluster snapshot is created before the DB cluster is deleted. By default, skip isn't specified, and the DB cluster snapshot is created. By default, this parameter is disabled.

You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot is disabled.

", "DeleteDBInstanceMessage$SkipFinalSnapshot": "

Specifies whether to skip the creation of a final DB snapshot before deleting the instance. If you enable this parameter, RDS doesn't create a DB snapshot. If you don't enable this parameter, RDS creates a DB snapshot before the DB instance is deleted. By default, skip isn't enabled, and the DB snapshot is created.

If you don't enable this parameter, you must specify the FinalDBSnapshotIdentifier parameter.

When a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, RDS can delete the instance only if you enable this parameter.

If you delete a read replica or an RDS Custom instance, you must enable this setting.

This setting is required for RDS Custom.

", + "DeleteTenantDatabaseMessage$SkipFinalSnapshot": "

Specifies whether to skip the creation of a final DB snapshot before removing the tenant database from your DB instance. If you enable this parameter, RDS doesn't create a DB snapshot. If you don't enable this parameter, RDS creates a DB snapshot before it deletes the tenant database. By default, RDS doesn't skip the final snapshot. If you don't enable this parameter, you must specify the FinalDBSnapshotIdentifier parameter.

", "DescribeDBClusterSnapshotsMessage$IncludeShared": "

Specifies whether to include shared manual DB cluster snapshots from other Amazon Web Services accounts that this Amazon Web Services account has been given permission to copy or restore. By default, these snapshots are not included.

You can give an Amazon Web Services account permission to restore a manual DB cluster snapshot from another Amazon Web Services account by the ModifyDBClusterSnapshotAttribute API action.

", "DescribeDBClusterSnapshotsMessage$IncludePublic": "

Specifies whether to include manual DB cluster snapshots that are public and can be copied or restored by any Amazon Web Services account. By default, the public snapshots are not included.

You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

", "DescribeDBClustersMessage$IncludeShared": "

Specifies whether the output includes information about clusters shared from other Amazon Web Services accounts.

", @@ -482,7 +488,7 @@ "DescribeDBSnapshotsMessage$IncludeShared": "

Specifies whether to include shared manual DB cluster snapshots from other Amazon Web Services accounts that this Amazon Web Services account has been given permission to copy or restore. By default, these snapshots are not included.

You can give an Amazon Web Services account permission to restore a manual DB snapshot from another Amazon Web Services account by using the ModifyDBSnapshotAttribute API action.

This setting doesn't apply to RDS Custom.

", "DescribeDBSnapshotsMessage$IncludePublic": "

Specifies whether to include manual DB cluster snapshots that are public and can be copied or restored by any Amazon Web Services account. By default, the public snapshots are not included.

You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

This setting doesn't apply to RDS Custom.

", "DownloadDBLogFilePortionDetails$AdditionalDataPending": "

A Boolean value that, if true, indicates there is more data to be downloaded.

", - "EventSubscription$Enabled": "

A Boolean value indicating if the subscription is enabled. True indicates the subscription is enabled.

", + "EventSubscription$Enabled": "

Specifies whether the subscription is enabled. True indicates the subscription is enabled.

", "FailoverState$IsDataLossAllowed": "

Indicates whether the operation is a global switchover or a global failover. If data loss is allowed, then the operation is a global failover. Otherwise, it's a switchover.

", "GlobalClusterMember$IsWriter": "

Indicates whether the Aurora DB cluster is the primary cluster (that is, has read-write capability) for the global cluster with which it is associated.

", "ModifyDBClusterMessage$ApplyImmediately": "

Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter is disabled, changes to the DB cluster are applied during the next maintenance window.

Most modifications can be applied immediately or during the next scheduled maintenance window. Some modifications, such as turning on deletion protection and changing the master password, are applied immediately—regardless of when you choose to apply them.

By default, this parameter is disabled.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

", @@ -526,6 +532,7 @@ "RestoreDBInstanceToPointInTimeMessage$UseLatestRestorableTime": "

Specifies whether the DB instance is restored from the latest backup time. By default, the DB instance isn't restored from the latest backup time.

Constraints:

", "SourceRegion$SupportsDBInstanceAutomatedBackupsReplication": "

Indicates whether the source Amazon Web Services Region supports replicating automated backups to the current Amazon Web Services Region.

", "StartActivityStreamResponse$ApplyImmediately": "

Indicates whether or not the database activity stream will start as soon as possible, regardless of the maintenance window for the database.

", + "TenantDatabase$DeletionProtection": "

Specifies whether deletion protection is enabled for the DB instance.

", "UpgradeTarget$AutoUpgrade": "

Indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

", "UpgradeTarget$IsMajorVersionUpgrade": "

Indicates whether upgrading to the target version requires upgrading the major version of the database engine.

", "ValidDBInstanceModificationsMessage$SupportsDedicatedLogVolume": "

Indicates whether a DB instance supports using a dedicated log volume (DLV).

", @@ -566,6 +573,7 @@ "CreateDBInstanceMessage$EnableCustomerOwnedIp": "

Specifies whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the DB instance from outside of its virtual private cloud (VPC) on your local network.

For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.

For more information about CoIPs, see Customer-owned IP addresses in the Amazon Web Services Outposts User Guide.

", "CreateDBInstanceMessage$ManageMasterUserPassword": "

Specifies whether to manage the master user password with Amazon Web Services Secrets Manager.

For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide.

Constraints:

", "CreateDBInstanceMessage$DedicatedLogVolume": "

Indicates whether the DB instance has a dedicated log volume (DLV) enabled.

", + "CreateDBInstanceMessage$MultiTenant": "

Specifies whether to use the multi-tenant configuration or the single-tenant configuration (default). This parameter only applies to RDS for Oracle container database (CDB) engines.

Note the following restrictions:

", "CreateDBInstanceReadReplicaMessage$MultiAZ": "

Specifies whether the read replica is in a Multi-AZ deployment.

You can create a read replica as a Multi-AZ DB instance. RDS creates a standby of your replica in another Availability Zone for failover support for the replica. Creating your read replica as a Multi-AZ DB instance is independent of whether the source is a Multi-AZ DB instance or a Multi-AZ DB cluster.

This setting doesn't apply to RDS Custom DB instances.

", "CreateDBInstanceReadReplicaMessage$AutoMinorVersionUpgrade": "

Specifies whether to automatically apply minor engine upgrades to the read replica during the maintenance window.

This setting doesn't apply to RDS Custom DB instances.

Default: Inherits the value from the source DB instance.

", "CreateDBInstanceReadReplicaMessage$PubliclyAccessible": "

Specifies whether the DB instance is publicly accessible.

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

For more information, see CreateDBInstance.

", @@ -595,7 +603,10 @@ "DBInstance$CustomerOwnedIpEnabled": "

Indicates whether a customer-owned IP address (CoIP) is enabled for an RDS on Outposts DB instance.

A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the DB instance from outside of its virtual private cloud (VPC) on your local network.

For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.

For more information about CoIPs, see Customer-owned IP addresses in the Amazon Web Services Outposts User Guide.

", "DBInstance$ActivityStreamEngineNativeAuditFieldsIncluded": "

Indicates whether engine-native audit fields are included in the database activity stream.

", "DBInstance$IsStorageConfigUpgradeAvailable": "

Indicates whether an upgrade is recommended for the storage file system configuration on the DB instance. To migrate to the preferred configuration, you can either create a blue/green deployment, or create a read replica from the DB instance. For more information, see Upgrading the storage file system for a DB instance.

", + "DBInstance$MultiTenant": "

Specifies whether the DB instance is in the multi-tenant configuration (TRUE) or the single-tenant configuration (FALSE).

", "DBInstanceAutomatedBackup$DedicatedLogVolume": "

Indicates whether the DB instance has a dedicated log volume (DLV) enabled.

", + "DBInstanceAutomatedBackup$MultiTenant": "

Specifies whether the automatic backup is for a DB instance in the multi-tenant configuration (TRUE) or the single-tenant configuration (FALSE).

", + "DBSnapshot$MultiTenant": "

Indicates whether the snapshot is of a DB instance using the multi-tenant configuration (TRUE) or the single-tenant configuration (FALSE).

", "DeleteBlueGreenDeploymentRequest$DeleteTarget": "

Specifies whether to delete the resources in the green environment. You can't specify this option if the blue/green deployment status is SWITCHOVER_COMPLETED.

", "DeleteDBClusterMessage$DeleteAutomatedBackups": "

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

", "DeleteDBInstanceMessage$DeleteAutomatedBackups": "

Specifies whether to remove automated backups immediately after the DB instance is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB instance is deleted.

", @@ -635,6 +646,7 @@ "ModifyDBInstanceMessage$ManageMasterUserPassword": "

Specifies whether to manage the master user password with Amazon Web Services Secrets Manager.

If the DB instance doesn't manage the master user password with Amazon Web Services Secrets Manager, you can turn on this management. In this case, you can't specify MasterUserPassword.

If the DB instance already manages the master user password with Amazon Web Services Secrets Manager, and you specify that the master user password is not managed with Amazon Web Services Secrets Manager, then you must specify MasterUserPassword. In this case, Amazon RDS deletes the secret and uses the new password for the master user specified by MasterUserPassword.

For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide.

Constraints:

", "ModifyDBInstanceMessage$RotateMasterUserPassword": "

Specifies whether to rotate the secret managed by Amazon Web Services Secrets Manager for the master user password.

This setting is valid only if the master user password is managed by RDS in Amazon Web Services Secrets Manager for the DB cluster. The secret value contains the updated password.

For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide.

Constraints:

", "ModifyDBInstanceMessage$DedicatedLogVolume": "

Indicates whether the DB instance has a dedicated log volume (DLV) enabled.

", + "ModifyDBInstanceMessage$MultiTenant": "

Specifies whether the to convert your DB instance from the single-tenant configuration to the multi-tenant configuration. This parameter is supported only for RDS for Oracle CDB instances.

During the conversion, RDS creates an initial tenant database and associates the DB name, master user name, character set, and national character set metadata with this database. The tags associated with the instance also propagate to the initial tenant database. You can add more tenant databases to your DB instance by using the CreateTenantDatabase operation.

The conversion to the multi-tenant configuration is permanent and irreversible, so you can't later convert back to the single-tenant configuration. When you specify this parameter, you must also specify ApplyImmediately.

", "ModifyDBProxyRequest$RequireTLS": "

Whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy, even if the associated database doesn't use TLS.

", "ModifyDBProxyRequest$DebugLogging": "

Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.

", "ModifyEventSubscriptionMessage$Enabled": "

Specifies whether to activate the subscription.

", @@ -647,6 +659,7 @@ "PendingModifiedValues$MultiAZ": "

Indicates whether the Single-AZ DB instance will change to a Multi-AZ deployment.

", "PendingModifiedValues$IAMDatabaseAuthenticationEnabled": "

Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.

", "PendingModifiedValues$DedicatedLogVolume": "

Indicates whether the DB instance has a dedicated log volume (DLV) enabled.>

", + "PendingModifiedValues$MultiTenant": "

Indicates whether the DB instance will change to the multi-tenant configuration (TRUE) or the single-tenant configuration (FALSE).

", "RebootDBInstanceMessage$ForceFailover": "

Specifies whether the reboot is conducted through a Multi-AZ failover.

Constraint: You can't enable force failover if the instance isn't configured for Multi-AZ.

", "RestoreDBClusterFromS3Message$StorageEncrypted": "

Specifies whether the restored DB cluster is encrypted.

", "RestoreDBClusterFromS3Message$EnableIAMDatabaseAuthentication": "

Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled.

For more information, see IAM Database Authentication in the Amazon Aurora User Guide.

", @@ -1008,6 +1021,16 @@ "refs": { } }, + "CreateTenantDatabaseMessage": { + "base": null, + "refs": { + } + }, + "CreateTenantDatabaseResult": { + "base": null, + "refs": { + } + }, "CustomAvailabilityZoneNotFoundFault": { "base": "

CustomAvailabilityZoneId doesn't refer to an existing custom Availability Zone identifier.

", "refs": { @@ -1769,6 +1792,28 @@ "refs": { } }, + "DBSnapshotTenantDatabase": { + "base": "

Contains the details of a tenant database in a snapshot of a DB instance.

", + "refs": { + "DBSnapshotTenantDatabasesList$member": null + } + }, + "DBSnapshotTenantDatabaseNotFoundFault": { + "base": "

The specified snapshot tenant database wasn't found.

", + "refs": { + } + }, + "DBSnapshotTenantDatabasesList": { + "base": null, + "refs": { + "DBSnapshotTenantDatabasesMessage$DBSnapshotTenantDatabases": "

A list of DB snapshot tenant databases.

" + } + }, + "DBSnapshotTenantDatabasesMessage": { + "base": null, + "refs": { + } + }, "DBSubnetGroup": { "base": "

Contains the details of an Amazon RDS DB subnet group.

This data type is used as a response element in the DescribeDBSubnetGroups action.

", "refs": { @@ -1984,6 +2029,16 @@ "refs": { } }, + "DeleteTenantDatabaseMessage": { + "base": null, + "refs": { + } + }, + "DeleteTenantDatabaseResult": { + "base": null, + "refs": { + } + }, "DeregisterDBProxyTargetsRequest": { "base": null, "refs": { @@ -2161,6 +2216,11 @@ "refs": { } }, + "DescribeDBSnapshotTenantDatabasesMessage": { + "base": null, + "refs": { + } + }, "DescribeDBSnapshotsMessage": { "base": "

", "refs": { @@ -2261,6 +2321,11 @@ "refs": { } }, + "DescribeTenantDatabasesMessage": { + "base": null, + "refs": { + } + }, "DescribeValidDBInstanceModificationsMessage": { "base": "

", "refs": { @@ -2532,7 +2597,7 @@ "FailoverStatus": { "base": null, "refs": { - "FailoverState$Status": "

The current status of the global cluster. Possible values are as follows:

" + "FailoverState$Status": "

The current status of the global cluster. Possible values are as follows:

" } }, "FeatureNameList": { @@ -2570,6 +2635,7 @@ "DescribeDBProxyTargetGroupsRequest$Filters": "

This parameter is not currently supported.

", "DescribeDBProxyTargetsRequest$Filters": "

This parameter is not currently supported.

", "DescribeDBSecurityGroupsMessage$Filters": "

This parameter isn't currently supported.

", + "DescribeDBSnapshotTenantDatabasesMessage$Filters": "

A filter that specifies one or more tenant databases to describe.

Supported filters:

", "DescribeDBSnapshotsMessage$Filters": "

A filter that specifies one or more DB snapshots to describe.

Supported filters:

", "DescribeDBSubnetGroupsMessage$Filters": "

This parameter isn't currently supported.

", "DescribeEngineDefaultClusterParametersMessage$Filters": "

This parameter isn't currently supported.

", @@ -2587,6 +2653,7 @@ "DescribeReservedDBInstancesMessage$Filters": "

This parameter isn't currently supported.

", "DescribeReservedDBInstancesOfferingsMessage$Filters": "

This parameter isn't currently supported.

", "DescribeSourceRegionsMessage$Filters": "

This parameter isn't currently supported.

", + "DescribeTenantDatabasesMessage$Filters": "

A filter that specifies one or more database tenants to describe.

Supported filters:

", "ListTagsForResourceMessage$Filters": "

This parameter isn't currently supported.

" } }, @@ -2816,6 +2883,7 @@ "DescribeDBParameterGroupsMessage$MaxRecords": "

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

", "DescribeDBParametersMessage$MaxRecords": "

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

", "DescribeDBSecurityGroupsMessage$MaxRecords": "

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

", + "DescribeDBSnapshotTenantDatabasesMessage$MaxRecords": "

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

", "DescribeDBSnapshotsMessage$MaxRecords": "

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

", "DescribeDBSubnetGroupsMessage$MaxRecords": "

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

", "DescribeEngineDefaultClusterParametersMessage$MaxRecords": "

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

", @@ -2832,6 +2900,7 @@ "DescribeReservedDBInstancesMessage$MaxRecords": "

The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

", "DescribeReservedDBInstancesOfferingsMessage$MaxRecords": "

The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

", "DescribeSourceRegionsMessage$MaxRecords": "

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

", + "DescribeTenantDatabasesMessage$MaxRecords": "

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

", "ModifyCurrentDBClusterCapacityMessage$Capacity": "

The DB cluster capacity.

When you change the capacity of a paused Aurora Serverless v1 DB cluster, it automatically resumes.

Constraints:

", "ModifyCurrentDBClusterCapacityMessage$SecondsBeforeTimeout": "

The amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. The default is 300.

Specify a value between 10 and 600 seconds.

", "ModifyDBClusterMessage$BackupRetentionPeriod": "

The number of days for which automated backups are retained. Specify a minimum value of 1.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

Default: 1

Constraints:

", @@ -3386,6 +3455,16 @@ "refs": { } }, + "ModifyTenantDatabaseMessage": { + "base": null, + "refs": { + } + }, + "ModifyTenantDatabaseResult": { + "base": null, + "refs": { + } + }, "NetworkTypeNotSupported": { "base": "

The network type is invalid for the DB instance. Valid nework type values are IPV4 and DUAL.

", "refs": { @@ -3995,6 +4074,14 @@ "DBCluster$ScalingConfigurationInfo": null } }, + "SensitiveString": { + "base": null, + "refs": { + "CreateTenantDatabaseMessage$MasterUserPassword": "

The password for the master user in your tenant database.

Constraints:

", + "ModifyTenantDatabaseMessage$MasterUserPassword": "

The new password for the master user of the specified tenant database in your DB instance.

Amazon RDS operations never return the password, so this action provides a way to regain access to a tenant database user if the password is lost. This includes restoring privileges that might have been accidentally revoked.

Constraints:

Length constraints:

", + "TenantDatabasePendingModifiedValues$MasterUserPassword": "

The master password for the tenant database.

" + } + }, "ServerlessV2ScalingConfiguration": { "base": "

Contains the scaling configuration of an Aurora Serverless v2 DB cluster.

For more information, see Using Amazon Aurora Serverless v2 in the Amazon Aurora User Guide.

", "refs": { @@ -4352,6 +4439,11 @@ "CreateOptionGroupMessage$EngineName": "

Specifies the name of the engine that this option group should be associated with.

Valid Values:

", "CreateOptionGroupMessage$MajorEngineVersion": "

Specifies the major version of the engine that this option group should be associated with.

", "CreateOptionGroupMessage$OptionGroupDescription": "

The description of the option group.

", + "CreateTenantDatabaseMessage$DBInstanceIdentifier": "

The user-supplied DB instance identifier. RDS creates your tenant database in this DB instance. This parameter isn't case-sensitive.

", + "CreateTenantDatabaseMessage$TenantDBName": "

The user-supplied name of the tenant database that you want to create in your DB instance. This parameter has the same constraints as DBName in CreateDBInstance.

", + "CreateTenantDatabaseMessage$MasterUsername": "

The name for the master user account in your tenant database. RDS creates this user account in the tenant database and grants privileges to the master user. This parameter is case-sensitive.

Constraints:

", + "CreateTenantDatabaseMessage$CharacterSetName": "

The character set for your tenant database. If you don't specify a value, the character set name defaults to AL32UTF8.

", + "CreateTenantDatabaseMessage$NcharCharacterSetName": "

The NCHAR value for the tenant database.

", "CustomDBEngineVersionAMI$ImageId": "

A value that indicates the ID of the AMI.

", "CustomDBEngineVersionAMI$Status": "

A value that indicates the status of a custom engine version (CEV).

", "DBCluster$CharacterSetName": "

If present, specifies the name of the character set that this cluster is associated with.

", @@ -4467,7 +4559,7 @@ "DBInstance$Engine": "

The database engine used for this DB instance.

", "DBInstance$DBInstanceStatus": "

The current state of this database.

For information about DB instance statuses, see Viewing DB instance status in the Amazon RDS User Guide.

", "DBInstance$MasterUsername": "

The master username for the DB instance.

", - "DBInstance$DBName": "

Contains the initial database name that you provided (if required) when you created the DB instance. This name is returned for the life of your DB instance. For an RDS for Oracle CDB instance, the name identifies the PDB rather than the CDB.

", + "DBInstance$DBName": "

The initial database name that you provided (if required) when you created the DB instance. This name is returned for the life of your DB instance. For an RDS for Oracle CDB instance, the name identifies the PDB rather than the CDB.

", "DBInstance$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

", "DBInstance$AvailabilityZone": "

The name of the Availability Zone where the DB instance is located.

", "DBInstance$PreferredMaintenanceWindow": "

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

", @@ -4586,6 +4678,18 @@ "DBSnapshotAttribute$AttributeName": "

The name of the manual DB snapshot attribute.

The attribute named restore refers to the list of Amazon Web Services accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the ModifyDBSnapshotAttribute API action.

", "DBSnapshotAttributesResult$DBSnapshotIdentifier": "

The identifier of the manual DB snapshot that the attributes apply to.

", "DBSnapshotMessage$Marker": "

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", + "DBSnapshotTenantDatabase$DBSnapshotIdentifier": "

The identifier for the snapshot of the DB instance.

", + "DBSnapshotTenantDatabase$DBInstanceIdentifier": "

The ID for the DB instance that contains the tenant databases.

", + "DBSnapshotTenantDatabase$DbiResourceId": "

The resource identifier of the source CDB instance. This identifier can't be changed and is unique to an Amazon Web Services Region.

", + "DBSnapshotTenantDatabase$EngineName": "

The name of the database engine.

", + "DBSnapshotTenantDatabase$SnapshotType": "

The type of DB snapshot.

", + "DBSnapshotTenantDatabase$TenantDBName": "

The name of the tenant database.

", + "DBSnapshotTenantDatabase$MasterUsername": "

The master username of the tenant database.

", + "DBSnapshotTenantDatabase$TenantDatabaseResourceId": "

The resource ID of the tenant database.

", + "DBSnapshotTenantDatabase$CharacterSetName": "

The name of the character set of a tenant database.

", + "DBSnapshotTenantDatabase$DBSnapshotTenantDatabaseARN": "

The Amazon Resource Name (ARN) for the snapshot tenant database.

", + "DBSnapshotTenantDatabase$NcharCharacterSetName": "

The NCHAR character set name of the tenant database.

", + "DBSnapshotTenantDatabasesMessage$Marker": "

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", "DBSubnetGroup$DBSubnetGroupName": "

The name of the DB subnet group.

", "DBSubnetGroup$DBSubnetGroupDescription": "

Provides the description of the DB subnet group.

", "DBSubnetGroup$VpcId": "

Provides the VpcId of the DB subnet group.

", @@ -4610,6 +4714,9 @@ "DeleteEventSubscriptionMessage$SubscriptionName": "

The name of the RDS event notification subscription you want to delete.

", "DeleteGlobalClusterMessage$GlobalClusterIdentifier": "

The cluster identifier of the global database cluster being deleted.

", "DeleteOptionGroupMessage$OptionGroupName": "

The name of the option group to be deleted.

You can't delete default option groups.

", + "DeleteTenantDatabaseMessage$DBInstanceIdentifier": "

The user-supplied identifier for the DB instance that contains the tenant database that you want to delete.

", + "DeleteTenantDatabaseMessage$TenantDBName": "

The user-supplied name of the tenant database that you want to remove from your DB instance. Amazon RDS deletes the tenant database with this name. This parameter isn’t case-sensitive.

", + "DeleteTenantDatabaseMessage$FinalDBSnapshotIdentifier": "

The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot parameter is disabled.

If you enable this parameter and also enable SkipFinalShapshot, the command results in an error.

", "DeregisterDBProxyTargetsRequest$DBProxyName": "

The identifier of the DBProxy that is associated with the DBProxyTargetGroup.

", "DeregisterDBProxyTargetsRequest$TargetGroupName": "

The identifier of the DBProxyTargetGroup.

", "DescribeBlueGreenDeploymentsRequest$Marker": "

An optional pagination token provided by a previous DescribeBlueGreenDeployments request. If you specify this parameter, the response only includes records beyond the marker, up to the value specified by MaxRecords.

", @@ -4674,6 +4781,11 @@ "DescribeDBSecurityGroupsMessage$DBSecurityGroupName": "

The name of the DB security group to return details for.

", "DescribeDBSecurityGroupsMessage$Marker": "

An optional pagination token provided by a previous DescribeDBSecurityGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", "DescribeDBSnapshotAttributesMessage$DBSnapshotIdentifier": "

The identifier for the DB snapshot to describe the attributes for.

", + "DescribeDBSnapshotTenantDatabasesMessage$DBInstanceIdentifier": "

The ID of the DB instance used to create the DB snapshots. This parameter isn't case-sensitive.

Constraints:

", + "DescribeDBSnapshotTenantDatabasesMessage$DBSnapshotIdentifier": "

The ID of a DB snapshot that contains the tenant databases to describe. This value is stored as a lowercase string.

Constraints:

", + "DescribeDBSnapshotTenantDatabasesMessage$SnapshotType": "

The type of DB snapshots to be returned. You can specify one of the following values:

", + "DescribeDBSnapshotTenantDatabasesMessage$Marker": "

An optional pagination token provided by a previous DescribeDBSnapshotTenantDatabases request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", + "DescribeDBSnapshotTenantDatabasesMessage$DbiResourceId": "

A specific DB resource identifier to describe.

", "DescribeDBSnapshotsMessage$DBInstanceIdentifier": "

The ID of the DB instance to retrieve the list of DB snapshots for. This parameter isn't case-sensitive.

Constraints:

", "DescribeDBSnapshotsMessage$DBSnapshotIdentifier": "

A specific DB snapshot identifier to describe. This value is stored as a lowercase string.

Constraints:

", "DescribeDBSnapshotsMessage$SnapshotType": "

The type of snapshots to be returned. You can specify one of the following values:

If you don't specify a SnapshotType value, then both automated and manual snapshots are returned. Shared and public DB snapshots are not included in the returned results by default. You can include shared snapshots with these results by enabling the IncludeShared parameter. You can include public snapshots with these results by enabling the IncludePublic parameter.

The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.

", @@ -4726,6 +4838,9 @@ "DescribeReservedDBInstancesOfferingsMessage$Marker": "

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", "DescribeSourceRegionsMessage$RegionName": "

The source Amazon Web Services Region name. For example, us-east-1.

Constraints:

", "DescribeSourceRegionsMessage$Marker": "

An optional pagination token provided by a previous DescribeSourceRegions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", + "DescribeTenantDatabasesMessage$DBInstanceIdentifier": "

The user-supplied DB instance identifier, which must match the identifier of an existing instance owned by the Amazon Web Services account. This parameter isn't case-sensitive.

", + "DescribeTenantDatabasesMessage$TenantDBName": "

The user-supplied tenant database name, which must match the name of an existing tenant database on the specified DB instance owned by your Amazon Web Services account. This parameter isn’t case-sensitive.

", + "DescribeTenantDatabasesMessage$Marker": "

An optional pagination token provided by a previous DescribeTenantDatabases request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", "DescribeValidDBInstanceModificationsMessage$DBInstanceIdentifier": "

The customer identifier or the ARN of your DB instance.

", "DomainMembership$Domain": "

The identifier of the Active Directory Domain.

", "DomainMembership$Status": "

The status of the Active Directory Domain membership for the DB instance or cluster. Values include joined, pending-join, failed, and so on.

", @@ -4832,13 +4947,13 @@ "ModifyDBClusterSnapshotAttributeMessage$DBClusterSnapshotIdentifier": "

The identifier for the DB cluster snapshot to modify the attributes for.

", "ModifyDBClusterSnapshotAttributeMessage$AttributeName": "

The name of the DB cluster snapshot attribute to modify.

To manage authorization for other Amazon Web Services accounts to copy or restore a manual DB cluster snapshot, set this value to restore.

To view the list of attributes available to modify, use the DescribeDBClusterSnapshotAttributes API operation.

", "ModifyDBInstanceMessage$DBInstanceIdentifier": "

The identifier of DB instance to modify. This value is stored as a lowercase string.

Constraints:

", - "ModifyDBInstanceMessage$DBInstanceClass": "

The new compute and memory capacity of the DB instance, for example db.m4.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide or Aurora DB instance classes in the Amazon Aurora User Guide. For RDS Custom, see DB instance class support for RDS Custom for Oracle and DB instance class support for RDS Custom for SQL Server.

If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless you specify ApplyImmediately in your request.

Default: Uses existing setting

Constraints:

", + "ModifyDBInstanceMessage$DBInstanceClass": "

The new compute and memory capacity of the DB instance, for example db.m4.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide or Aurora DB instance classes in the Amazon Aurora User Guide. For RDS Custom, see DB instance class support for RDS Custom for Oracle and DB instance class support for RDS Custom for SQL Server.

If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless you specify ApplyImmediately in your request.

Default: Uses existing setting

Constraints:

", "ModifyDBInstanceMessage$DBSubnetGroupName": "

The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC. If your DB instance isn't in a VPC, you can also use this parameter to move your DB instance into a VPC. For more information, see Working with a DB instance in a VPC in the Amazon RDS User Guide.

Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you enable ApplyImmediately.

This parameter doesn't apply to RDS Custom DB instances.

Constraints:

Example: mydbsubnetgroup

", "ModifyDBInstanceMessage$MasterUserPassword": "

The new password for the master user.

Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword element exists in the PendingModifiedValues element of the operation response.

Amazon RDS API operations never return the password, so this action provides a way to regain access to a primary instance user if the password is lost. This includes restoring privileges that might have been accidentally revoked.

This setting doesn't apply to the following DB instances:

Default: Uses existing setting

Constraints:

Length Constraints:

", "ModifyDBInstanceMessage$DBParameterGroupName": "

The name of the DB parameter group to apply to the DB instance.

Changing this setting doesn't result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. In this case, the DB instance isn't rebooted automatically, and the parameter changes aren't applied during the next maintenance window. However, if you modify dynamic parameters in the newly associated DB parameter group, these changes are applied immediately without a reboot.

This setting doesn't apply to RDS Custom DB instances.

Default: Uses existing setting

Constraints:

", "ModifyDBInstanceMessage$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod parameter. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region. For more information, see Backup window in the Amazon RDS User Guide.

This setting doesn't apply to Amazon Aurora DB instances. The daily time range for creating automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Constraints:

", "ModifyDBInstanceMessage$PreferredMaintenanceWindow": "

The weekly time range during which system maintenance can occur, which might result in an outage. Changing this parameter doesn't result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter causes a reboot of the DB instance. If you change this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.

For more information, see Amazon RDS Maintenance Window in the Amazon RDS User Guide.

Default: Uses existing setting

Constraints:

", - "ModifyDBInstanceMessage$EngineVersion": "

The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request.

For major version upgrades, if a nondefault DB parameter group is currently in use, a new DB parameter group in the DB parameter group family for the new engine version must be specified. The new DB parameter group can be the default for that DB parameter group family.

If you specify only a major version, Amazon RDS updates the DB instance to the default minor version if the current minor version is lower. For information about valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

If the instance that you're modifying is acting as a read replica, the engine version that you specify must be the same or higher than the version that the source DB instance or cluster is running.

In RDS Custom for Oracle, this parameter is supported for read replicas only if they are in the PATCH_DB_FAILURE lifecycle.

Constraints:

", + "ModifyDBInstanceMessage$EngineVersion": "

The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request.

For major version upgrades, if a nondefault DB parameter group is currently in use, a new DB parameter group in the DB parameter group family for the new engine version must be specified. The new DB parameter group can be the default for that DB parameter group family.

If you specify only a major version, Amazon RDS updates the DB instance to the default minor version if the current minor version is lower. For information about valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

If the instance that you're modifying is acting as a read replica, the engine version that you specify must be the same or higher than the version that the source DB instance or cluster is running.

In RDS Custom for Oracle, this parameter is supported for read replicas only if they are in the PATCH_DB_FAILURE lifecycle.

Constraints:

", "ModifyDBInstanceMessage$LicenseModel": "

The license model for the DB instance.

This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.

Valid Values:

", "ModifyDBInstanceMessage$OptionGroupName": "

The option group to associate the DB instance with.

Changing this parameter doesn't result in an outage, with one exception. If the parameter change results in an option group that enables OEM, it can cause a brief period, lasting less than a second, during which new connections are rejected but existing connections aren't interrupted.

The change is applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance after it is associated with a DB instance.

This setting doesn't apply to RDS Custom DB instances.

", "ModifyDBInstanceMessage$NewDBInstanceIdentifier": "

The new identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot occurs immediately if you enable ApplyImmediately, or will occur during the next maintenance window if you disable ApplyImmediately. This value is stored as a lowercase string.

This setting doesn't apply to RDS Custom DB instances.

Constraints:

Example: mydbinstance

", @@ -4877,6 +4992,9 @@ "ModifyGlobalClusterMessage$NewGlobalClusterIdentifier": "

The new cluster identifier for the global database cluster. This value is stored as a lowercase string.

Constraints:

Example: my-cluster2

", "ModifyGlobalClusterMessage$EngineVersion": "

The version number of the database engine to which you want to upgrade.

To list all of the available engine versions for aurora-mysql (for MySQL-based Aurora global databases), use the following command:

aws rds describe-db-engine-versions --engine aurora-mysql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'

To list all of the available engine versions for aurora-postgresql (for PostgreSQL-based Aurora global databases), use the following command:

aws rds describe-db-engine-versions --engine aurora-postgresql --query '*[]|[?SupportsGlobalDatabases == `true`].[EngineVersion]'

", "ModifyOptionGroupMessage$OptionGroupName": "

The name of the option group to be modified.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

", + "ModifyTenantDatabaseMessage$DBInstanceIdentifier": "

The identifier of the DB instance that contains the tenant database that you are modifying. This parameter isn't case-sensitive.

Constraints:

", + "ModifyTenantDatabaseMessage$TenantDBName": "

The user-supplied name of the tenant database that you want to modify. This parameter isn’t case-sensitive.

Constraints:

", + "ModifyTenantDatabaseMessage$NewTenantDBName": "

The new name of the tenant database when renaming a tenant database. This parameter isn’t case-sensitive.

Constraints:

", "Option$OptionName": "

The name of the option.

", "Option$OptionDescription": "

The description of the option.

", "Option$OptionVersion": "

The version of the option.

", @@ -5156,6 +5274,17 @@ "Tag$Key": "

A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with aws: or rds:. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").

", "Tag$Value": "

A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with aws: or rds:. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").

", "TargetHealth$Description": "

A description of the health of the RDS Proxy target. If the State is AVAILABLE, a description is not included.

", + "TenantDatabase$DBInstanceIdentifier": "

The ID of the DB instance that contains the tenant database.

", + "TenantDatabase$TenantDBName": "

The database name of the tenant database.

", + "TenantDatabase$Status": "

The status of the tenant database.

", + "TenantDatabase$MasterUsername": "

The master username of the tenant database.

", + "TenantDatabase$DbiResourceId": "

The Amazon Web Services Region-unique, immutable identifier for the DB instance.

", + "TenantDatabase$TenantDatabaseResourceId": "

The Amazon Web Services Region-unique, immutable identifier for the tenant database.

", + "TenantDatabase$TenantDatabaseARN": "

The Amazon Resource Name (ARN) for the tenant database.

", + "TenantDatabase$CharacterSetName": "

The character set of the tenant database.

", + "TenantDatabase$NcharCharacterSetName": "

The NCHAR character set name of the tenant database.

", + "TenantDatabasePendingModifiedValues$TenantDBName": "

The name of the tenant database.

", + "TenantDatabasesMessage$Marker": "

An optional pagination token provided by a previous DescribeTenantDatabases request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", "Timezone$TimezoneName": "

The name of the time zone.

", "UpgradeTarget$Engine": "

The name of the upgrade target database engine.

", "UpgradeTarget$EngineVersion": "

The version number of the upgrade target database engine.

", @@ -5361,6 +5490,7 @@ "DBSnapshot$InstanceCreateTime": "

Specifies the time in Coordinated Universal Time (UTC) when the DB instance, from which the snapshot was taken, was created.

", "DBSnapshot$OriginalSnapshotCreateTime": "

Specifies the time of the CreateDBSnapshot operation in Coordinated Universal Time (UTC). Doesn't change when the snapshot is copied.

", "DBSnapshot$SnapshotDatabaseTime": "

The timestamp of the most recent transaction applied to the database that you're backing up. Thus, if you restore a snapshot, SnapshotDatabaseTime is the most recent transaction in the restored DB instance. In contrast, originalSnapshotCreateTime specifies the system time that the snapshot completed.

If you back up a read replica, you can determine the replica lag by comparing SnapshotDatabaseTime with originalSnapshotCreateTime. For example, if originalSnapshotCreateTime is two hours later than SnapshotDatabaseTime, then the replica lag is two hours.

", + "DBSnapshotTenantDatabase$TenantDatabaseCreateTime": "

The time the DB snapshot was taken, specified in Coordinated Universal Time (UTC). If you copy the snapshot, the creation time changes.

", "DescribeEventsMessage$StartTime": "

The beginning of the time interval to retrieve events for, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

Example: 2009-07-08T18:00Z

", "DescribeEventsMessage$EndTime": "

The end of the time interval for which to retrieve events, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

Example: 2009-07-08T18:00Z

", "Event$Date": "

Specifies the date and time of the event.

", @@ -5377,7 +5507,8 @@ "RestoreDBClusterToPointInTimeMessage$RestoreToTime": "

The date and time to restore the DB cluster to.

Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

Constraints:

Example: 2015-03-07T23:45:00Z

Valid for: Aurora DB clusters and Multi-AZ DB clusters

", "RestoreDBInstanceToPointInTimeMessage$RestoreTime": "

The date and time to restore from.

Constraints:

Example: 2009-09-07T23:45:00Z

", "RestoreWindow$EarliestTime": "

The earliest time you can restore an instance to.

", - "RestoreWindow$LatestTime": "

The latest time you can restore an instance to.

" + "RestoreWindow$LatestTime": "

The latest time you can restore an instance to.

", + "TenantDatabase$TenantDatabaseCreateTime": "

The creation time of the tenant database.

" } }, "Tag": { @@ -5413,11 +5544,13 @@ "CreateEventSubscriptionMessage$Tags": null, "CreateIntegrationMessage$Tags": null, "CreateOptionGroupMessage$Tags": "

Tags to assign to the option group.

", + "CreateTenantDatabaseMessage$Tags": null, "DBCluster$TagList": null, "DBClusterSnapshot$TagList": null, "DBEngineVersion$TagList": null, "DBInstance$TagList": null, "DBSnapshot$TagList": null, + "DBSnapshotTenantDatabase$TagList": null, "Integration$Tags": null, "PurchaseReservedDBInstancesOfferingMessage$Tags": null, "RestoreDBClusterFromS3Message$Tags": null, @@ -5426,7 +5559,8 @@ "RestoreDBInstanceFromDBSnapshotMessage$Tags": null, "RestoreDBInstanceFromS3Message$Tags": "

A list of tags to associate with this DB instance. For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

", "RestoreDBInstanceToPointInTimeMessage$Tags": null, - "TagListMessage$TagList": "

List of tags returned by the ListTagsForResource operation.

" + "TagListMessage$TagList": "

List of tags returned by the ListTagsForResource operation.

", + "TenantDatabase$TagList": null } }, "TagListMessage": { @@ -5501,6 +5635,47 @@ "DBProxyTarget$Type": "

Specifies the kind of database, such as an RDS DB instance or an Aurora DB cluster, that the target represents.

" } }, + "TenantDatabase": { + "base": "

A tenant database in the DB instance. This data type is an element in the response to the DescribeTenantDatabases action.

", + "refs": { + "CreateTenantDatabaseResult$TenantDatabase": null, + "DeleteTenantDatabaseResult$TenantDatabase": null, + "ModifyTenantDatabaseResult$TenantDatabase": null, + "TenantDatabasesList$member": null + } + }, + "TenantDatabaseAlreadyExistsFault": { + "base": "

You attempted to either create a tenant database that already exists or modify a tenant database to use the name of an existing tenant database.

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

The specified tenant database wasn't found in the DB instance.

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

A response element in the ModifyTenantDatabase operation that describes changes that will be applied. Specific changes are identified by subelements.

", + "refs": { + "TenantDatabase$PendingModifiedValues": "

Information about pending changes for a tenant database.

" + } + }, + "TenantDatabaseQuotaExceededFault": { + "base": "

You attempted to create more tenant databases than are permitted in your Amazon Web Services account.

", + "refs": { + } + }, + "TenantDatabasesList": { + "base": null, + "refs": { + "TenantDatabasesMessage$TenantDatabases": "

An array of the tenant databases requested by the DescribeTenantDatabases operation.

" + } + }, + "TenantDatabasesMessage": { + "base": null, + "refs": { + } + }, "Timezone": { "base": "

A time zone associated with a DBInstance or a DBSnapshot. This data type is an element in the response to the DescribeDBInstances, the DescribeDBSnapshots, and the DescribeDBEngineVersions actions.

", "refs": { diff --git a/models/apis/rds/2014-10-31/endpoint-tests-1.json b/models/apis/rds/2014-10-31/endpoint-tests-1.json index 8b0bc663a10..8ac5ed557d2 100644 --- a/models/apis/rds/2014-10-31/endpoint-tests-1.json +++ b/models/apis/rds/2014-10-31/endpoint-tests-1.json @@ -685,6 +685,17 @@ "expect": { "error": "Invalid Configuration: Missing Region" } + }, + { + "documentation": "Partition doesn't support DualStack", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } } ], "version": "1.0" diff --git a/models/apis/rds/2014-10-31/paginators-1.json b/models/apis/rds/2014-10-31/paginators-1.json index 7a04fb282f7..485eefd5d98 100644 --- a/models/apis/rds/2014-10-31/paginators-1.json +++ b/models/apis/rds/2014-10-31/paginators-1.json @@ -120,6 +120,12 @@ "output_token": "Marker", "result_key": "DBSecurityGroups" }, + "DescribeDBSnapshotTenantDatabases": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBSnapshotTenantDatabases" + }, "DescribeDBSnapshots": { "input_token": "Marker", "limit_key": "MaxRecords", @@ -210,6 +216,12 @@ "output_token": "Marker", "result_key": "SourceRegions" }, + "DescribeTenantDatabases": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "TenantDatabases" + }, "DownloadDBLogFilePortion": { "input_token": "Marker", "limit_key": "NumberOfLines", diff --git a/models/apis/rds/2014-10-31/waiters-2.json b/models/apis/rds/2014-10-31/waiters-2.json index 127e4467328..2ca2aded864 100644 --- a/models/apis/rds/2014-10-31/waiters-2.json +++ b/models/apis/rds/2014-10-31/waiters-2.json @@ -340,6 +340,55 @@ "argument": "DBClusters[].Status" } ] + }, + "TenantDatabaseAvailable": { + "delay": 30, + "operation": "DescribeTenantDatabases", + "maxAttempts": 60, + "acceptors": [ + { + "expected": "available", + "matcher": "pathAll", + "state": "success", + "argument": "TenantDatabases[].Status" + }, + { + "expected": "deleted", + "matcher": "pathAny", + "state": "failure", + "argument": "TenantDatabases[].Status" + }, + { + "expected": "incompatible-parameters", + "matcher": "pathAny", + "state": "failure", + "argument": "TenantDatabases[].Status" + }, + { + "expected": "incompatible-restore", + "matcher": "pathAny", + "state": "failure", + "argument": "TenantDatabases[].Status" + } + ] + }, + "TenantDatabaseDeleted": { + "delay": 30, + "operation": "DescribeTenantDatabases", + "maxAttempts": 60, + "acceptors": [ + { + "expected": true, + "matcher": "path", + "state": "success", + "argument": "length(TenantDatabases) == `0`" + }, + { + "expected": "DBInstanceNotFoundFault", + "matcher": "error", + "state": "success" + } + ] } } } diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 1a5a257b311..64ce87947db 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -1050,11 +1050,18 @@ "endpoints" : { "af-south-1" : { }, "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-northeast-3" : { }, "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, + "ap-southeast-4" : { }, + "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, "eu-west-1" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, "us-west-2" : { } @@ -4056,6 +4063,7 @@ "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ap-southeast-3" : { }, + "ap-southeast-4" : { }, "ca-central-1" : { "variants" : [ { "hostname" : "controltower-fips.ca-central-1.amazonaws.com", @@ -25808,6 +25816,11 @@ "us-isob-east-1" : { } } }, + "runtime.sagemaker" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, "s3" : { "defaults" : { "protocols" : [ "http", "https" ], diff --git a/service/dlm/api.go b/service/dlm/api.go index 930cd7fb3e1..6c8f29e0281 100644 --- a/service/dlm/api.go +++ b/service/dlm/api.go @@ -234,7 +234,7 @@ func (c *DLM) GetLifecyclePoliciesRequest(input *GetLifecyclePoliciesInput) (req // // Gets summary information about all or the specified data lifecycle policies. // -// To get complete information about a policy, use GetLifecyclePolicy. +// To get complete information about a policy, use GetLifecyclePolicy (https://docs.aws.amazon.com/dlm/latest/APIReference/API_GetLifecyclePolicy.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1034,8 +1034,9 @@ func (s *CreateLifecyclePolicyOutput) SetPolicyId(v string) *CreateLifecyclePoli // - You must specify either CronExpression, or Interval, IntervalUnit, and // Times. // -// - If you need to specify an ArchiveRule for the schedule, then you must -// specify a creation frequency of at least 28 days. +// - If you need to specify an ArchiveRule (https://docs.aws.amazon.com/dlm/latest/APIReference/API_ArchiveRule.html) +// for the schedule, then you must specify a creation frequency of at least +// 28 days. type CreateRule struct { _ struct{} `type:"structure"` @@ -1062,6 +1063,16 @@ type CreateRule struct { // Outpost as the source resource, or in the Region of that Outpost. Location *string `type:"string" enum:"LocationValues"` + // [Snapshot policies that target instances only] Specifies pre and/or post + // scripts for a snapshot lifecycle policy that targets instances. This is useful + // for creating application-consistent snapshots, or for performing specific + // administrative tasks before or after Amazon Data Lifecycle Manager initiates + // snapshot creation. + // + // For more information, see Automating application-consistent snapshots with + // pre and post scripts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/automate-app-consistent-backups.html). + Scripts []*Script `type:"list"` + // The time, in UTC, to start the operation. The supported format is hh:mm. // // The operation occurs within a one-hour window following the specified time. @@ -1097,6 +1108,16 @@ func (s *CreateRule) Validate() error { if s.Interval != nil && *s.Interval < 1 { invalidParams.Add(request.NewErrParamMinValue("Interval", 1)) } + if s.Scripts != nil { + for i, v := range s.Scripts { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Scripts", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -1128,6 +1149,12 @@ func (s *CreateRule) SetLocation(v string) *CreateRule { return s } +// SetScripts sets the Scripts field's value. +func (s *CreateRule) SetScripts(v []*Script) *CreateRule { + s.Scripts = v + return s +} + // SetTimes sets the Times field's value. func (s *CreateRule) SetTimes(v []*string) *CreateRule { s.Times = v @@ -1137,7 +1164,8 @@ func (s *CreateRule) SetTimes(v []*string) *CreateRule { // [Event-based policies only] Specifies a cross-Region copy action for event-based // policies. // -// To specify a cross-Region copy rule for snapshot and AMI policies, use CrossRegionCopyRule. +// To specify a cross-Region copy rule for snapshot and AMI policies, use CrossRegionCopyRule +// (https://docs.aws.amazon.com/dlm/latest/APIReference/API_CrossRegionCopyRule.html). type CrossRegionCopyAction struct { _ struct{} `type:"structure"` @@ -1336,10 +1364,11 @@ func (s *CrossRegionCopyRetainRule) SetIntervalUnit(v string) *CrossRegionCopyRe return s } -// [Snapshot and AMI policies only] Specifies a cross-Region copy rule for snapshot -// and AMI policies. +// [Snapshot and AMI policies only] Specifies a cross-Region copy rule for a +// snapshot and AMI policies. // -// To specify a cross-Region copy action for event-based polices, use CrossRegionCopyAction. +// To specify a cross-Region copy action for event-based polices, use CrossRegionCopyAction +// (https://docs.aws.amazon.com/dlm/latest/APIReference/API_CrossRegionCopyAction.html). type CrossRegionCopyRule struct { _ struct{} `type:"structure"` @@ -1368,18 +1397,21 @@ type CrossRegionCopyRule struct { // copies are to be retained in the destination Region. RetainRule *CrossRegionCopyRetainRule `type:"structure"` - // The target Region or the Amazon Resource Name (ARN) of the target Outpost - // for the snapshot copies. // - // Use this parameter instead of TargetRegion. Do not specify both. + // Use this parameter for snapshot policies only. For AMI policies, use TargetRegion + // instead. + // + // [Snapshot policies only] The target Region or the Amazon Resource Name (ARN) + // of the target Outpost for the snapshot copies. Target *string `type:"string"` // - // Avoid using this parameter when creating new policies. Instead, use Target - // to specify a target Region or a target Outpost for snapshot copies. + // Use this parameter for AMI policies only. For snapshot policies, use Target + // instead. For snapshot policies created before the Target parameter was introduced, + // this parameter indicates the target Region for snapshot copies. // - // For policies created before the Target parameter was introduced, this parameter - // indicates the target Region for snapshot copies. + // [AMI policies only] The target Region or the Amazon Resource Name (ARN) of + // the target Outpost for the snapshot copies. TargetRegion *string `type:"string"` } @@ -2936,9 +2968,9 @@ func (s *ResourceNotFoundException) RequestID() string { // [Snapshot and AMI policies only] Specifies a retention rule for snapshots // created by snapshot policies, or for AMIs created by AMI policies. // -// For snapshot policies that have an ArchiveRule, this retention rule applies -// to standard tier retention. When the retention threshold is met, snapshots -// are moved from the standard to the archive tier. +// For snapshot policies that have an ArchiveRule (https://docs.aws.amazon.com/dlm/latest/APIReference/API_ArchiveRule.html), +// this retention rule applies to standard tier retention. When the retention +// threshold is met, snapshots are moved from the standard to the archive tier. // // For snapshot policies that do not have an ArchiveRule, snapshots are permanently // deleted when this retention threshold is met. @@ -2946,23 +2978,29 @@ func (s *ResourceNotFoundException) RequestID() string { // You can retain snapshots based on either a count or a time interval. // // - Count-based retention You must specify Count. If you specify an ArchiveRule +// (https://docs.aws.amazon.com/dlm/latest/APIReference/API_ArchiveRule.html) // for the schedule, then you can specify a retention count of 0 to archive -// snapshots immediately after creation. If you specify a FastRestoreRule, -// ShareRule, or a CrossRegionCopyRule, then you must specify a retention -// count of 1 or more. +// snapshots immediately after creation. If you specify a FastRestoreRule +// (https://docs.aws.amazon.com/dlm/latest/APIReference/API_FastRestoreRule.html), +// ShareRule (https://docs.aws.amazon.com/dlm/latest/APIReference/API_ShareRule.html), +// or a CrossRegionCopyRule (https://docs.aws.amazon.com/dlm/latest/APIReference/API_CrossRegionCopyRule.html), +// then you must specify a retention count of 1 or more. // // - Age-based retention You must specify Interval and IntervalUnit. If you -// specify an ArchiveRule for the schedule, then you can specify a retention -// interval of 0 days to archive snapshots immediately after creation. If -// you specify a FastRestoreRule, ShareRule, or a CrossRegionCopyRule, then -// you must specify a retention interval of 1 day or more. +// specify an ArchiveRule (https://docs.aws.amazon.com/dlm/latest/APIReference/API_ArchiveRule.html) +// for the schedule, then you can specify a retention interval of 0 days +// to archive snapshots immediately after creation. If you specify a FastRestoreRule +// (https://docs.aws.amazon.com/dlm/latest/APIReference/API_FastRestoreRule.html), +// ShareRule (https://docs.aws.amazon.com/dlm/latest/APIReference/API_ShareRule.html), +// or a CrossRegionCopyRule (https://docs.aws.amazon.com/dlm/latest/APIReference/API_CrossRegionCopyRule.html), +// then you must specify a retention interval of 1 day or more. type RetainRule struct { _ struct{} `type:"structure"` // The number of snapshots to retain for each volume, up to a maximum of 1000. // For example if you want to retain a maximum of three snapshots, specify 3. // When the fourth snapshot is created, the oldest retained snapshot is deleted, - // or it is moved to the archive tier if you have specified an ArchiveRule. + // or it is moved to the archive tier if you have specified an ArchiveRule (https://docs.aws.amazon.com/dlm/latest/APIReference/API_ArchiveRule.html). Count *int64 `type:"integer"` // The amount of time to retain each snapshot. The maximum is 100 years. This @@ -2972,7 +3010,7 @@ type RetainRule struct { // The unit of time for time-based retention. For example, to retain snapshots // for 3 months, specify Interval=3 and IntervalUnit=MONTHS. Once the snapshot // has been retained for 3 months, it is deleted, or it is moved to the archive - // tier if you have specified an ArchiveRule. + // tier if you have specified an ArchiveRule (https://docs.aws.amazon.com/dlm/latest/APIReference/API_ArchiveRule.html). IntervalUnit *string `type:"string" enum:"RetentionIntervalUnitValues"` } @@ -3306,6 +3344,175 @@ func (s *Schedule) SetVariableTags(v []*Tag) *Schedule { return s } +// [Snapshot policies that target instances only] Information about pre and/or +// post scripts for a snapshot lifecycle policy that targets instances. For +// more information, see Automating application-consistent snapshots with pre +// and post scripts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/automate-app-consistent-backups.html). +type Script struct { + _ struct{} `type:"structure"` + + // Indicates whether Amazon Data Lifecycle Manager should default to crash-consistent + // snapshots if the pre script fails. + // + // * To default to crash consistent snapshot if the pre script fails, specify + // true. + // + // * To skip the instance for snapshot creation if the pre script fails, + // specify false. + // + // This parameter is supported only if you run a pre script. If you run a post + // script only, omit this parameter. + // + // Default: true + ExecuteOperationOnScriptFailure *bool `type:"boolean"` + + // The SSM document that includes the pre and/or post scripts to run. + // + // * If you are automating VSS backups, specify AWS_VSS_BACKUP. In this case, + // Amazon Data Lifecycle Manager automatically uses the AWSEC2-CreateVssSnapshot + // SSM document. + // + // * If you are using a custom SSM document that you own, specify either + // the name or ARN of the SSM document. If you are using a custom SSM document + // that is shared with you, specify the ARN of the SSM document. + // + // ExecutionHandler is a required field + ExecutionHandler *string `type:"string" required:"true"` + + // Indicates the service used to execute the pre and/or post scripts. + // + // * If you are using custom SSM documents, specify AWS_SYSTEMS_MANAGER. + // + // * If you are automating VSS Backups, omit this parameter. + // + // Default: AWS_SYSTEMS_MANAGER + ExecutionHandlerService *string `type:"string" enum:"ExecutionHandlerServiceValues"` + + // Specifies a timeout period, in seconds, after which Amazon Data Lifecycle + // Manager fails the script run attempt if it has not completed. If a script + // does not complete within its timeout period, Amazon Data Lifecycle Manager + // fails the attempt. The timeout period applies to the pre and post scripts + // individually. + // + // If you are automating VSS Backups, omit this parameter. + // + // Default: 10 + ExecutionTimeout *int64 `min:"10" type:"integer"` + + // Specifies the number of times Amazon Data Lifecycle Manager should retry + // scripts that fail. + // + // * If the pre script fails, Amazon Data Lifecycle Manager retries the entire + // snapshot creation process, including running the pre and post scripts. + // + // * If the post script fails, Amazon Data Lifecycle Manager retries the + // post script only; in this case, the pre script will have completed and + // the snapshot might have been created. + // + // If you do not want Amazon Data Lifecycle Manager to retry failed scripts, + // specify 0. + // + // Default: 0 + MaximumRetryCount *int64 `type:"integer"` + + // Indicate which scripts Amazon Data Lifecycle Manager should run on target + // instances. Pre scripts run before Amazon Data Lifecycle Manager initiates + // snapshot creation. Post scripts run after Amazon Data Lifecycle Manager initiates + // snapshot creation. + // + // * To run a pre script only, specify PRE. In this case, Amazon Data Lifecycle + // Manager calls the SSM document with the pre-script parameter before initiating + // snapshot creation. + // + // * To run a post script only, specify POST. In this case, Amazon Data Lifecycle + // Manager calls the SSM document with the post-script parameter after initiating + // snapshot creation. + // + // * To run both pre and post scripts, specify both PRE and POST. In this + // case, Amazon Data Lifecycle Manager calls the SSM document with the pre-script + // parameter before initiating snapshot creation, and then it calls the SSM + // document again with the post-script parameter after initiating snapshot + // creation. + // + // If you are automating VSS Backups, omit this parameter. + // + // Default: PRE and POST + Stages []*string `min:"1" type:"list" enum:"StageValues"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Script) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Script) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Script) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Script"} + if s.ExecutionHandler == nil { + invalidParams.Add(request.NewErrParamRequired("ExecutionHandler")) + } + if s.ExecutionTimeout != nil && *s.ExecutionTimeout < 10 { + invalidParams.Add(request.NewErrParamMinValue("ExecutionTimeout", 10)) + } + if s.Stages != nil && len(s.Stages) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Stages", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExecuteOperationOnScriptFailure sets the ExecuteOperationOnScriptFailure field's value. +func (s *Script) SetExecuteOperationOnScriptFailure(v bool) *Script { + s.ExecuteOperationOnScriptFailure = &v + return s +} + +// SetExecutionHandler sets the ExecutionHandler field's value. +func (s *Script) SetExecutionHandler(v string) *Script { + s.ExecutionHandler = &v + return s +} + +// SetExecutionHandlerService sets the ExecutionHandlerService field's value. +func (s *Script) SetExecutionHandlerService(v string) *Script { + s.ExecutionHandlerService = &v + return s +} + +// SetExecutionTimeout sets the ExecutionTimeout field's value. +func (s *Script) SetExecutionTimeout(v int64) *Script { + s.ExecutionTimeout = &v + return s +} + +// SetMaximumRetryCount sets the MaximumRetryCount field's value. +func (s *Script) SetMaximumRetryCount(v int64) *Script { + s.MaximumRetryCount = &v + return s +} + +// SetStages sets the Stages field's value. +func (s *Script) SetStages(v []*string) *Script { + s.Stages = v + return s +} + // [Snapshot policies only] Specifies a rule for sharing snapshots across Amazon // Web Services accounts. type ShareRule struct { @@ -3754,6 +3961,18 @@ func EventTypeValues_Values() []string { } } +const ( + // ExecutionHandlerServiceValuesAwsSystemsManager is a ExecutionHandlerServiceValues enum value + ExecutionHandlerServiceValuesAwsSystemsManager = "AWS_SYSTEMS_MANAGER" +) + +// ExecutionHandlerServiceValues_Values returns all elements of the ExecutionHandlerServiceValues enum +func ExecutionHandlerServiceValues_Values() []string { + return []string{ + ExecutionHandlerServiceValuesAwsSystemsManager, + } +} + const ( // GettablePolicyStateValuesEnabled is a GettablePolicyStateValues enum value GettablePolicyStateValuesEnabled = "ENABLED" @@ -3893,3 +4112,19 @@ func SettablePolicyStateValues_Values() []string { SettablePolicyStateValuesDisabled, } } + +const ( + // StageValuesPre is a StageValues enum value + StageValuesPre = "PRE" + + // StageValuesPost is a StageValues enum value + StageValuesPost = "POST" +) + +// StageValues_Values returns all elements of the StageValues enum +func StageValues_Values() []string { + return []string{ + StageValuesPre, + StageValuesPost, + } +} diff --git a/service/rds/api.go b/service/rds/api.go index 3a3de14e7ab..b7e31895b7f 100644 --- a/service/rds/api.go +++ b/service/rds/api.go @@ -365,6 +365,12 @@ func (c *RDS) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *requ // - ErrCodeIntegrationNotFoundFault "IntegrationNotFoundFault" // The specified integration could not be found. // +// - ErrCodeTenantDatabaseNotFoundFault "TenantDatabaseNotFound" +// The specified tenant database wasn't found in the DB instance. +// +// - ErrCodeDBSnapshotTenantDatabaseNotFoundFault "DBSnapshotTenantDatabaseNotFoundFault" +// The specified snapshot tenant database wasn't found. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddTagsToResource func (c *RDS) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) { req, out := c.AddTagsToResourceRequest(input) @@ -2082,6 +2088,10 @@ func (c *RDS) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *reques // - ErrCodeCertificateNotFoundFault "CertificateNotFound" // CertificateIdentifier doesn't refer to an existing certificate. // +// - ErrCodeTenantDatabaseQuotaExceededFault "TenantDatabaseQuotaExceeded" +// You attempted to create more tenant databases than are permitted in your +// Amazon Web Services account. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstance func (c *RDS) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) { req, out := c.CreateDBInstanceRequest(input) @@ -2248,6 +2258,10 @@ func (c *RDS) CreateDBInstanceReadReplicaRequest(input *CreateDBInstanceReadRepl // The network type is invalid for the DB instance. Valid nework type values // are IPV4 and DUAL. // +// - ErrCodeTenantDatabaseQuotaExceededFault "TenantDatabaseQuotaExceeded" +// You attempted to create more tenant databases than are permitted in your +// Amazon Web Services account. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplica func (c *RDS) CreateDBInstanceReadReplica(input *CreateDBInstanceReadReplicaInput) (*CreateDBInstanceReadReplicaOutput, error) { req, out := c.CreateDBInstanceReadReplicaRequest(input) @@ -3255,6 +3269,97 @@ func (c *RDS) CreateOptionGroupWithContext(ctx aws.Context, input *CreateOptionG return out, req.Send() } +const opCreateTenantDatabase = "CreateTenantDatabase" + +// CreateTenantDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the CreateTenantDatabase operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateTenantDatabase for more information on using the CreateTenantDatabase +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateTenantDatabaseRequest method. +// req, resp := client.CreateTenantDatabaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateTenantDatabase +func (c *RDS) CreateTenantDatabaseRequest(input *CreateTenantDatabaseInput) (req *request.Request, output *CreateTenantDatabaseOutput) { + op := &request.Operation{ + Name: opCreateTenantDatabase, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateTenantDatabaseInput{} + } + + output = &CreateTenantDatabaseOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTenantDatabase API operation for Amazon Relational Database Service. +// +// Creates a tenant database in a DB instance that uses the multi-tenant configuration. +// Only RDS for Oracle container database (CDB) instances are supported. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Relational Database Service's +// API operation CreateTenantDatabase for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound" +// DBInstanceIdentifier doesn't refer to an existing DB instance. +// +// - ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState" +// The DB instance isn't in a valid state. +// +// - ErrCodeTenantDatabaseAlreadyExistsFault "TenantDatabaseAlreadyExists" +// You attempted to either create a tenant database that already exists or modify +// a tenant database to use the name of an existing tenant database. +// +// - ErrCodeTenantDatabaseQuotaExceededFault "TenantDatabaseQuotaExceeded" +// You attempted to create more tenant databases than are permitted in your +// Amazon Web Services account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateTenantDatabase +func (c *RDS) CreateTenantDatabase(input *CreateTenantDatabaseInput) (*CreateTenantDatabaseOutput, error) { + req, out := c.CreateTenantDatabaseRequest(input) + return out, req.Send() +} + +// CreateTenantDatabaseWithContext is the same as CreateTenantDatabase with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTenantDatabase for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RDS) CreateTenantDatabaseWithContext(ctx aws.Context, input *CreateTenantDatabaseInput, opts ...request.Option) (*CreateTenantDatabaseOutput, error) { + req, out := c.CreateTenantDatabaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteBlueGreenDeployment = "DeleteBlueGreenDeployment" // DeleteBlueGreenDeploymentRequest generates a "aws/request.Request" representing the @@ -4983,6 +5088,94 @@ func (c *RDS) DeleteOptionGroupWithContext(ctx aws.Context, input *DeleteOptionG return out, req.Send() } +const opDeleteTenantDatabase = "DeleteTenantDatabase" + +// DeleteTenantDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTenantDatabase operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteTenantDatabase for more information on using the DeleteTenantDatabase +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteTenantDatabaseRequest method. +// req, resp := client.DeleteTenantDatabaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteTenantDatabase +func (c *RDS) DeleteTenantDatabaseRequest(input *DeleteTenantDatabaseInput) (req *request.Request, output *DeleteTenantDatabaseOutput) { + op := &request.Operation{ + Name: opDeleteTenantDatabase, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteTenantDatabaseInput{} + } + + output = &DeleteTenantDatabaseOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteTenantDatabase API operation for Amazon Relational Database Service. +// +// Deletes a tenant database from your DB instance. This command only applies +// to RDS for Oracle container database (CDB) instances. +// +// You can't delete a tenant database when it is the only tenant in the DB instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Relational Database Service's +// API operation DeleteTenantDatabase for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound" +// DBInstanceIdentifier doesn't refer to an existing DB instance. +// +// - ErrCodeTenantDatabaseNotFoundFault "TenantDatabaseNotFound" +// The specified tenant database wasn't found in the DB instance. +// +// - ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState" +// The DB instance isn't in a valid state. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteTenantDatabase +func (c *RDS) DeleteTenantDatabase(input *DeleteTenantDatabaseInput) (*DeleteTenantDatabaseOutput, error) { + req, out := c.DeleteTenantDatabaseRequest(input) + return out, req.Send() +} + +// DeleteTenantDatabaseWithContext is the same as DeleteTenantDatabase with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTenantDatabase for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RDS) DeleteTenantDatabaseWithContext(ctx aws.Context, input *DeleteTenantDatabaseInput, opts ...request.Option) (*DeleteTenantDatabaseOutput, error) { + req, out := c.DeleteTenantDatabaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeregisterDBProxyTargets = "DeregisterDBProxyTargets" // DeregisterDBProxyTargetsRequest generates a "aws/request.Request" representing the @@ -8150,6 +8343,147 @@ func (c *RDS) DescribeDBSnapshotAttributesWithContext(ctx aws.Context, input *De return out, req.Send() } +const opDescribeDBSnapshotTenantDatabases = "DescribeDBSnapshotTenantDatabases" + +// DescribeDBSnapshotTenantDatabasesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDBSnapshotTenantDatabases operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeDBSnapshotTenantDatabases for more information on using the DescribeDBSnapshotTenantDatabases +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeDBSnapshotTenantDatabasesRequest method. +// req, resp := client.DescribeDBSnapshotTenantDatabasesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotTenantDatabases +func (c *RDS) DescribeDBSnapshotTenantDatabasesRequest(input *DescribeDBSnapshotTenantDatabasesInput) (req *request.Request, output *DescribeDBSnapshotTenantDatabasesOutput) { + op := &request.Operation{ + Name: opDescribeDBSnapshotTenantDatabases, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeDBSnapshotTenantDatabasesInput{} + } + + output = &DescribeDBSnapshotTenantDatabasesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDBSnapshotTenantDatabases API operation for Amazon Relational Database Service. +// +// Describes the tenant databases that exist in a DB snapshot. This command +// only applies to RDS for Oracle DB instances in the multi-tenant configuration. +// +// You can use this command to inspect the tenant databases within a snapshot +// before restoring it. You can't directly interact with the tenant databases +// in a DB snapshot. If you restore a snapshot that was taken from DB instance +// using the multi-tenant configuration, you restore all its tenant databases. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Relational Database Service's +// API operation DescribeDBSnapshotTenantDatabases for usage and error information. +// +// Returned Error Codes: +// - ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound" +// DBSnapshotIdentifier doesn't refer to an existing DB snapshot. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotTenantDatabases +func (c *RDS) DescribeDBSnapshotTenantDatabases(input *DescribeDBSnapshotTenantDatabasesInput) (*DescribeDBSnapshotTenantDatabasesOutput, error) { + req, out := c.DescribeDBSnapshotTenantDatabasesRequest(input) + return out, req.Send() +} + +// DescribeDBSnapshotTenantDatabasesWithContext is the same as DescribeDBSnapshotTenantDatabases with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDBSnapshotTenantDatabases for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RDS) DescribeDBSnapshotTenantDatabasesWithContext(ctx aws.Context, input *DescribeDBSnapshotTenantDatabasesInput, opts ...request.Option) (*DescribeDBSnapshotTenantDatabasesOutput, error) { + req, out := c.DescribeDBSnapshotTenantDatabasesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeDBSnapshotTenantDatabasesPages iterates over the pages of a DescribeDBSnapshotTenantDatabases operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBSnapshotTenantDatabases 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 DescribeDBSnapshotTenantDatabases operation. +// pageNum := 0 +// err := client.DescribeDBSnapshotTenantDatabasesPages(params, +// func(page *rds.DescribeDBSnapshotTenantDatabasesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *RDS) DescribeDBSnapshotTenantDatabasesPages(input *DescribeDBSnapshotTenantDatabasesInput, fn func(*DescribeDBSnapshotTenantDatabasesOutput, bool) bool) error { + return c.DescribeDBSnapshotTenantDatabasesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeDBSnapshotTenantDatabasesPagesWithContext same as DescribeDBSnapshotTenantDatabasesPages 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 *RDS) DescribeDBSnapshotTenantDatabasesPagesWithContext(ctx aws.Context, input *DescribeDBSnapshotTenantDatabasesInput, fn func(*DescribeDBSnapshotTenantDatabasesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeDBSnapshotTenantDatabasesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeDBSnapshotTenantDatabasesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeDBSnapshotTenantDatabasesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeDBSnapshots = "DescribeDBSnapshots" // DescribeDBSnapshotsRequest generates a "aws/request.Request" representing the @@ -10347,6 +10681,142 @@ func (c *RDS) DescribeSourceRegionsPagesWithContext(ctx aws.Context, input *Desc return p.Err() } +const opDescribeTenantDatabases = "DescribeTenantDatabases" + +// DescribeTenantDatabasesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTenantDatabases operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeTenantDatabases for more information on using the DescribeTenantDatabases +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeTenantDatabasesRequest method. +// req, resp := client.DescribeTenantDatabasesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeTenantDatabases +func (c *RDS) DescribeTenantDatabasesRequest(input *DescribeTenantDatabasesInput) (req *request.Request, output *DescribeTenantDatabasesOutput) { + op := &request.Operation{ + Name: opDescribeTenantDatabases, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeTenantDatabasesInput{} + } + + output = &DescribeTenantDatabasesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeTenantDatabases API operation for Amazon Relational Database Service. +// +// Describes the tenant databases in a DB instance that uses the multi-tenant +// configuration. Only RDS for Oracle CDB instances are supported. +// +// Returns awserr.Error for service API and SDK errors. Use runtime 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 Relational Database Service's +// API operation DescribeTenantDatabases for usage and error information. +// +// Returned Error Codes: +// - ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound" +// DBInstanceIdentifier doesn't refer to an existing DB instance. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeTenantDatabases +func (c *RDS) DescribeTenantDatabases(input *DescribeTenantDatabasesInput) (*DescribeTenantDatabasesOutput, error) { + req, out := c.DescribeTenantDatabasesRequest(input) + return out, req.Send() +} + +// DescribeTenantDatabasesWithContext is the same as DescribeTenantDatabases with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeTenantDatabases for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RDS) DescribeTenantDatabasesWithContext(ctx aws.Context, input *DescribeTenantDatabasesInput, opts ...request.Option) (*DescribeTenantDatabasesOutput, error) { + req, out := c.DescribeTenantDatabasesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeTenantDatabasesPages iterates over the pages of a DescribeTenantDatabases operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeTenantDatabases 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 DescribeTenantDatabases operation. +// pageNum := 0 +// err := client.DescribeTenantDatabasesPages(params, +// func(page *rds.DescribeTenantDatabasesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *RDS) DescribeTenantDatabasesPages(input *DescribeTenantDatabasesInput, fn func(*DescribeTenantDatabasesOutput, bool) bool) error { + return c.DescribeTenantDatabasesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeTenantDatabasesPagesWithContext same as DescribeTenantDatabasesPages 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 *RDS) DescribeTenantDatabasesPagesWithContext(ctx aws.Context, input *DescribeTenantDatabasesInput, fn func(*DescribeTenantDatabasesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeTenantDatabasesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeTenantDatabasesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeTenantDatabasesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeValidDBInstanceModifications = "DescribeValidDBInstanceModifications" // DescribeValidDBInstanceModificationsRequest generates a "aws/request.Request" representing the @@ -10896,6 +11366,12 @@ func (c *RDS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req * // - ErrCodeIntegrationNotFoundFault "IntegrationNotFoundFault" // The specified integration could not be found. // +// - ErrCodeTenantDatabaseNotFoundFault "TenantDatabaseNotFound" +// The specified tenant database wasn't found in the DB instance. +// +// - ErrCodeDBSnapshotTenantDatabaseNotFoundFault "DBSnapshotTenantDatabaseNotFoundFault" +// The specified snapshot tenant database wasn't found. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResource func (c *RDS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { req, out := c.ListTagsForResourceRequest(input) @@ -11885,6 +12361,10 @@ func (c *RDS) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *reques // The network type is invalid for the DB instance. Valid nework type values // are IPV4 and DUAL. // +// - ErrCodeTenantDatabaseQuotaExceededFault "TenantDatabaseQuotaExceeded" +// You attempted to create more tenant databases than are permitted in your +// Amazon Web Services account. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance func (c *RDS) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) { req, out := c.ModifyDBInstanceRequest(input) @@ -12831,6 +13311,97 @@ func (c *RDS) ModifyOptionGroupWithContext(ctx aws.Context, input *ModifyOptionG return out, req.Send() } +const opModifyTenantDatabase = "ModifyTenantDatabase" + +// ModifyTenantDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the ModifyTenantDatabase operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ModifyTenantDatabase for more information on using the ModifyTenantDatabase +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ModifyTenantDatabaseRequest method. +// req, resp := client.ModifyTenantDatabaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyTenantDatabase +func (c *RDS) ModifyTenantDatabaseRequest(input *ModifyTenantDatabaseInput) (req *request.Request, output *ModifyTenantDatabaseOutput) { + op := &request.Operation{ + Name: opModifyTenantDatabase, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyTenantDatabaseInput{} + } + + output = &ModifyTenantDatabaseOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyTenantDatabase API operation for Amazon Relational Database Service. +// +// Modifies an existing tenant database in a DB instance. You can change the +// tenant database name or the master user password. This operation is supported +// only for RDS for Oracle CDB instances using the multi-tenant configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Relational Database Service's +// API operation ModifyTenantDatabase for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound" +// DBInstanceIdentifier doesn't refer to an existing DB instance. +// +// - ErrCodeTenantDatabaseNotFoundFault "TenantDatabaseNotFound" +// The specified tenant database wasn't found in the DB instance. +// +// - ErrCodeTenantDatabaseAlreadyExistsFault "TenantDatabaseAlreadyExists" +// You attempted to either create a tenant database that already exists or modify +// a tenant database to use the name of an existing tenant database. +// +// - ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState" +// The DB instance isn't in a valid state. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyTenantDatabase +func (c *RDS) ModifyTenantDatabase(input *ModifyTenantDatabaseInput) (*ModifyTenantDatabaseOutput, error) { + req, out := c.ModifyTenantDatabaseRequest(input) + return out, req.Send() +} + +// ModifyTenantDatabaseWithContext is the same as ModifyTenantDatabase with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyTenantDatabase for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RDS) ModifyTenantDatabaseWithContext(ctx aws.Context, input *ModifyTenantDatabaseInput, opts ...request.Option) (*ModifyTenantDatabaseOutput, error) { + req, out := c.ModifyTenantDatabaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPromoteReadReplica = "PromoteReadReplica" // PromoteReadReplicaRequest generates a "aws/request.Request" representing the @@ -13835,6 +14406,12 @@ func (c *RDS) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) // - ErrCodeIntegrationNotFoundFault "IntegrationNotFoundFault" // The specified integration could not be found. // +// - ErrCodeTenantDatabaseNotFoundFault "TenantDatabaseNotFound" +// The specified tenant database wasn't found in the DB instance. +// +// - ErrCodeDBSnapshotTenantDatabaseNotFoundFault "DBSnapshotTenantDatabaseNotFoundFault" +// The specified snapshot tenant database wasn't found. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResource func (c *RDS) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) { req, out := c.RemoveTagsFromResourceRequest(input) @@ -14669,6 +15246,10 @@ func (c *RDS) RestoreDBInstanceFromDBSnapshotRequest(input *RestoreDBInstanceFro // - ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault" // DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot. // +// - ErrCodeTenantDatabaseQuotaExceededFault "TenantDatabaseQuotaExceeded" +// You attempted to create more tenant databases than are permitted in your +// Amazon Web Services account. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshot func (c *RDS) RestoreDBInstanceFromDBSnapshot(input *RestoreDBInstanceFromDBSnapshotInput) (*RestoreDBInstanceFromDBSnapshotOutput, error) { req, out := c.RestoreDBInstanceFromDBSnapshotRequest(input) @@ -14987,6 +15568,10 @@ func (c *RDS) RestoreDBInstanceToPointInTimeRequest(input *RestoreDBInstanceToPo // The network type is invalid for the DB instance. Valid nework type values // are IPV4 and DUAL. // +// - ErrCodeTenantDatabaseQuotaExceededFault "TenantDatabaseQuotaExceeded" +// You attempted to create more tenant databases than are permitted in your +// Amazon Web Services account. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTime func (c *RDS) RestoreDBInstanceToPointInTime(input *RestoreDBInstanceToPointInTimeInput) (*RestoreDBInstanceToPointInTimeOutput, error) { req, out := c.RestoreDBInstanceToPointInTimeRequest(input) @@ -22533,6 +23118,21 @@ type CreateDBInstanceInput struct { // * RDS Custom MultiAZ *bool `type:"boolean"` + // Specifies whether to use the multi-tenant configuration or the single-tenant + // configuration (default). This parameter only applies to RDS for Oracle container + // database (CDB) engines. + // + // Note the following restrictions: + // + // * The DB engine that you specify in the request must support the multi-tenant + // configuration. If you attempt to enable the multi-tenant configuration + // on a DB engine that doesn't support it, the request fails. + // + // * If you specify the multi-tenant configuration when you create your DB + // instance, you can't later modify this DB instance to use the single-tenant + // configuration. + MultiTenant *bool `type:"boolean"` + // The name of the NCHAR character set for the Oracle DB instance. // // This setting doesn't apply to RDS Custom DB instances. @@ -23055,6 +23655,12 @@ func (s *CreateDBInstanceInput) SetMultiAZ(v bool) *CreateDBInstanceInput { return s } +// SetMultiTenant sets the MultiTenant field's value. +func (s *CreateDBInstanceInput) SetMultiTenant(v bool) *CreateDBInstanceInput { + s.MultiTenant = &v + return s +} + // SetNcharCharacterSetName sets the NcharCharacterSetName field's value. func (s *CreateDBInstanceInput) SetNcharCharacterSetName(v string) *CreateDBInstanceInput { s.NcharCharacterSetName = &v @@ -25718,6 +26324,178 @@ func (s *CreateOptionGroupOutput) SetOptionGroup(v *OptionGroup) *CreateOptionGr return s } +type CreateTenantDatabaseInput struct { + _ struct{} `type:"structure"` + + // The character set for your tenant database. If you don't specify a value, + // the character set name defaults to AL32UTF8. + CharacterSetName *string `type:"string"` + + // The user-supplied DB instance identifier. RDS creates your tenant database + // in this DB instance. This parameter isn't case-sensitive. + // + // DBInstanceIdentifier is a required field + DBInstanceIdentifier *string `type:"string" required:"true"` + + // The password for the master user in your tenant database. + // + // Constraints: + // + // * Must be 8 to 30 characters. + // + // * Can include any printable ASCII character except forward slash (/), + // double quote ("), at symbol (@), ampersand (&), or single quote ('). + // + // MasterUserPassword is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateTenantDatabaseInput's + // String and GoString methods. + // + // MasterUserPassword is a required field + MasterUserPassword *string `type:"string" required:"true" sensitive:"true"` + + // The name for the master user account in your tenant database. RDS creates + // this user account in the tenant database and grants privileges to the master + // user. This parameter is case-sensitive. + // + // Constraints: + // + // * Must be 1 to 16 letters, numbers, or underscores. + // + // * First character must be a letter. + // + // * Can't be a reserved word for the chosen database engine. + // + // MasterUsername is a required field + MasterUsername *string `type:"string" required:"true"` + + // The NCHAR value for the tenant database. + NcharCharacterSetName *string `type:"string"` + + // A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) + // in the Amazon RDS User Guide. + Tags []*Tag `locationNameList:"Tag" type:"list"` + + // The user-supplied name of the tenant database that you want to create in + // your DB instance. This parameter has the same constraints as DBName in CreateDBInstance. + // + // TenantDBName is a required field + TenantDBName *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 CreateTenantDatabaseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTenantDatabaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTenantDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTenantDatabaseInput"} + if s.DBInstanceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier")) + } + if s.MasterUserPassword == nil { + invalidParams.Add(request.NewErrParamRequired("MasterUserPassword")) + } + if s.MasterUsername == nil { + invalidParams.Add(request.NewErrParamRequired("MasterUsername")) + } + if s.TenantDBName == nil { + invalidParams.Add(request.NewErrParamRequired("TenantDBName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCharacterSetName sets the CharacterSetName field's value. +func (s *CreateTenantDatabaseInput) SetCharacterSetName(v string) *CreateTenantDatabaseInput { + s.CharacterSetName = &v + return s +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *CreateTenantDatabaseInput) SetDBInstanceIdentifier(v string) *CreateTenantDatabaseInput { + s.DBInstanceIdentifier = &v + return s +} + +// SetMasterUserPassword sets the MasterUserPassword field's value. +func (s *CreateTenantDatabaseInput) SetMasterUserPassword(v string) *CreateTenantDatabaseInput { + s.MasterUserPassword = &v + return s +} + +// SetMasterUsername sets the MasterUsername field's value. +func (s *CreateTenantDatabaseInput) SetMasterUsername(v string) *CreateTenantDatabaseInput { + s.MasterUsername = &v + return s +} + +// SetNcharCharacterSetName sets the NcharCharacterSetName field's value. +func (s *CreateTenantDatabaseInput) SetNcharCharacterSetName(v string) *CreateTenantDatabaseInput { + s.NcharCharacterSetName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateTenantDatabaseInput) SetTags(v []*Tag) *CreateTenantDatabaseInput { + s.Tags = v + return s +} + +// SetTenantDBName sets the TenantDBName field's value. +func (s *CreateTenantDatabaseInput) SetTenantDBName(v string) *CreateTenantDatabaseInput { + s.TenantDBName = &v + return s +} + +type CreateTenantDatabaseOutput struct { + _ struct{} `type:"structure"` + + // A tenant database in the DB instance. This data type is an element in the + // response to the DescribeTenantDatabases action. + TenantDatabase *TenantDatabase `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 CreateTenantDatabaseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTenantDatabaseOutput) GoString() string { + return s.String() +} + +// SetTenantDatabase sets the TenantDatabase field's value. +func (s *CreateTenantDatabaseOutput) SetTenantDatabase(v *TenantDatabase) *CreateTenantDatabaseOutput { + s.TenantDatabase = v + return s +} + // A value that indicates the AMI information. type CustomDBEngineVersionAMI struct { _ struct{} `type:"structure"` @@ -28177,8 +28955,8 @@ type DBInstance struct { // in the Amazon RDS User Guide. DBInstanceStatus *string `type:"string"` - // Contains the initial database name that you provided (if required) when you - // created the DB instance. This name is returned for the life of your DB instance. + // The initial database name that you provided (if required) when you created + // the DB instance. This name is returned for the life of your DB instance. // For an RDS for Oracle CDB instance, the name identifies the PDB rather than // the CDB. DBName *string `type:"string"` @@ -28309,6 +29087,10 @@ type DBInstance struct { // doesn't apply to RDS Custom DB instances. MultiAZ *bool `type:"boolean"` + // Specifies whether the DB instance is in the multi-tenant configuration (TRUE) + // or the single-tenant configuration (FALSE). + MultiTenant *bool `type:"boolean"` + // The name of the NCHAR character set for the Oracle DB instance. This character // set specifies the Unicode encoding for data stored in table columns of type // NCHAR, NCLOB, or NVARCHAR2. @@ -28815,6 +29597,12 @@ func (s *DBInstance) SetMultiAZ(v bool) *DBInstance { return s } +// SetMultiTenant sets the MultiTenant field's value. +func (s *DBInstance) SetMultiTenant(v bool) *DBInstance { + s.MultiTenant = &v + return s +} + // SetNcharCharacterSetName sets the NcharCharacterSetName field's value. func (s *DBInstance) SetNcharCharacterSetName(v string) *DBInstance { s.NcharCharacterSetName = &v @@ -29060,6 +29848,10 @@ type DBInstanceAutomatedBackup struct { // The master user name of an automated backup. MasterUsername *string `type:"string"` + // Specifies whether the automatic backup is for a DB instance in the multi-tenant + // configuration (TRUE) or the single-tenant configuration (FALSE). + MultiTenant *bool `type:"boolean"` + // The option group the automated backup is associated with. If omitted, the // default option group for the engine specified is used. OptionGroupName *string `type:"string"` @@ -29244,6 +30036,12 @@ func (s *DBInstanceAutomatedBackup) SetMasterUsername(v string) *DBInstanceAutom return s } +// SetMultiTenant sets the MultiTenant field's value. +func (s *DBInstanceAutomatedBackup) SetMultiTenant(v bool) *DBInstanceAutomatedBackup { + s.MultiTenant = &v + return s +} + // SetOptionGroupName sets the OptionGroupName field's value. func (s *DBInstanceAutomatedBackup) SetOptionGroupName(v string) *DBInstanceAutomatedBackup { s.OptionGroupName = &v @@ -29410,8 +30208,8 @@ type DBInstanceStatusInfo struct { // isn't in an error state, this value is blank. Message *string `type:"string"` - // A Boolean value that is true if the instance is operating normally, or false - // if the instance is in an error state. + // Indicates whether the instance is operating normally (TRUE) or is in an error + // state (FALSE). Normal *bool `type:"boolean"` // The status of the DB instance. For a StatusType of read replica, the values @@ -30363,6 +31161,10 @@ type DBSnapshot struct { // Provides the master username for the DB snapshot. MasterUsername *string `type:"string"` + // Indicates whether the snapshot is of a DB instance using the multi-tenant + // configuration (TRUE) or the single-tenant configuration (FALSE). + MultiTenant *bool `type:"boolean"` + // Provides the option group name for the DB snapshot. OptionGroupName *string `type:"string"` @@ -30557,6 +31359,12 @@ func (s *DBSnapshot) SetMasterUsername(v string) *DBSnapshot { return s } +// SetMultiTenant sets the MultiTenant field's value. +func (s *DBSnapshot) SetMultiTenant(v bool) *DBSnapshot { + s.MultiTenant = &v + return s +} + // SetOptionGroupName sets the OptionGroupName field's value. func (s *DBSnapshot) SetOptionGroupName(v string) *DBSnapshot { s.OptionGroupName = &v @@ -30766,6 +31574,149 @@ func (s *DBSnapshotAttributesResult) SetDBSnapshotIdentifier(v string) *DBSnapsh return s } +// Contains the details of a tenant database in a snapshot of a DB instance. +type DBSnapshotTenantDatabase struct { + _ struct{} `type:"structure"` + + // The name of the character set of a tenant database. + CharacterSetName *string `type:"string"` + + // The ID for the DB instance that contains the tenant databases. + DBInstanceIdentifier *string `type:"string"` + + // The identifier for the snapshot of the DB instance. + DBSnapshotIdentifier *string `type:"string"` + + // The Amazon Resource Name (ARN) for the snapshot tenant database. + DBSnapshotTenantDatabaseARN *string `type:"string"` + + // The resource identifier of the source CDB instance. This identifier can't + // be changed and is unique to an Amazon Web Services Region. + DbiResourceId *string `type:"string"` + + // The name of the database engine. + EngineName *string `type:"string"` + + // The master username of the tenant database. + MasterUsername *string `type:"string"` + + // The NCHAR character set name of the tenant database. + NcharCharacterSetName *string `type:"string"` + + // The type of DB snapshot. + SnapshotType *string `type:"string"` + + // A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) + // in the Amazon RDS User Guide. + TagList []*Tag `locationNameList:"Tag" type:"list"` + + // The name of the tenant database. + TenantDBName *string `type:"string"` + + // The time the DB snapshot was taken, specified in Coordinated Universal Time + // (UTC). If you copy the snapshot, the creation time changes. + TenantDatabaseCreateTime *time.Time `type:"timestamp"` + + // The resource ID of the tenant database. + TenantDatabaseResourceId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DBSnapshotTenantDatabase) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DBSnapshotTenantDatabase) GoString() string { + return s.String() +} + +// SetCharacterSetName sets the CharacterSetName field's value. +func (s *DBSnapshotTenantDatabase) SetCharacterSetName(v string) *DBSnapshotTenantDatabase { + s.CharacterSetName = &v + return s +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *DBSnapshotTenantDatabase) SetDBInstanceIdentifier(v string) *DBSnapshotTenantDatabase { + s.DBInstanceIdentifier = &v + return s +} + +// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value. +func (s *DBSnapshotTenantDatabase) SetDBSnapshotIdentifier(v string) *DBSnapshotTenantDatabase { + s.DBSnapshotIdentifier = &v + return s +} + +// SetDBSnapshotTenantDatabaseARN sets the DBSnapshotTenantDatabaseARN field's value. +func (s *DBSnapshotTenantDatabase) SetDBSnapshotTenantDatabaseARN(v string) *DBSnapshotTenantDatabase { + s.DBSnapshotTenantDatabaseARN = &v + return s +} + +// SetDbiResourceId sets the DbiResourceId field's value. +func (s *DBSnapshotTenantDatabase) SetDbiResourceId(v string) *DBSnapshotTenantDatabase { + s.DbiResourceId = &v + return s +} + +// SetEngineName sets the EngineName field's value. +func (s *DBSnapshotTenantDatabase) SetEngineName(v string) *DBSnapshotTenantDatabase { + s.EngineName = &v + return s +} + +// SetMasterUsername sets the MasterUsername field's value. +func (s *DBSnapshotTenantDatabase) SetMasterUsername(v string) *DBSnapshotTenantDatabase { + s.MasterUsername = &v + return s +} + +// SetNcharCharacterSetName sets the NcharCharacterSetName field's value. +func (s *DBSnapshotTenantDatabase) SetNcharCharacterSetName(v string) *DBSnapshotTenantDatabase { + s.NcharCharacterSetName = &v + return s +} + +// SetSnapshotType sets the SnapshotType field's value. +func (s *DBSnapshotTenantDatabase) SetSnapshotType(v string) *DBSnapshotTenantDatabase { + s.SnapshotType = &v + return s +} + +// SetTagList sets the TagList field's value. +func (s *DBSnapshotTenantDatabase) SetTagList(v []*Tag) *DBSnapshotTenantDatabase { + s.TagList = v + return s +} + +// SetTenantDBName sets the TenantDBName field's value. +func (s *DBSnapshotTenantDatabase) SetTenantDBName(v string) *DBSnapshotTenantDatabase { + s.TenantDBName = &v + return s +} + +// SetTenantDatabaseCreateTime sets the TenantDatabaseCreateTime field's value. +func (s *DBSnapshotTenantDatabase) SetTenantDatabaseCreateTime(v time.Time) *DBSnapshotTenantDatabase { + s.TenantDatabaseCreateTime = &v + return s +} + +// SetTenantDatabaseResourceId sets the TenantDatabaseResourceId field's value. +func (s *DBSnapshotTenantDatabase) SetTenantDatabaseResourceId(v string) *DBSnapshotTenantDatabase { + s.TenantDatabaseResourceId = &v + return s +} + // Contains the details of an Amazon RDS DB subnet group. // // This data type is used as a response element in the DescribeDBSubnetGroups @@ -33064,6 +34015,128 @@ func (s DeleteOptionGroupOutput) GoString() string { return s.String() } +type DeleteTenantDatabaseInput struct { + _ struct{} `type:"structure"` + + // The user-supplied identifier for the DB instance that contains the tenant + // database that you want to delete. + // + // DBInstanceIdentifier is a required field + DBInstanceIdentifier *string `type:"string" required:"true"` + + // The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot + // parameter is disabled. + // + // If you enable this parameter and also enable SkipFinalShapshot, the command + // results in an error. + FinalDBSnapshotIdentifier *string `type:"string"` + + // Specifies whether to skip the creation of a final DB snapshot before removing + // the tenant database from your DB instance. If you enable this parameter, + // RDS doesn't create a DB snapshot. If you don't enable this parameter, RDS + // creates a DB snapshot before it deletes the tenant database. By default, + // RDS doesn't skip the final snapshot. If you don't enable this parameter, + // you must specify the FinalDBSnapshotIdentifier parameter. + SkipFinalSnapshot *bool `type:"boolean"` + + // The user-supplied name of the tenant database that you want to remove from + // your DB instance. Amazon RDS deletes the tenant database with this name. + // This parameter isn’t case-sensitive. + // + // TenantDBName is a required field + TenantDBName *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 DeleteTenantDatabaseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTenantDatabaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTenantDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTenantDatabaseInput"} + if s.DBInstanceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier")) + } + if s.TenantDBName == nil { + invalidParams.Add(request.NewErrParamRequired("TenantDBName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *DeleteTenantDatabaseInput) SetDBInstanceIdentifier(v string) *DeleteTenantDatabaseInput { + s.DBInstanceIdentifier = &v + return s +} + +// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value. +func (s *DeleteTenantDatabaseInput) SetFinalDBSnapshotIdentifier(v string) *DeleteTenantDatabaseInput { + s.FinalDBSnapshotIdentifier = &v + return s +} + +// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value. +func (s *DeleteTenantDatabaseInput) SetSkipFinalSnapshot(v bool) *DeleteTenantDatabaseInput { + s.SkipFinalSnapshot = &v + return s +} + +// SetTenantDBName sets the TenantDBName field's value. +func (s *DeleteTenantDatabaseInput) SetTenantDBName(v string) *DeleteTenantDatabaseInput { + s.TenantDBName = &v + return s +} + +type DeleteTenantDatabaseOutput struct { + _ struct{} `type:"structure"` + + // A tenant database in the DB instance. This data type is an element in the + // response to the DescribeTenantDatabases action. + TenantDatabase *TenantDatabase `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 DeleteTenantDatabaseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTenantDatabaseOutput) GoString() string { + return s.String() +} + +// SetTenantDatabase sets the TenantDatabase field's value. +func (s *DeleteTenantDatabaseOutput) SetTenantDatabase(v *TenantDatabase) *DeleteTenantDatabaseOutput { + s.TenantDatabase = v + return s +} + type DeregisterDBProxyTargetsInput struct { _ struct{} `type:"structure"` @@ -36631,6 +37704,205 @@ func (s *DescribeDBSnapshotAttributesOutput) SetDBSnapshotAttributesResult(v *DB return s } +type DescribeDBSnapshotTenantDatabasesInput struct { + _ struct{} `type:"structure"` + + // The ID of the DB instance used to create the DB snapshots. This parameter + // isn't case-sensitive. + // + // Constraints: + // + // * If supplied, must match the identifier of an existing DBInstance. + DBInstanceIdentifier *string `type:"string"` + + // The ID of a DB snapshot that contains the tenant databases to describe. This + // value is stored as a lowercase string. + // + // Constraints: + // + // * If you specify this parameter, the value must match the ID of an existing + // DB snapshot. + // + // * If you specify an automatic snapshot, you must also specify SnapshotType. + DBSnapshotIdentifier *string `type:"string"` + + // A specific DB resource identifier to describe. + DbiResourceId *string `type:"string"` + + // A filter that specifies one or more tenant databases to describe. + // + // Supported filters: + // + // * tenant-db-name - Tenant database names. The results list only includes + // information about the tenant databases that match these tenant DB names. + // + // * tenant-database-resource-id - Tenant database resource identifiers. + // The results list only includes information about the tenant databases + // contained within the DB snapshots. + // + // * dbi-resource-id - DB instance resource identifiers. The results list + // only includes information about snapshots containing tenant databases + // contained within the DB instances identified by these resource identifiers. + // + // * db-instance-id - Accepts DB instance identifiers and DB instance Amazon + // Resource Names (ARNs). + // + // * db-snapshot-id - Accepts DB snapshot identifiers. + // + // * snapshot-type - Accepts types of DB snapshots. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // An optional pagination token provided by a previous DescribeDBSnapshotTenantDatabases + // request. If this parameter is specified, the response includes only records + // beyond the marker, up to the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token called a marker + // is included in the response so that you can retrieve the remaining results. + MaxRecords *int64 `type:"integer"` + + // The type of DB snapshots to be returned. You can specify one of the following + // values: + // + // * automated – All DB snapshots that have been automatically taken by + // Amazon RDS for my Amazon Web Services account. + // + // * manual – All DB snapshots that have been taken by my Amazon Web Services + // account. + // + // * shared – All manual DB snapshots that have been shared to my Amazon + // Web Services account. + // + // * public – All DB snapshots that have been marked as public. + // + // * awsbackup – All DB snapshots managed by the Amazon Web Services Backup + // service. + SnapshotType *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeDBSnapshotTenantDatabasesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeDBSnapshotTenantDatabasesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDBSnapshotTenantDatabasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDBSnapshotTenantDatabasesInput"} + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *DescribeDBSnapshotTenantDatabasesInput) SetDBInstanceIdentifier(v string) *DescribeDBSnapshotTenantDatabasesInput { + s.DBInstanceIdentifier = &v + return s +} + +// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value. +func (s *DescribeDBSnapshotTenantDatabasesInput) SetDBSnapshotIdentifier(v string) *DescribeDBSnapshotTenantDatabasesInput { + s.DBSnapshotIdentifier = &v + return s +} + +// SetDbiResourceId sets the DbiResourceId field's value. +func (s *DescribeDBSnapshotTenantDatabasesInput) SetDbiResourceId(v string) *DescribeDBSnapshotTenantDatabasesInput { + s.DbiResourceId = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeDBSnapshotTenantDatabasesInput) SetFilters(v []*Filter) *DescribeDBSnapshotTenantDatabasesInput { + s.Filters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeDBSnapshotTenantDatabasesInput) SetMarker(v string) *DescribeDBSnapshotTenantDatabasesInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeDBSnapshotTenantDatabasesInput) SetMaxRecords(v int64) *DescribeDBSnapshotTenantDatabasesInput { + s.MaxRecords = &v + return s +} + +// SetSnapshotType sets the SnapshotType field's value. +func (s *DescribeDBSnapshotTenantDatabasesInput) SetSnapshotType(v string) *DescribeDBSnapshotTenantDatabasesInput { + s.SnapshotType = &v + return s +} + +type DescribeDBSnapshotTenantDatabasesOutput struct { + _ struct{} `type:"structure"` + + // A list of DB snapshot tenant databases. + DBSnapshotTenantDatabases []*DBSnapshotTenantDatabase `locationNameList:"DBSnapshotTenantDatabase" type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeDBSnapshotTenantDatabasesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeDBSnapshotTenantDatabasesOutput) GoString() string { + return s.String() +} + +// SetDBSnapshotTenantDatabases sets the DBSnapshotTenantDatabases field's value. +func (s *DescribeDBSnapshotTenantDatabasesOutput) SetDBSnapshotTenantDatabases(v []*DBSnapshotTenantDatabase) *DescribeDBSnapshotTenantDatabasesOutput { + s.DBSnapshotTenantDatabases = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeDBSnapshotTenantDatabasesOutput) SetMarker(v string) *DescribeDBSnapshotTenantDatabasesOutput { + s.Marker = &v + return s +} + type DescribeDBSnapshotsInput struct { _ struct{} `type:"structure"` @@ -39456,6 +40728,155 @@ func (s *DescribeSourceRegionsOutput) SetSourceRegions(v []*SourceRegion) *Descr return s } +type DescribeTenantDatabasesInput struct { + _ struct{} `type:"structure"` + + // The user-supplied DB instance identifier, which must match the identifier + // of an existing instance owned by the Amazon Web Services account. This parameter + // isn't case-sensitive. + DBInstanceIdentifier *string `type:"string"` + + // A filter that specifies one or more database tenants to describe. + // + // Supported filters: + // + // * tenant-db-name - Tenant database names. The results list only includes + // information about the tenant databases that match these tenant DB names. + // + // * tenant-database-resource-id - Tenant database resource identifiers. + // + // * dbi-resource-id - DB instance resource identifiers. The results list + // only includes information about the tenants contained within the DB instances + // identified by these resource identifiers. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // An optional pagination token provided by a previous DescribeTenantDatabases + // request. If this parameter is specified, the response includes only records + // beyond the marker, up to the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token called a marker + // is included in the response so that you can retrieve the remaining results. + MaxRecords *int64 `type:"integer"` + + // The user-supplied tenant database name, which must match the name of an existing + // tenant database on the specified DB instance owned by your Amazon Web Services + // account. This parameter isn’t case-sensitive. + TenantDBName *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeTenantDatabasesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeTenantDatabasesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTenantDatabasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTenantDatabasesInput"} + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *DescribeTenantDatabasesInput) SetDBInstanceIdentifier(v string) *DescribeTenantDatabasesInput { + s.DBInstanceIdentifier = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeTenantDatabasesInput) SetFilters(v []*Filter) *DescribeTenantDatabasesInput { + s.Filters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeTenantDatabasesInput) SetMarker(v string) *DescribeTenantDatabasesInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeTenantDatabasesInput) SetMaxRecords(v int64) *DescribeTenantDatabasesInput { + s.MaxRecords = &v + return s +} + +// SetTenantDBName sets the TenantDBName field's value. +func (s *DescribeTenantDatabasesInput) SetTenantDBName(v string) *DescribeTenantDatabasesInput { + s.TenantDBName = &v + return s +} + +type DescribeTenantDatabasesOutput struct { + _ struct{} `type:"structure"` + + // An optional pagination token provided by a previous DescribeTenantDatabases + // request. If this parameter is specified, the response includes only records + // beyond the marker, up to the value specified by MaxRecords. + Marker *string `type:"string"` + + // An array of the tenant databases requested by the DescribeTenantDatabases + // operation. + TenantDatabases []*TenantDatabase `locationNameList:"TenantDatabase" 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 DescribeTenantDatabasesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeTenantDatabasesOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *DescribeTenantDatabasesOutput) SetMarker(v string) *DescribeTenantDatabasesOutput { + s.Marker = &v + return s +} + +// SetTenantDatabases sets the TenantDatabases field's value. +func (s *DescribeTenantDatabasesOutput) SetTenantDatabases(v []*TenantDatabase) *DescribeTenantDatabasesOutput { + s.TenantDatabases = v + return s +} + type DescribeValidDBInstanceModificationsInput struct { _ struct{} `type:"structure"` @@ -40137,8 +41558,8 @@ type EventSubscription struct { // subscription. CustomerAwsId *string `type:"string"` - // A Boolean value indicating if the subscription is enabled. True indicates - // the subscription is enabled. + // Specifies whether the subscription is enabled. True indicates the subscription + // is enabled. Enabled *bool `type:"boolean"` // A list of event categories for the RDS event notification subscription. @@ -40724,14 +42145,17 @@ type FailoverState struct { // the global cluster. The global cluster's primary DB cluster and the specified // secondary DB cluster are being verified before the operation starts. // - // * failing-over – This status covers the range of Aurora internal operations - // that take place during the switchover or failover process, such as demoting - // the primary Aurora DB cluster, promoting the secondary Aurora DB cluster, - // and synchronizing replicas. + // * failing-over – Aurora is promoting the chosen secondary Aurora DB + // cluster to become the new primary DB cluster to fail over the global cluster. // // * cancelling – The request to switch over or fail over the global cluster // was cancelled and the primary Aurora DB cluster and the selected secondary // Aurora DB cluster are returning to their previous states. + // + // * switching-over – This status covers the range of Aurora internal operations + // that take place during the switchover process, such as demoting the primary + // Aurora DB cluster, promoting the secondary Aurora DB cluster, and synchronizing + // replicas. Status *string `type:"string" enum:"FailoverStatus"` // The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently @@ -43815,8 +45239,8 @@ type ModifyDBInstanceInput struct { // * If you are modifying the DB instance class and upgrading the engine // version at the same time, the currently running engine version must be // supported on the specified DB instance class. Otherwise, the operation - // returns an error. In this case, first run the operation to modify the - // DB instance class, and then run it again to upgrade the engine version. + // returns an error. In this case, first run the operation to upgrade the + // engine version, and then run it again to modify the DB instance class. DBInstanceClass *string `type:"string"` // The identifier of DB instance to modify. This value is stored as a lowercase @@ -44065,8 +45489,8 @@ type ModifyDBInstanceInput struct { // * If you are upgrading the engine version and modifying the DB instance // class at the same time, the currently running engine version must be supported // on the specified DB instance class. Otherwise, the operation returns an - // error. In this case, first run the operation to modify the DB instance - // class, and then run it again to upgrade the engine version. + // error. In this case, first run the operation to upgrade the engine version, + // and then run it again to modify the DB instance class. EngineVersion *string `type:"string"` // The new Provisioned IOPS (I/O operations per second) value for the RDS instance. @@ -44251,6 +45675,21 @@ type ModifyDBInstanceInput struct { // This setting doesn't apply to RDS Custom DB instances. MultiAZ *bool `type:"boolean"` + // Specifies whether the to convert your DB instance from the single-tenant + // configuration to the multi-tenant configuration. This parameter is supported + // only for RDS for Oracle CDB instances. + // + // During the conversion, RDS creates an initial tenant database and associates + // the DB name, master user name, character set, and national character set + // metadata with this database. The tags associated with the instance also propagate + // to the initial tenant database. You can add more tenant databases to your + // DB instance by using the CreateTenantDatabase operation. + // + // The conversion to the multi-tenant configuration is permanent and irreversible, + // so you can't later convert back to the single-tenant configuration. When + // you specify this parameter, you must also specify ApplyImmediately. + MultiTenant *bool `type:"boolean"` + // The network type of the DB instance. // // The network type is determined by the DBSubnetGroup specified for the DB @@ -44802,6 +46241,12 @@ func (s *ModifyDBInstanceInput) SetMultiAZ(v bool) *ModifyDBInstanceInput { return s } +// SetMultiTenant sets the MultiTenant field's value. +func (s *ModifyDBInstanceInput) SetMultiTenant(v bool) *ModifyDBInstanceInput { + s.MultiTenant = &v + return s +} + // SetNetworkType sets the NetworkType field's value. func (s *ModifyDBInstanceInput) SetNetworkType(v string) *ModifyDBInstanceInput { s.NetworkType = &v @@ -46161,6 +47606,151 @@ func (s *ModifyOptionGroupOutput) SetOptionGroup(v *OptionGroup) *ModifyOptionGr return s } +type ModifyTenantDatabaseInput struct { + _ struct{} `type:"structure"` + + // The identifier of the DB instance that contains the tenant database that + // you are modifying. This parameter isn't case-sensitive. + // + // Constraints: + // + // * Must match the identifier of an existing DB instance. + // + // DBInstanceIdentifier is a required field + DBInstanceIdentifier *string `type:"string" required:"true"` + + // The new password for the master user of the specified tenant database in + // your DB instance. + // + // Amazon RDS operations never return the password, so this action provides + // a way to regain access to a tenant database user if the password is lost. + // This includes restoring privileges that might have been accidentally revoked. + // + // Constraints: + // + // * Can include any printable ASCII character except /, " (double quote), + // @, & (ampersand), and ' (single quote). + // + // Length constraints: + // + // * Must contain between 8 and 30 characters. + // + // MasterUserPassword is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ModifyTenantDatabaseInput's + // String and GoString methods. + MasterUserPassword *string `type:"string" sensitive:"true"` + + // The new name of the tenant database when renaming a tenant database. This + // parameter isn’t case-sensitive. + // + // Constraints: + // + // * Can't be the string null or any other reserved word. + // + // * Can't be longer than 8 characters. + NewTenantDBName *string `type:"string"` + + // The user-supplied name of the tenant database that you want to modify. This + // parameter isn’t case-sensitive. + // + // Constraints: + // + // * Must match the identifier of an existing tenant database. + // + // TenantDBName is a required field + TenantDBName *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 ModifyTenantDatabaseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ModifyTenantDatabaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyTenantDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyTenantDatabaseInput"} + if s.DBInstanceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier")) + } + if s.TenantDBName == nil { + invalidParams.Add(request.NewErrParamRequired("TenantDBName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *ModifyTenantDatabaseInput) SetDBInstanceIdentifier(v string) *ModifyTenantDatabaseInput { + s.DBInstanceIdentifier = &v + return s +} + +// SetMasterUserPassword sets the MasterUserPassword field's value. +func (s *ModifyTenantDatabaseInput) SetMasterUserPassword(v string) *ModifyTenantDatabaseInput { + s.MasterUserPassword = &v + return s +} + +// SetNewTenantDBName sets the NewTenantDBName field's value. +func (s *ModifyTenantDatabaseInput) SetNewTenantDBName(v string) *ModifyTenantDatabaseInput { + s.NewTenantDBName = &v + return s +} + +// SetTenantDBName sets the TenantDBName field's value. +func (s *ModifyTenantDatabaseInput) SetTenantDBName(v string) *ModifyTenantDatabaseInput { + s.TenantDBName = &v + return s +} + +type ModifyTenantDatabaseOutput struct { + _ struct{} `type:"structure"` + + // A tenant database in the DB instance. This data type is an element in the + // response to the DescribeTenantDatabases action. + TenantDatabase *TenantDatabase `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 ModifyTenantDatabaseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ModifyTenantDatabaseOutput) GoString() string { + return s.String() +} + +// SetTenantDatabase sets the TenantDatabase field's value. +func (s *ModifyTenantDatabaseOutput) SetTenantDatabase(v *TenantDatabase) *ModifyTenantDatabaseOutput { + s.TenantDatabase = v + return s +} + // The details of an option. type Option struct { _ struct{} `type:"structure"` @@ -47693,6 +49283,10 @@ type PendingModifiedValues struct { // Indicates whether the Single-AZ DB instance will change to a Multi-AZ deployment. MultiAZ *bool `type:"boolean"` + // Indicates whether the DB instance will change to the multi-tenant configuration + // (TRUE) or the single-tenant configuration (FALSE). + MultiTenant *bool `type:"boolean"` + // A list of the log types whose configuration is still pending. In other words, // these log types are in the process of being activated or deactivated. PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"` @@ -47824,6 +49418,12 @@ func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues { return s } +// SetMultiTenant sets the MultiTenant field's value. +func (s *PendingModifiedValues) SetMultiTenant(v bool) *PendingModifiedValues { + s.MultiTenant = &v + return s +} + // SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value. func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues { s.PendingCloudwatchLogsExports = v @@ -56199,6 +57799,195 @@ func (s *TargetHealth) SetState(v string) *TargetHealth { return s } +// A tenant database in the DB instance. This data type is an element in the +// response to the DescribeTenantDatabases action. +type TenantDatabase struct { + _ struct{} `type:"structure"` + + // The character set of the tenant database. + CharacterSetName *string `type:"string"` + + // The ID of the DB instance that contains the tenant database. + DBInstanceIdentifier *string `type:"string"` + + // The Amazon Web Services Region-unique, immutable identifier for the DB instance. + DbiResourceId *string `type:"string"` + + // Specifies whether deletion protection is enabled for the DB instance. + DeletionProtection *bool `type:"boolean"` + + // The master username of the tenant database. + MasterUsername *string `type:"string"` + + // The NCHAR character set name of the tenant database. + NcharCharacterSetName *string `type:"string"` + + // Information about pending changes for a tenant database. + PendingModifiedValues *TenantDatabasePendingModifiedValues `type:"structure"` + + // The status of the tenant database. + Status *string `type:"string"` + + // A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) + // in the Amazon RDS User Guide. + TagList []*Tag `locationNameList:"Tag" type:"list"` + + // The database name of the tenant database. + TenantDBName *string `type:"string"` + + // The Amazon Resource Name (ARN) for the tenant database. + TenantDatabaseARN *string `type:"string"` + + // The creation time of the tenant database. + TenantDatabaseCreateTime *time.Time `type:"timestamp"` + + // The Amazon Web Services Region-unique, immutable identifier for the tenant + // database. + TenantDatabaseResourceId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TenantDatabase) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TenantDatabase) GoString() string { + return s.String() +} + +// SetCharacterSetName sets the CharacterSetName field's value. +func (s *TenantDatabase) SetCharacterSetName(v string) *TenantDatabase { + s.CharacterSetName = &v + return s +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *TenantDatabase) SetDBInstanceIdentifier(v string) *TenantDatabase { + s.DBInstanceIdentifier = &v + return s +} + +// SetDbiResourceId sets the DbiResourceId field's value. +func (s *TenantDatabase) SetDbiResourceId(v string) *TenantDatabase { + s.DbiResourceId = &v + return s +} + +// SetDeletionProtection sets the DeletionProtection field's value. +func (s *TenantDatabase) SetDeletionProtection(v bool) *TenantDatabase { + s.DeletionProtection = &v + return s +} + +// SetMasterUsername sets the MasterUsername field's value. +func (s *TenantDatabase) SetMasterUsername(v string) *TenantDatabase { + s.MasterUsername = &v + return s +} + +// SetNcharCharacterSetName sets the NcharCharacterSetName field's value. +func (s *TenantDatabase) SetNcharCharacterSetName(v string) *TenantDatabase { + s.NcharCharacterSetName = &v + return s +} + +// SetPendingModifiedValues sets the PendingModifiedValues field's value. +func (s *TenantDatabase) SetPendingModifiedValues(v *TenantDatabasePendingModifiedValues) *TenantDatabase { + s.PendingModifiedValues = v + return s +} + +// SetStatus sets the Status field's value. +func (s *TenantDatabase) SetStatus(v string) *TenantDatabase { + s.Status = &v + return s +} + +// SetTagList sets the TagList field's value. +func (s *TenantDatabase) SetTagList(v []*Tag) *TenantDatabase { + s.TagList = v + return s +} + +// SetTenantDBName sets the TenantDBName field's value. +func (s *TenantDatabase) SetTenantDBName(v string) *TenantDatabase { + s.TenantDBName = &v + return s +} + +// SetTenantDatabaseARN sets the TenantDatabaseARN field's value. +func (s *TenantDatabase) SetTenantDatabaseARN(v string) *TenantDatabase { + s.TenantDatabaseARN = &v + return s +} + +// SetTenantDatabaseCreateTime sets the TenantDatabaseCreateTime field's value. +func (s *TenantDatabase) SetTenantDatabaseCreateTime(v time.Time) *TenantDatabase { + s.TenantDatabaseCreateTime = &v + return s +} + +// SetTenantDatabaseResourceId sets the TenantDatabaseResourceId field's value. +func (s *TenantDatabase) SetTenantDatabaseResourceId(v string) *TenantDatabase { + s.TenantDatabaseResourceId = &v + return s +} + +// A response element in the ModifyTenantDatabase operation that describes changes +// that will be applied. Specific changes are identified by subelements. +type TenantDatabasePendingModifiedValues struct { + _ struct{} `type:"structure"` + + // The master password for the tenant database. + // + // MasterUserPassword is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by TenantDatabasePendingModifiedValues's + // String and GoString methods. + MasterUserPassword *string `type:"string" sensitive:"true"` + + // The name of the tenant database. + TenantDBName *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TenantDatabasePendingModifiedValues) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TenantDatabasePendingModifiedValues) GoString() string { + return s.String() +} + +// SetMasterUserPassword sets the MasterUserPassword field's value. +func (s *TenantDatabasePendingModifiedValues) SetMasterUserPassword(v string) *TenantDatabasePendingModifiedValues { + s.MasterUserPassword = &v + return s +} + +// SetTenantDBName sets the TenantDBName field's value. +func (s *TenantDatabasePendingModifiedValues) SetTenantDBName(v string) *TenantDatabasePendingModifiedValues { + s.TenantDBName = &v + return s +} + // A time zone associated with a DBInstance or a DBSnapshot. This data type // is an element in the response to the DescribeDBInstances, the DescribeDBSnapshots, // and the DescribeDBEngineVersions actions. diff --git a/service/rds/errors.go b/service/rds/errors.go index 602a1e5724f..fc36e429d52 100644 --- a/service/rds/errors.go +++ b/service/rds/errors.go @@ -350,6 +350,12 @@ const ( // DBSnapshotIdentifier doesn't refer to an existing DB snapshot. ErrCodeDBSnapshotNotFoundFault = "DBSnapshotNotFound" + // ErrCodeDBSnapshotTenantDatabaseNotFoundFault for service response error code + // "DBSnapshotTenantDatabaseNotFoundFault". + // + // The specified snapshot tenant database wasn't found. + ErrCodeDBSnapshotTenantDatabaseNotFoundFault = "DBSnapshotTenantDatabaseNotFoundFault" + // ErrCodeDBSubnetGroupAlreadyExistsFault for service response error code // "DBSubnetGroupAlreadyExists". // @@ -872,4 +878,24 @@ const ( // // The subscription name does not exist. ErrCodeSubscriptionNotFoundFault = "SubscriptionNotFound" + + // ErrCodeTenantDatabaseAlreadyExistsFault for service response error code + // "TenantDatabaseAlreadyExists". + // + // You attempted to either create a tenant database that already exists or modify + // a tenant database to use the name of an existing tenant database. + ErrCodeTenantDatabaseAlreadyExistsFault = "TenantDatabaseAlreadyExists" + + // ErrCodeTenantDatabaseNotFoundFault for service response error code + // "TenantDatabaseNotFound". + // + // The specified tenant database wasn't found in the DB instance. + ErrCodeTenantDatabaseNotFoundFault = "TenantDatabaseNotFound" + + // ErrCodeTenantDatabaseQuotaExceededFault for service response error code + // "TenantDatabaseQuotaExceeded". + // + // You attempted to create more tenant databases than are permitted in your + // Amazon Web Services account. + ErrCodeTenantDatabaseQuotaExceededFault = "TenantDatabaseQuotaExceeded" ) diff --git a/service/rds/examples_test.go b/service/rds/examples_test.go index c6e93cc312e..d6b1002005f 100644 --- a/service/rds/examples_test.go +++ b/service/rds/examples_test.go @@ -159,6 +159,10 @@ func ExampleRDS_AddTagsToResource_shared00() { fmt.Println(rds.ErrCodeBlueGreenDeploymentNotFoundFault, aerr.Error()) case rds.ErrCodeIntegrationNotFoundFault: fmt.Println(rds.ErrCodeIntegrationNotFoundFault, aerr.Error()) + case rds.ErrCodeTenantDatabaseNotFoundFault: + fmt.Println(rds.ErrCodeTenantDatabaseNotFoundFault, aerr.Error()) + case rds.ErrCodeDBSnapshotTenantDatabaseNotFoundFault: + fmt.Println(rds.ErrCodeDBSnapshotTenantDatabaseNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -870,6 +874,8 @@ func ExampleRDS_CreateDBInstance_shared00() { fmt.Println(rds.ErrCodeNetworkTypeNotSupported, aerr.Error()) case rds.ErrCodeCertificateNotFoundFault: fmt.Println(rds.ErrCodeCertificateNotFoundFault, aerr.Error()) + case rds.ErrCodeTenantDatabaseQuotaExceededFault: + fmt.Println(rds.ErrCodeTenantDatabaseQuotaExceededFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -942,6 +948,8 @@ func ExampleRDS_CreateDBInstanceReadReplica_shared00() { fmt.Println(rds.ErrCodeDomainNotFoundFault, aerr.Error()) case rds.ErrCodeNetworkTypeNotSupported: fmt.Println(rds.ErrCodeNetworkTypeNotSupported, aerr.Error()) + case rds.ErrCodeTenantDatabaseQuotaExceededFault: + fmt.Println(rds.ErrCodeTenantDatabaseQuotaExceededFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -2851,6 +2859,10 @@ func ExampleRDS_ListTagsForResource_shared00() { fmt.Println(rds.ErrCodeBlueGreenDeploymentNotFoundFault, aerr.Error()) case rds.ErrCodeIntegrationNotFoundFault: fmt.Println(rds.ErrCodeIntegrationNotFoundFault, aerr.Error()) + case rds.ErrCodeTenantDatabaseNotFoundFault: + fmt.Println(rds.ErrCodeTenantDatabaseNotFoundFault, aerr.Error()) + case rds.ErrCodeDBSnapshotTenantDatabaseNotFoundFault: + fmt.Println(rds.ErrCodeDBSnapshotTenantDatabaseNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -3165,6 +3177,8 @@ func ExampleRDS_ModifyDBInstance_shared00() { fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) case rds.ErrCodeNetworkTypeNotSupported: fmt.Println(rds.ErrCodeNetworkTypeNotSupported, aerr.Error()) + case rds.ErrCodeTenantDatabaseQuotaExceededFault: + fmt.Println(rds.ErrCodeTenantDatabaseQuotaExceededFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -3709,6 +3723,10 @@ func ExampleRDS_RemoveTagsFromResource_shared00() { fmt.Println(rds.ErrCodeBlueGreenDeploymentNotFoundFault, aerr.Error()) case rds.ErrCodeIntegrationNotFoundFault: fmt.Println(rds.ErrCodeIntegrationNotFoundFault, aerr.Error()) + case rds.ErrCodeTenantDatabaseNotFoundFault: + fmt.Println(rds.ErrCodeTenantDatabaseNotFoundFault, aerr.Error()) + case rds.ErrCodeDBSnapshotTenantDatabaseNotFoundFault: + fmt.Println(rds.ErrCodeDBSnapshotTenantDatabaseNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -4050,6 +4068,8 @@ func ExampleRDS_RestoreDBInstanceFromDBSnapshot_shared00() { fmt.Println(rds.ErrCodeNetworkTypeNotSupported, aerr.Error()) case rds.ErrCodeDBClusterSnapshotNotFoundFault: fmt.Println(rds.ErrCodeDBClusterSnapshotNotFoundFault, aerr.Error()) + case rds.ErrCodeTenantDatabaseQuotaExceededFault: + fmt.Println(rds.ErrCodeTenantDatabaseQuotaExceededFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -4125,6 +4145,8 @@ func ExampleRDS_RestoreDBInstanceToPointInTime_shared00() { fmt.Println(rds.ErrCodeDBInstanceAutomatedBackupNotFoundFault, aerr.Error()) case rds.ErrCodeNetworkTypeNotSupported: fmt.Println(rds.ErrCodeNetworkTypeNotSupported, aerr.Error()) + case rds.ErrCodeTenantDatabaseQuotaExceededFault: + fmt.Println(rds.ErrCodeTenantDatabaseQuotaExceededFault, aerr.Error()) default: fmt.Println(aerr.Error()) } diff --git a/service/rds/rdsiface/interface.go b/service/rds/rdsiface/interface.go index 79610592eec..b782718e1e9 100644 --- a/service/rds/rdsiface/interface.go +++ b/service/rds/rdsiface/interface.go @@ -184,6 +184,10 @@ type RDSAPI interface { CreateOptionGroupWithContext(aws.Context, *rds.CreateOptionGroupInput, ...request.Option) (*rds.CreateOptionGroupOutput, error) CreateOptionGroupRequest(*rds.CreateOptionGroupInput) (*request.Request, *rds.CreateOptionGroupOutput) + CreateTenantDatabase(*rds.CreateTenantDatabaseInput) (*rds.CreateTenantDatabaseOutput, error) + CreateTenantDatabaseWithContext(aws.Context, *rds.CreateTenantDatabaseInput, ...request.Option) (*rds.CreateTenantDatabaseOutput, error) + CreateTenantDatabaseRequest(*rds.CreateTenantDatabaseInput) (*request.Request, *rds.CreateTenantDatabaseOutput) + DeleteBlueGreenDeployment(*rds.DeleteBlueGreenDeploymentInput) (*rds.DeleteBlueGreenDeploymentOutput, error) DeleteBlueGreenDeploymentWithContext(aws.Context, *rds.DeleteBlueGreenDeploymentInput, ...request.Option) (*rds.DeleteBlueGreenDeploymentOutput, error) DeleteBlueGreenDeploymentRequest(*rds.DeleteBlueGreenDeploymentInput) (*request.Request, *rds.DeleteBlueGreenDeploymentOutput) @@ -260,6 +264,10 @@ type RDSAPI interface { DeleteOptionGroupWithContext(aws.Context, *rds.DeleteOptionGroupInput, ...request.Option) (*rds.DeleteOptionGroupOutput, error) DeleteOptionGroupRequest(*rds.DeleteOptionGroupInput) (*request.Request, *rds.DeleteOptionGroupOutput) + DeleteTenantDatabase(*rds.DeleteTenantDatabaseInput) (*rds.DeleteTenantDatabaseOutput, error) + DeleteTenantDatabaseWithContext(aws.Context, *rds.DeleteTenantDatabaseInput, ...request.Option) (*rds.DeleteTenantDatabaseOutput, error) + DeleteTenantDatabaseRequest(*rds.DeleteTenantDatabaseInput) (*request.Request, *rds.DeleteTenantDatabaseOutput) + DeregisterDBProxyTargets(*rds.DeregisterDBProxyTargetsInput) (*rds.DeregisterDBProxyTargetsOutput, error) DeregisterDBProxyTargetsWithContext(aws.Context, *rds.DeregisterDBProxyTargetsInput, ...request.Option) (*rds.DeregisterDBProxyTargetsOutput, error) DeregisterDBProxyTargetsRequest(*rds.DeregisterDBProxyTargetsInput) (*request.Request, *rds.DeregisterDBProxyTargetsOutput) @@ -416,6 +424,13 @@ type RDSAPI interface { DescribeDBSnapshotAttributesWithContext(aws.Context, *rds.DescribeDBSnapshotAttributesInput, ...request.Option) (*rds.DescribeDBSnapshotAttributesOutput, error) DescribeDBSnapshotAttributesRequest(*rds.DescribeDBSnapshotAttributesInput) (*request.Request, *rds.DescribeDBSnapshotAttributesOutput) + DescribeDBSnapshotTenantDatabases(*rds.DescribeDBSnapshotTenantDatabasesInput) (*rds.DescribeDBSnapshotTenantDatabasesOutput, error) + DescribeDBSnapshotTenantDatabasesWithContext(aws.Context, *rds.DescribeDBSnapshotTenantDatabasesInput, ...request.Option) (*rds.DescribeDBSnapshotTenantDatabasesOutput, error) + DescribeDBSnapshotTenantDatabasesRequest(*rds.DescribeDBSnapshotTenantDatabasesInput) (*request.Request, *rds.DescribeDBSnapshotTenantDatabasesOutput) + + DescribeDBSnapshotTenantDatabasesPages(*rds.DescribeDBSnapshotTenantDatabasesInput, func(*rds.DescribeDBSnapshotTenantDatabasesOutput, bool) bool) error + DescribeDBSnapshotTenantDatabasesPagesWithContext(aws.Context, *rds.DescribeDBSnapshotTenantDatabasesInput, func(*rds.DescribeDBSnapshotTenantDatabasesOutput, bool) bool, ...request.Option) error + DescribeDBSnapshots(*rds.DescribeDBSnapshotsInput) (*rds.DescribeDBSnapshotsOutput, error) DescribeDBSnapshotsWithContext(aws.Context, *rds.DescribeDBSnapshotsInput, ...request.Option) (*rds.DescribeDBSnapshotsOutput, error) DescribeDBSnapshotsRequest(*rds.DescribeDBSnapshotsInput) (*request.Request, *rds.DescribeDBSnapshotsOutput) @@ -529,6 +544,13 @@ type RDSAPI interface { DescribeSourceRegionsPages(*rds.DescribeSourceRegionsInput, func(*rds.DescribeSourceRegionsOutput, bool) bool) error DescribeSourceRegionsPagesWithContext(aws.Context, *rds.DescribeSourceRegionsInput, func(*rds.DescribeSourceRegionsOutput, bool) bool, ...request.Option) error + DescribeTenantDatabases(*rds.DescribeTenantDatabasesInput) (*rds.DescribeTenantDatabasesOutput, error) + DescribeTenantDatabasesWithContext(aws.Context, *rds.DescribeTenantDatabasesInput, ...request.Option) (*rds.DescribeTenantDatabasesOutput, error) + DescribeTenantDatabasesRequest(*rds.DescribeTenantDatabasesInput) (*request.Request, *rds.DescribeTenantDatabasesOutput) + + DescribeTenantDatabasesPages(*rds.DescribeTenantDatabasesInput, func(*rds.DescribeTenantDatabasesOutput, bool) bool) error + DescribeTenantDatabasesPagesWithContext(aws.Context, *rds.DescribeTenantDatabasesInput, func(*rds.DescribeTenantDatabasesOutput, bool) bool, ...request.Option) error + DescribeValidDBInstanceModifications(*rds.DescribeValidDBInstanceModificationsInput) (*rds.DescribeValidDBInstanceModificationsOutput, error) DescribeValidDBInstanceModificationsWithContext(aws.Context, *rds.DescribeValidDBInstanceModificationsInput, ...request.Option) (*rds.DescribeValidDBInstanceModificationsOutput, error) DescribeValidDBInstanceModificationsRequest(*rds.DescribeValidDBInstanceModificationsInput) (*request.Request, *rds.DescribeValidDBInstanceModificationsOutput) @@ -628,6 +650,10 @@ type RDSAPI interface { ModifyOptionGroupWithContext(aws.Context, *rds.ModifyOptionGroupInput, ...request.Option) (*rds.ModifyOptionGroupOutput, error) ModifyOptionGroupRequest(*rds.ModifyOptionGroupInput) (*request.Request, *rds.ModifyOptionGroupOutput) + ModifyTenantDatabase(*rds.ModifyTenantDatabaseInput) (*rds.ModifyTenantDatabaseOutput, error) + ModifyTenantDatabaseWithContext(aws.Context, *rds.ModifyTenantDatabaseInput, ...request.Option) (*rds.ModifyTenantDatabaseOutput, error) + ModifyTenantDatabaseRequest(*rds.ModifyTenantDatabaseInput) (*request.Request, *rds.ModifyTenantDatabaseOutput) + PromoteReadReplica(*rds.PromoteReadReplicaInput) (*rds.PromoteReadReplicaOutput, error) PromoteReadReplicaWithContext(aws.Context, *rds.PromoteReadReplicaInput, ...request.Option) (*rds.PromoteReadReplicaOutput, error) PromoteReadReplicaRequest(*rds.PromoteReadReplicaInput) (*request.Request, *rds.PromoteReadReplicaOutput) @@ -779,6 +805,12 @@ type RDSAPI interface { WaitUntilDBSnapshotDeleted(*rds.DescribeDBSnapshotsInput) error WaitUntilDBSnapshotDeletedWithContext(aws.Context, *rds.DescribeDBSnapshotsInput, ...request.WaiterOption) error + + WaitUntilTenantDatabaseAvailable(*rds.DescribeTenantDatabasesInput) error + WaitUntilTenantDatabaseAvailableWithContext(aws.Context, *rds.DescribeTenantDatabasesInput, ...request.WaiterOption) error + + WaitUntilTenantDatabaseDeleted(*rds.DescribeTenantDatabasesInput) error + WaitUntilTenantDatabaseDeletedWithContext(aws.Context, *rds.DescribeTenantDatabasesInput, ...request.WaiterOption) error } var _ RDSAPI = (*rds.RDS)(nil) diff --git a/service/rds/waiters.go b/service/rds/waiters.go index 15e6c5a3fe3..9e8d3f4ccdc 100644 --- a/service/rds/waiters.go +++ b/service/rds/waiters.go @@ -576,3 +576,115 @@ func (c *RDS) WaitUntilDBSnapshotDeletedWithContext(ctx aws.Context, input *Desc return w.WaitWithContext(ctx) } + +// WaitUntilTenantDatabaseAvailable uses the Amazon RDS API operation +// DescribeTenantDatabases to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *RDS) WaitUntilTenantDatabaseAvailable(input *DescribeTenantDatabasesInput) error { + return c.WaitUntilTenantDatabaseAvailableWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilTenantDatabaseAvailableWithContext is an extended version of WaitUntilTenantDatabaseAvailable. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RDS) WaitUntilTenantDatabaseAvailableWithContext(ctx aws.Context, input *DescribeTenantDatabasesInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilTenantDatabaseAvailable", + MaxAttempts: 60, + Delay: request.ConstantWaiterDelay(30 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "TenantDatabases[].Status", + Expected: "available", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathAnyWaiterMatch, Argument: "TenantDatabases[].Status", + Expected: "deleted", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathAnyWaiterMatch, Argument: "TenantDatabases[].Status", + Expected: "incompatible-parameters", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathAnyWaiterMatch, Argument: "TenantDatabases[].Status", + Expected: "incompatible-restore", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeTenantDatabasesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeTenantDatabasesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilTenantDatabaseDeleted uses the Amazon RDS API operation +// DescribeTenantDatabases to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *RDS) WaitUntilTenantDatabaseDeleted(input *DescribeTenantDatabasesInput) error { + return c.WaitUntilTenantDatabaseDeletedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilTenantDatabaseDeletedWithContext is an extended version of WaitUntilTenantDatabaseDeleted. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RDS) WaitUntilTenantDatabaseDeletedWithContext(ctx aws.Context, input *DescribeTenantDatabasesInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilTenantDatabaseDeleted", + MaxAttempts: 60, + Delay: request.ConstantWaiterDelay(30 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "length(TenantDatabases) == `0`", + Expected: true, + }, + { + State: request.SuccessWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "DBInstanceNotFoundFault", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeTenantDatabasesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeTenantDatabasesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +}