From e328c20c965ebd730133fa64adae4505cd8c31b6 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Thu, 6 Apr 2023 11:36:42 -0700 Subject: [PATCH] Release v1.44.238 (2023-04-06) (#4789) Release v1.44.238 (2023-04-06) === ### Service Client Updates * `service/cloudformation`: Updates service waiters * Including UPDATE_COMPLETE as a failed status for DeleteStack waiter. * `service/greengrassv2`: Updates service API and documentation * `service/proton`: Updates service API and documentation * `service/rds`: Updates service API, documentation, waiters, paginators, and examples * Adds and updates the SDK examples --- CHANGELOG.md | 11 + aws/endpoints/defaults.go | 21 + aws/version.go | 2 +- .../2010-05-15/endpoint-rule-set-1.json | 436 +- .../2010-05-15/endpoint-tests-1.json | 439 +- .../cloudformation/2010-05-15/waiters-2.json | 6 + .../apis/greengrassv2/2020-11-30/api-2.json | 3 +- .../apis/greengrassv2/2020-11-30/docs-2.json | 6 +- .../2020-11-30/endpoint-rule-set-1.json | 558 +- .../2020-11-30/endpoint-tests-1.json | 329 +- models/apis/proton/2020-07-20/api-2.json | 393 +- models/apis/proton/2020-07-20/docs-2.json | 210 +- .../2020-07-20/endpoint-rule-set-1.json | 380 +- .../proton/2020-07-20/endpoint-tests-1.json | 227 +- models/apis/rds/2014-10-31/docs-2.json | 16 +- models/apis/rds/2014-10-31/examples-1.json | 4802 ++++++++++++++--- models/endpoints/endpoints.json | 7 + service/cloudformation/waiters.go | 5 + service/greengrassv2/api.go | 29 +- service/proton/api.go | 2267 +++++++- service/proton/protoniface/interface.go | 32 + service/rds/api.go | 35 +- service/rds/examples_test.go | 2444 +++++++-- 23 files changed, 10239 insertions(+), 2419 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 822f8012e3b..0d32079530e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +Release v1.44.238 (2023-04-06) +=== + +### Service Client Updates +* `service/cloudformation`: Updates service waiters + * Including UPDATE_COMPLETE as a failed status for DeleteStack waiter. +* `service/greengrassv2`: Updates service API and documentation +* `service/proton`: Updates service API and documentation +* `service/rds`: Updates service API, documentation, waiters, paginators, and examples + * Adds and updates the SDK examples + Release v1.44.237 (2023-04-05) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 85443fbc7be..848a8f061a7 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -1846,6 +1846,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-south-1", }: endpoint{}, + endpointKey{ + Region: "ap-south-2", + }: endpoint{}, endpointKey{ Region: "ap-southeast-1", }: endpoint{}, @@ -12432,12 +12435,18 @@ var awsPartition = partition{ endpointKey{ Region: "eu-central-1", }: endpoint{}, + endpointKey{ + Region: "eu-central-2", + }: endpoint{}, endpointKey{ Region: "eu-north-1", }: endpoint{}, endpointKey{ Region: "eu-south-1", }: endpoint{}, + endpointKey{ + Region: "eu-south-2", + }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, @@ -15013,6 +15022,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-south-1", }: endpoint{}, + endpointKey{ + Region: "ap-south-2", + }: endpoint{}, endpointKey{ Region: "ap-southeast-1", }: endpoint{}, @@ -15028,12 +15040,18 @@ var awsPartition = partition{ endpointKey{ Region: "eu-central-1", }: endpoint{}, + endpointKey{ + Region: "eu-central-2", + }: endpoint{}, endpointKey{ Region: "eu-north-1", }: endpoint{}, endpointKey{ Region: "eu-south-1", }: endpoint{}, + endpointKey{ + Region: "eu-south-2", + }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, @@ -19634,6 +19652,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-northeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{}, endpointKey{ Region: "ap-south-1", }: endpoint{}, diff --git a/aws/version.go b/aws/version.go index 93acc8f7498..ba51da4856f 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.237" +const SDKVersion = "1.44.238" diff --git a/models/apis/cloudformation/2010-05-15/endpoint-rule-set-1.json b/models/apis/cloudformation/2010-05-15/endpoint-rule-set-1.json index 28a360cb4b4..9cbca10387c 100644 --- a/models/apis/cloudformation/2010-05-15/endpoint-rule-set-1.json +++ b/models/apis/cloudformation/2010-05-15/endpoint-rule-set-1.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,14 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -62,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -131,179 +111,240 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cloudformation-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://cloudformation-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "stringEquals", + "fn": "booleanEquals", "argv": [ - "aws-us-gov", + true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "name" + "supportsFIPS" ] } ] } ], - "endpoint": { - "url": "https://cloudformation.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://cloudformation.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://cloudformation-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] }, { "conditions": [], - "endpoint": { - "url": "https://cloudformation-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cloudformation.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -311,7 +352,7 @@ { "conditions": [], "endpoint": { - "url": "https://cloudformation.{Region}.{PartitionResult#dualStackDnsSuffix}", + "url": "https://cloudformation.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -320,66 +361,13 @@ ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://cloudformation.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://cloudformation.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://cloudformation.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/models/apis/cloudformation/2010-05-15/endpoint-tests-1.json b/models/apis/cloudformation/2010-05-15/endpoint-tests-1.json index 2abbc0cb689..b20e6d8f1e7 100644 --- a/models/apis/cloudformation/2010-05-15/endpoint-tests-1.json +++ b/models/apis/cloudformation/2010-05-15/endpoint-tests-1.json @@ -1,16 +1,16 @@ { "testCases": [ { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.eu-south-1.amazonaws.com" + "url": "https://cloudformation.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "af-south-1", "UseFIPS": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { @@ -21,321 +21,321 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-east-1", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.sa-east-1.amazonaws.com" + "url": "https://cloudformation.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-1", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.us-east-2.amazonaws.com" + "url": "https://cloudformation.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-2", "UseFIPS": false, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation-fips.us-east-2.amazonaws.com" + "url": "https://cloudformation.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-2" + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.eu-north-1.amazonaws.com" + "url": "https://cloudformation.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-south-1", "UseFIPS": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.me-south-1.amazonaws.com" + "url": "https://cloudformation.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-1", "UseFIPS": false, - "Region": "me-south-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.eu-west-3.amazonaws.com" + "url": "https://cloudformation.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.eu-west-2.amazonaws.com" + "url": "https://cloudformation.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-3", "UseFIPS": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.eu-west-1.amazonaws.com" + "url": "https://cloudformation.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.us-east-1.amazonaws.com" + "url": "https://cloudformation.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-central-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation-fips.us-east-1.amazonaws.com" + "url": "https://cloudformation.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-1" + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.ap-northeast-3.amazonaws.com" + "url": "https://cloudformation.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-south-1", "UseFIPS": false, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.ap-northeast-2.amazonaws.com" + "url": "https://cloudformation.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-1", "UseFIPS": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.ap-northeast-1.amazonaws.com" + "url": "https://cloudformation.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-2", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.ap-south-1.amazonaws.com" + "url": "https://cloudformation.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-3", "UseFIPS": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.af-south-1.amazonaws.com" + "url": "https://cloudformation.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "me-south-1", "UseFIPS": false, - "Region": "af-south-1" + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.us-west-2.amazonaws.com" + "url": "https://cloudformation.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "sa-east-1", "UseFIPS": false, - "Region": "us-west-2" + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation-fips.us-west-2.amazonaws.com" + "url": "https://cloudformation.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-2" + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.us-west-1.amazonaws.com" + "url": "https://cloudformation-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-west-1" + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation-fips.us-west-1.amazonaws.com" + "url": "https://cloudformation.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-1" + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.ca-central-1.amazonaws.com" + "url": "https://cloudformation-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ca-central-1" + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.ap-southeast-3.amazonaws.com" + "url": "https://cloudformation.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-west-1", "UseFIPS": false, - "Region": "ap-southeast-3" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.ap-southeast-2.amazonaws.com" + "url": "https://cloudformation-fips.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-southeast-2" + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.ap-southeast-1.amazonaws.com" + "url": "https://cloudformation.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.eu-central-1.amazonaws.com" + "url": "https://cloudformation-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-central-1" + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { @@ -346,9 +346,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -359,230 +359,287 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.us-iso-east-1.c2s.ic.gov" + "url": "https://cloudformation.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.us-iso-west-1.c2s.ic.gov" + "url": "https://cloudformation.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-northwest-1", "UseFIPS": false, - "Region": "us-iso-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cloudformation-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://cloudformation-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.cn-north-1.amazonaws.com.cn" + "url": "https://cloudformation-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "cn-north-1" + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cloudformation.cn-northwest-1.amazonaws.com.cn" + "url": "https://cloudformation.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "cn-northwest-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://cloudformation.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "cn-north-1" + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation-fips.cn-north-1.amazonaws.com.cn" + "url": "https://cloudformation.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://cloudformation.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-gov-west-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.us-isob-east-1.sc2s.sgov.gov" + "url": "https://cloudformation.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-isob-east-1" + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cloudformation-fips.us-isob-east-1.sc2s.sgov.gov" + "url": "https://cloudformation-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cloudformation.us-gov-east-1.amazonaws.com" + "url": "https://cloudformation.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.us-gov-east-1.amazonaws.com" + "url": "https://cloudformation.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-gov-east-1" + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.us-gov-west-1.amazonaws.com" + "url": "https://cloudformation.us-iso-west-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-west-1", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.us-gov-west-1.amazonaws.com" + "url": "https://cloudformation-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation-fips.us-gov-east-1.api.aws" + "url": "https://cloudformation.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudformation.us-gov-east-1.api.aws" + "url": "https://cloudformation-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -592,9 +649,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -604,11 +661,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/models/apis/cloudformation/2010-05-15/waiters-2.json b/models/apis/cloudformation/2010-05-15/waiters-2.json index 73e1bf30b86..a7a05590e9d 100644 --- a/models/apis/cloudformation/2010-05-15/waiters-2.json +++ b/models/apis/cloudformation/2010-05-15/waiters-2.json @@ -119,6 +119,12 @@ "expected": "UPDATE_ROLLBACK_COMPLETE", "matcher": "pathAny", "state": "failure" + }, + { + "argument": "Stacks[].StackStatus", + "expected": "UPDATE_COMPLETE", + "matcher": "pathAny", + "state": "failure" } ] }, diff --git a/models/apis/greengrassv2/2020-11-30/api-2.json b/models/apis/greengrassv2/2020-11-30/api-2.json index 30ba78befae..0c4157f79ee 100644 --- a/models/apis/greengrassv2/2020-11-30/api-2.json +++ b/models/apis/greengrassv2/2020-11-30/api-2.json @@ -1143,7 +1143,8 @@ "COMPLETED", "TIMED_OUT", "CANCELED", - "REJECTED" + "REJECTED", + "SUCCEEDED" ] }, "EffectiveDeploymentStatusDetails":{ diff --git a/models/apis/greengrassv2/2020-11-30/docs-2.json b/models/apis/greengrassv2/2020-11-30/docs-2.json index 28afb64c9c9..f1b20aa1ad0 100644 --- a/models/apis/greengrassv2/2020-11-30/docs-2.json +++ b/models/apis/greengrassv2/2020-11-30/docs-2.json @@ -590,7 +590,7 @@ "EffectiveDeploymentExecutionStatus": { "base": null, "refs": { - "EffectiveDeployment$coreDeviceExecutionStatus": "

The status of the deployment job on the Greengrass core device.

" + "EffectiveDeployment$coreDeviceExecutionStatus": "

The status of the deployment job on the Greengrass core device.

" } }, "EffectiveDeploymentStatusDetails": { @@ -1112,7 +1112,7 @@ "GetDeploymentRequest$deploymentId": "

The ID of the deployment.

", "GetDeploymentResponse$revisionId": "

The revision number of the deployment.

", "GetDeploymentResponse$deploymentId": "

The ID of the deployment.

", - "InstalledComponent$lastInstallationSource": "

The most recent deployment source that brought the component to the Greengrass core device. For a thing group deployment or thing deployment, the source will be the The ID of the deployment. and for local deployments it will be LOCAL.

", + "InstalledComponent$lastInstallationSource": "

The most recent deployment source that brought the component to the Greengrass core device. For a thing group deployment or thing deployment, the source will be the The ID of the deployment. and for local deployments it will be LOCAL.

Any deployment will attempt to reinstall currently broken components on the device, which will update the last installation source.

", "LambdaEnvironmentVariables$key": null, "LambdaFunctionRecipeSource$lambdaArn": "

The ARN of the Lambda function. The ARN must include the version of the function to import. You can't use version aliases like $LATEST.

", "PlatformAttributesMap$key": null, @@ -1364,7 +1364,7 @@ "GetCoreDeviceResponse$lastStatusUpdateTimestamp": "

The time at which the core device's status last updated, expressed in ISO 8601 format.

", "GetDeploymentResponse$creationTimestamp": "

The time at which the deployment was created, expressed in ISO 8601 format.

", "InstalledComponent$lastStatusChangeTimestamp": "

The status of how current the data is.

This response is based off of component state changes. The status reflects component disruptions and deployments. If a component only sees a configuration update during a deployment, it might not undergo a state change and this status would not be updated.

", - "InstalledComponent$lastReportedTimestamp": "

The last time the Greengrass core device sent a message containing a certain component to the Amazon Web Services Cloud.

A component does not need to see a state change for this field to update.

" + "InstalledComponent$lastReportedTimestamp": "

The last time the Greengrass core device sent a message containing a component's state to the Amazon Web Services Cloud.

A component does not need to see a state change for this field to update.

" } }, "TopicString": { diff --git a/models/apis/greengrassv2/2020-11-30/endpoint-rule-set-1.json b/models/apis/greengrassv2/2020-11-30/endpoint-rule-set-1.json index d5cf41cb93e..99169a08f9d 100644 --- a/models/apis/greengrassv2/2020-11-30/endpoint-rule-set-1.json +++ b/models/apis/greengrassv2/2020-11-30/endpoint-rule-set-1.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,14 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -62,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -131,96 +111,253 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://greengrass-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } ] }, { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsDualStack" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-gov-east-1" + ] + } + ], + "endpoint": { + "url": "https://greengrass.us-gov-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-gov-west-1" + ] + } + ], + "endpoint": { + "url": "https://greengrass.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://greengrass-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://greengrass-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsFIPS" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://greengrass.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -233,13 +370,21 @@ { "ref": "Region" }, - "us-gov-east-1" + "dataplane-us-gov-east-1" ] } ], "endpoint": { - "url": "https://greengrass.us-gov-east-1.amazonaws.com", - "properties": {}, + "url": "https://greengrass-ats.iot.us-gov-east-1.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "greengrass", + "signingRegion": "us-gov-east-1" + } + ] + }, "headers": {} }, "type": "endpoint" @@ -252,13 +397,21 @@ { "ref": "Region" }, - "us-gov-west-1" + "dataplane-us-gov-west-1" ] } ], "endpoint": { - "url": "https://greengrass.us-gov-west-1.amazonaws.com", - "properties": {}, + "url": "https://greengrass-ats.iot.us-gov-west-1.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "greengrass", + "signingRegion": "us-gov-west-1" + } + ] + }, "headers": {} }, "type": "endpoint" @@ -266,7 +419,7 @@ { "conditions": [], "endpoint": { - "url": "https://greengrass-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://greengrass.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -275,178 +428,13 @@ ] } ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://greengrass.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "dataplane-us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://greengrass-ats.iot.us-gov-east-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-gov-east-1", - "signingName": "greengrass" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "dataplane-us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://greengrass-ats.iot.us-gov-west-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-gov-west-1", - "signingName": "greengrass" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://greengrass.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://greengrass.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://greengrass.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/models/apis/greengrassv2/2020-11-30/endpoint-tests-1.json b/models/apis/greengrassv2/2020-11-30/endpoint-tests-1.json index 9bf4ab74365..7a7a0020ca9 100644 --- a/models/apis/greengrassv2/2020-11-30/endpoint-tests-1.json +++ b/models/apis/greengrassv2/2020-11-30/endpoint-tests-1.json @@ -1,428 +1,472 @@ { "testCases": [ { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://greengrass.ap-northeast-1.amazonaws.com" } }, "params": { - "Region": "us-iso-east-1", + "Region": "ap-northeast-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.us-iso-east-1.c2s.ic.gov" + "url": "https://greengrass.ap-northeast-2.amazonaws.com" } }, "params": { - "Region": "us-iso-east-1", + "Region": "ap-northeast-2", "UseDualStack": false, "UseFIPS": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.cn-north-1.amazonaws.com.cn" + "url": "https://greengrass.ap-south-1.amazonaws.com" } }, "params": { - "Region": "cn-north-1", + "Region": "ap-south-1", "UseDualStack": false, "UseFIPS": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://greengrass.ap-southeast-1.amazonaws.com" } }, "params": { - "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "ap-southeast-1", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass-fips.cn-north-1.amazonaws.com.cn" + "url": "https://greengrass.ap-southeast-2.amazonaws.com" } }, "params": { - "Region": "cn-north-1", + "Region": "ap-southeast-2", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://greengrass.ca-central-1.amazonaws.com" } }, "params": { - "Region": "cn-north-1", - "UseDualStack": true, + "Region": "ca-central-1", + "UseDualStack": false, "UseFIPS": false } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass-fips.us-isob-east-1.sc2s.sgov.gov" + "url": "https://greengrass.eu-central-1.amazonaws.com" } }, "params": { - "Region": "us-isob-east-1", + "Region": "eu-central-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": false } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.us-isob-east-1.sc2s.sgov.gov" + "url": "https://greengrass.eu-west-1.amazonaws.com" } }, "params": { - "Region": "us-isob-east-1", + "Region": "eu-west-1", "UseDualStack": false, "UseFIPS": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.us-gov-east-1.amazonaws.com" + "url": "https://greengrass.eu-west-2.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "Region": "eu-west-2", "UseDualStack": false, "UseFIPS": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.us-gov-east-1.amazonaws.com" + "url": "https://greengrass.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-east-1", "UseDualStack": false, - "UseFIPS": true + "UseFIPS": false } }, { - "documentation": "For region dataplane-us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "properties": { - "authSchemes": [ - { - "signingName": "greengrass", - "name": "sigv4", - "signingRegion": "us-gov-west-1" - } - ] - }, - "url": "https://greengrass-ats.iot.us-gov-west-1.amazonaws.com" + "url": "https://greengrass.us-east-2.amazonaws.com" } }, "params": { - "Region": "dataplane-us-gov-west-1", + "Region": "us-east-2", "UseDualStack": false, "UseFIPS": false } }, { - "documentation": "For region dataplane-us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "properties": { - "authSchemes": [ - { - "signingName": "greengrass", - "name": "sigv4", - "signingRegion": "us-gov-east-1" - } - ] - }, - "url": "https://greengrass-ats.iot.us-gov-east-1.amazonaws.com" + "url": "https://greengrass.us-west-2.amazonaws.com" } }, "params": { - "Region": "dataplane-us-gov-east-1", + "Region": "us-west-2", "UseDualStack": false, "UseFIPS": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://greengrass.us-gov-west-1.amazonaws.com" + "url": "https://greengrass-fips.us-east-1.api.aws" } }, "params": { - "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": true } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.us-gov-west-1.amazonaws.com" + "url": "https://greengrass-fips.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-west-1", + "Region": "us-east-1", "UseDualStack": false, "UseFIPS": true } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://greengrass-fips.us-gov-east-1.api.aws" + "url": "https://greengrass.us-east-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-east-1", "UseDualStack": true, - "UseFIPS": true + "UseFIPS": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.us-gov-east-1.api.aws" + "url": "https://greengrass.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, + "Region": "cn-north-1", + "UseDualStack": false, "UseFIPS": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://greengrass.ap-northeast-2.amazonaws.com" + "url": "https://greengrass-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": false + "Region": "cn-north-1", + "UseDualStack": true, + "UseFIPS": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.ap-northeast-1.amazonaws.com" + "url": "https://greengrass-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "ap-northeast-1", + "Region": "cn-north-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": true } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://greengrass.ca-central-1.amazonaws.com" + "url": "https://greengrass.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "ca-central-1", - "UseDualStack": false, + "Region": "cn-north-1", + "UseDualStack": true, "UseFIPS": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region dataplane-us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.us-east-2.amazonaws.com" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "greengrass", + "signingRegion": "us-gov-east-1" + } + ] + }, + "url": "https://greengrass-ats.iot.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-east-2", + "Region": "dataplane-us-gov-east-1", "UseDualStack": false, "UseFIPS": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region dataplane-us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.ap-south-1.amazonaws.com" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "greengrass", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://greengrass-ats.iot.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "ap-south-1", + "Region": "dataplane-us-gov-west-1", "UseDualStack": false, "UseFIPS": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.us-east-1.amazonaws.com" + "url": "https://greengrass.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-east-1", + "Region": "us-gov-east-1", "UseDualStack": false, "UseFIPS": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.ap-southeast-2.amazonaws.com" + "url": "https://greengrass.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "ap-southeast-2", + "Region": "us-gov-east-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.ap-southeast-1.amazonaws.com" + "url": "https://greengrass.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "ap-southeast-1", + "Region": "us-gov-west-1", "UseDualStack": false, "UseFIPS": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.eu-central-1.amazonaws.com" + "url": "https://greengrass.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "eu-central-1", + "Region": "us-gov-west-1", "UseDualStack": false, - "UseFIPS": false + "UseFIPS": true } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://greengrass.us-west-2.amazonaws.com" + "url": "https://greengrass-fips.us-gov-east-1.api.aws" } }, "params": { - "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-gov-east-1", + "UseDualStack": true, + "UseFIPS": true } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://greengrass.eu-west-2.amazonaws.com" + "url": "https://greengrass.us-gov-east-1.api.aws" } }, "params": { - "Region": "eu-west-2", - "UseDualStack": false, + "Region": "us-gov-east-1", + "UseDualStack": true, "UseFIPS": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.eu-west-1.amazonaws.com" + "url": "https://greengrass-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "eu-west-1", + "Region": "us-iso-east-1", "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseDualStack": true, "UseFIPS": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass-fips.us-east-1.api.aws" + "url": "https://greengrass.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-1", + "Region": "us-iso-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", "UseDualStack": true, "UseFIPS": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass-fips.us-east-1.amazonaws.com" + "url": "https://greengrass-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "us-east-1", + "Region": "us-isob-east-1", "UseDualStack": false, "UseFIPS": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.us-east-1.api.aws" + "url": "https://greengrass.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "us-east-1", - "UseDualStack": true, + "Region": "us-isob-east-1", + "UseDualStack": false, "UseFIPS": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -435,6 +479,19 @@ "Endpoint": "https://example.com" } }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, { "documentation": "For custom endpoint with fips enabled and dualstack disabled", "expect": { @@ -458,6 +515,12 @@ "UseFIPS": false, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/models/apis/proton/2020-07-20/api-2.json b/models/apis/proton/2020-07-20/api-2.json index ad330a679f2..2144d468a8b 100644 --- a/models/apis/proton/2020-07-20/api-2.json +++ b/models/apis/proton/2020-07-20/api-2.json @@ -229,6 +229,42 @@ ], "idempotent":true }, + "CreateServiceInstance":{ + "name":"CreateServiceInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateServiceInstanceInput"}, + "output":{"shape":"CreateServiceInstanceOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "CreateServiceSyncConfig":{ + "name":"CreateServiceSyncConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateServiceSyncConfigInput"}, + "output":{"shape":"CreateServiceSyncConfigOutput"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, "CreateServiceTemplate":{ "name":"CreateServiceTemplate", "http":{ @@ -410,6 +446,24 @@ ], "idempotent":true }, + "DeleteServiceSyncConfig":{ + "name":"DeleteServiceSyncConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteServiceSyncConfigInput"}, + "output":{"shape":"DeleteServiceSyncConfigOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, "DeleteServiceTemplate":{ "name":"DeleteServiceTemplate", "http":{ @@ -639,6 +693,54 @@ {"shape":"InternalServerException"} ] }, + "GetServiceInstanceSyncStatus":{ + "name":"GetServiceInstanceSyncStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetServiceInstanceSyncStatusInput"}, + "output":{"shape":"GetServiceInstanceSyncStatusOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "GetServiceSyncBlockerSummary":{ + "name":"GetServiceSyncBlockerSummary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetServiceSyncBlockerSummaryInput"}, + "output":{"shape":"GetServiceSyncBlockerSummaryOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "GetServiceSyncConfig":{ + "name":"GetServiceSyncConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetServiceSyncConfigInput"}, + "output":{"shape":"GetServiceSyncConfigOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, "GetServiceTemplate":{ "name":"GetServiceTemplate", "http":{ @@ -1244,6 +1346,40 @@ {"shape":"InternalServerException"} ] }, + "UpdateServiceSyncBlocker":{ + "name":"UpdateServiceSyncBlocker", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateServiceSyncBlockerInput"}, + "output":{"shape":"UpdateServiceSyncBlockerOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "UpdateServiceSyncConfig":{ + "name":"UpdateServiceSyncConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateServiceSyncConfigInput"}, + "output":{"shape":"UpdateServiceSyncConfigOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, "UpdateServiceTemplate":{ "name":"UpdateServiceTemplate", "http":{ @@ -1337,6 +1473,17 @@ "type":"string", "pattern":"^\\d{12}$" }, + "BlockerStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "RESOLVED" + ] + }, + "BlockerType":{ + "type":"string", + "enum":["AUTOMATED"] + }, "Boolean":{ "type":"boolean", "box":true @@ -1456,6 +1603,7 @@ "deploymentStatusMessage":{"shape":"StatusMessage"}, "description":{"shape":"Description"}, "environmentName":{"shape":"ResourceName"}, + "lastClientRequestToken":{"shape":"String"}, "lastDeploymentAttemptedAt":{"shape":"Timestamp"}, "lastDeploymentSucceededAt":{"shape":"Timestamp"}, "lastModifiedAt":{"shape":"Timestamp"}, @@ -1529,6 +1677,10 @@ "templateFile" ], "members":{ + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, "description":{"shape":"Description"}, "environmentName":{"shape":"ResourceName"}, "manifest":{"shape":"TemplateManifestContents"}, @@ -1690,6 +1842,33 @@ "templateName":{"shape":"ResourceName"} } }, + "CreateServiceInstanceInput":{ + "type":"structure", + "required":[ + "name", + "serviceName", + "spec" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "name":{"shape":"ResourceName"}, + "serviceName":{"shape":"ResourceName"}, + "spec":{"shape":"SpecContents"}, + "tags":{"shape":"TagList"}, + "templateMajorVersion":{"shape":"TemplateVersionPart"}, + "templateMinorVersion":{"shape":"TemplateVersionPart"} + } + }, + "CreateServiceInstanceOutput":{ + "type":"structure", + "required":["serviceInstance"], + "members":{ + "serviceInstance":{"shape":"ServiceInstance"} + } + }, "CreateServiceOutput":{ "type":"structure", "required":["service"], @@ -1697,6 +1876,29 @@ "service":{"shape":"Service"} } }, + "CreateServiceSyncConfigInput":{ + "type":"structure", + "required":[ + "branch", + "filePath", + "repositoryName", + "repositoryProvider", + "serviceName" + ], + "members":{ + "branch":{"shape":"GitBranchName"}, + "filePath":{"shape":"OpsFilePath"}, + "repositoryName":{"shape":"RepositoryName"}, + "repositoryProvider":{"shape":"RepositoryProvider"}, + "serviceName":{"shape":"ResourceName"} + } + }, + "CreateServiceSyncConfigOutput":{ + "type":"structure", + "members":{ + "serviceSyncConfig":{"shape":"ServiceSyncConfig"} + } + }, "CreateServiceTemplateInput":{ "type":"structure", "required":["name"], @@ -1869,6 +2071,19 @@ "service":{"shape":"Service"} } }, + "DeleteServiceSyncConfigInput":{ + "type":"structure", + "required":["serviceName"], + "members":{ + "serviceName":{"shape":"ResourceName"} + } + }, + "DeleteServiceSyncConfigOutput":{ + "type":"structure", + "members":{ + "serviceSyncConfig":{"shape":"ServiceSyncConfig"} + } + }, "DeleteServiceTemplateInput":{ "type":"structure", "required":["name"], @@ -2399,12 +2614,58 @@ "serviceInstance":{"shape":"ServiceInstance"} } }, + "GetServiceInstanceSyncStatusInput":{ + "type":"structure", + "required":[ + "serviceInstanceName", + "serviceName" + ], + "members":{ + "serviceInstanceName":{"shape":"ResourceName"}, + "serviceName":{"shape":"ResourceName"} + } + }, + "GetServiceInstanceSyncStatusOutput":{ + "type":"structure", + "members":{ + "desiredState":{"shape":"Revision"}, + "latestSuccessfulSync":{"shape":"ResourceSyncAttempt"}, + "latestSync":{"shape":"ResourceSyncAttempt"} + } + }, "GetServiceOutput":{ "type":"structure", "members":{ "service":{"shape":"Service"} } }, + "GetServiceSyncBlockerSummaryInput":{ + "type":"structure", + "required":["serviceName"], + "members":{ + "serviceInstanceName":{"shape":"ResourceName"}, + "serviceName":{"shape":"ResourceName"} + } + }, + "GetServiceSyncBlockerSummaryOutput":{ + "type":"structure", + "members":{ + "serviceSyncBlockerSummary":{"shape":"ServiceSyncBlockerSummary"} + } + }, + "GetServiceSyncConfigInput":{ + "type":"structure", + "required":["serviceName"], + "members":{ + "serviceName":{"shape":"ResourceName"} + } + }, + "GetServiceSyncConfigOutput":{ + "type":"structure", + "members":{ + "serviceSyncConfig":{"shape":"ServiceSyncConfig"} + } + }, "GetServiceTemplateInput":{ "type":"structure", "required":["name"], @@ -2496,6 +2757,10 @@ "fault":true, "retryable":{"throttling":false} }, + "LatestSyncBlockers":{ + "type":"list", + "member":{"shape":"SyncBlocker"} + }, "ListComponentOutputsInput":{ "type":"structure", "required":["componentName"], @@ -2916,6 +3181,11 @@ "members":{ } }, + "OpsFilePath":{ + "type":"string", + "max":4096, + "min":1 + }, "Output":{ "type":"structure", "members":{ @@ -3053,11 +3323,13 @@ "type":"structure", "required":[ "arn", + "connectionArn", "name", "provider" ], "members":{ "arn":{"shape":"RepositoryArn"}, + "connectionArn":{"shape":"Arn"}, "name":{"shape":"RepositoryName"}, "provider":{"shape":"RepositoryProvider"} } @@ -3316,6 +3588,7 @@ "deploymentStatus":{"shape":"DeploymentStatus"}, "deploymentStatusMessage":{"shape":"StatusMessage"}, "environmentName":{"shape":"ResourceName"}, + "lastClientRequestToken":{"shape":"String"}, "lastDeploymentAttemptedAt":{"shape":"Timestamp"}, "lastDeploymentSucceededAt":{"shape":"Timestamp"}, "name":{"shape":"ResourceName"}, @@ -3438,6 +3711,32 @@ "type":"list", "member":{"shape":"ServiceSummary"} }, + "ServiceSyncBlockerSummary":{ + "type":"structure", + "required":["serviceName"], + "members":{ + "latestBlockers":{"shape":"LatestSyncBlockers"}, + "serviceInstanceName":{"shape":"String"}, + "serviceName":{"shape":"String"} + } + }, + "ServiceSyncConfig":{ + "type":"structure", + "required":[ + "branch", + "filePath", + "repositoryName", + "repositoryProvider", + "serviceName" + ], + "members":{ + "branch":{"shape":"GitBranchName"}, + "filePath":{"shape":"OpsFilePath"}, + "repositoryName":{"shape":"RepositoryName"}, + "repositoryProvider":{"shape":"RepositoryProvider"}, + "serviceName":{"shape":"ResourceName"} + } + }, "ServiceTemplate":{ "type":"structure", "required":[ @@ -3570,9 +3869,47 @@ "max":4096, "min":1 }, + "SyncBlocker":{ + "type":"structure", + "required":[ + "createdAt", + "createdReason", + "id", + "status", + "type" + ], + "members":{ + "contexts":{"shape":"SyncBlockerContexts"}, + "createdAt":{"shape":"Timestamp"}, + "createdReason":{"shape":"String"}, + "id":{"shape":"String"}, + "resolvedAt":{"shape":"Timestamp"}, + "resolvedReason":{"shape":"String"}, + "status":{"shape":"BlockerStatus"}, + "type":{"shape":"BlockerType"} + } + }, + "SyncBlockerContext":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{"shape":"String"}, + "value":{"shape":"String"} + } + }, + "SyncBlockerContexts":{ + "type":"list", + "member":{"shape":"SyncBlockerContext"} + }, "SyncType":{ "type":"string", - "enum":["TEMPLATE_SYNC"] + "enum":[ + "TEMPLATE_SYNC", + "SERVICE_SYNC" + ] }, "Tag":{ "type":"structure", @@ -3737,6 +4074,10 @@ "name" ], "members":{ + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, "deploymentType":{"shape":"ComponentDeploymentUpdateType"}, "description":{"shape":"Description"}, "name":{"shape":"ResourceName"}, @@ -3852,6 +4193,10 @@ "serviceName" ], "members":{ + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, "deploymentType":{"shape":"DeploymentUpdateType"}, "name":{"shape":"ResourceName"}, "serviceName":{"shape":"ResourceName"}, @@ -3896,6 +4241,52 @@ "pipeline":{"shape":"ServicePipeline"} } }, + "UpdateServiceSyncBlockerInput":{ + "type":"structure", + "required":[ + "id", + "resolvedReason" + ], + "members":{ + "id":{"shape":"String"}, + "resolvedReason":{"shape":"String"} + } + }, + "UpdateServiceSyncBlockerOutput":{ + "type":"structure", + "required":[ + "serviceName", + "serviceSyncBlocker" + ], + "members":{ + "serviceInstanceName":{"shape":"ResourceName"}, + "serviceName":{"shape":"ResourceName"}, + "serviceSyncBlocker":{"shape":"SyncBlocker"} + } + }, + "UpdateServiceSyncConfigInput":{ + "type":"structure", + "required":[ + "branch", + "filePath", + "repositoryName", + "repositoryProvider", + "serviceName" + ], + "members":{ + "branch":{"shape":"GitBranchName"}, + "filePath":{"shape":"OpsFilePath"}, + "repositoryName":{"shape":"RepositoryName"}, + "repositoryProvider":{"shape":"RepositoryProvider"}, + "serviceName":{"shape":"ResourceName"} + } + }, + "UpdateServiceSyncConfigOutput":{ + "type":"structure", + "members":{ + "serviceSyncConfig":{"shape":"ServiceSyncConfig"} + } + }, "UpdateServiceTemplateInput":{ "type":"structure", "required":["name"], diff --git a/models/apis/proton/2020-07-20/docs-2.json b/models/apis/proton/2020-07-20/docs-2.json index b4856c6b6aa..3a7dd71267f 100644 --- a/models/apis/proton/2020-07-20/docs-2.json +++ b/models/apis/proton/2020-07-20/docs-2.json @@ -14,6 +14,8 @@ "CreateEnvironmentTemplateVersion": "

Create a new major or minor version of an environment template. A major version of an environment template is a version that isn't backwards compatible. A minor version of an environment template is a version that's backwards compatible within its major version.

", "CreateRepository": "

Create and register a link to a repository. Proton uses the link to repeatedly access the repository, to either push to it (self-managed provisioning) or pull from it (template sync). You can share a linked repository across multiple resources (like environments using self-managed provisioning, or synced templates). When you create a repository link, Proton creates a service-linked role for you.

For more information, see Self-managed provisioning, Template bundles, and Template sync configurations in the Proton User Guide.

", "CreateService": "

Create an Proton service. An Proton service is an instantiation of a service template and often includes several service instances and pipeline. For more information, see Services in the Proton User Guide.

", + "CreateServiceInstance": "

Create a service instance.

", + "CreateServiceSyncConfig": "

Create the Proton Ops configuration file.

", "CreateServiceTemplate": "

Create a service template. The administrator creates a service template to define standardized infrastructure and an optional CI/CD service pipeline. Developers, in turn, select the service template from Proton. If the selected service template includes a service pipeline definition, they provide a link to their source code repository. Proton then deploys and manages the infrastructure defined by the selected service template. For more information, see Proton templates in the Proton User Guide.

", "CreateServiceTemplateVersion": "

Create a new major or minor version of a service template. A major version of a service template is a version that isn't backward compatible. A minor version of a service template is a version that's backward compatible within its major version.

", "CreateTemplateSyncConfig": "

Set up a template to create new template versions automatically by tracking a linked repository. A linked repository is a repository that has been registered with Proton. For more information, see CreateRepository.

When a commit is pushed to your linked repository, Proton checks for changes to your repository template bundles. If it detects a template bundle change, a new major or minor version of its template is created, if the version doesn’t already exist. For more information, see Template sync configurations in the Proton User Guide.

", @@ -24,6 +26,7 @@ "DeleteEnvironmentTemplateVersion": "

If no other minor versions of an environment template exist, delete a major version of the environment template if it's not the Recommended version. Delete the Recommended version of the environment template if no other major versions or minor versions of the environment template exist. A major version of an environment template is a version that's not backward compatible.

Delete a minor version of an environment template if it isn't the Recommended version. Delete a Recommended minor version of the environment template if no other minor versions of the environment template exist. A minor version of an environment template is a version that's backward compatible.

", "DeleteRepository": "

De-register and unlink your repository.

", "DeleteService": "

Delete a service, with its instances and pipeline.

You can't delete a service if it has any service instances that have components attached to them.

For more information about components, see Proton components in the Proton User Guide.

", + "DeleteServiceSyncConfig": "

Delete the Proton Ops file.

", "DeleteServiceTemplate": "

If no other major or minor versions of the service template exist, delete the service template.

", "DeleteServiceTemplateVersion": "

If no other minor versions of a service template exist, delete a major version of the service template if it's not the Recommended version. Delete the Recommended version of the service template if no other major versions or minor versions of the service template exist. A major version of a service template is a version that isn't backwards compatible.

Delete a minor version of a service template if it's not the Recommended version. Delete a Recommended minor version of the service template if no other minor versions of the service template exist. A minor version of a service template is a version that's backwards compatible.

", "DeleteTemplateSyncConfig": "

Delete a template sync configuration.

", @@ -35,9 +38,12 @@ "GetEnvironmentTemplateVersion": "

Get detailed data for a major or minor version of an environment template.

", "GetRepository": "

Get detail data for a linked repository.

", "GetRepositorySyncStatus": "

Get the sync status of a repository used for Proton template sync. For more information about template sync, see .

A repository sync status isn't tied to the Proton Repository resource (or any other Proton resource). Therefore, tags on an Proton Repository resource have no effect on this action. Specifically, you can't use these tags to control access to this action using Attribute-based access control (ABAC).

For more information about ABAC, see ABAC in the Proton User Guide.

", - "GetResourcesSummary": "

Get counts of Proton resources.

For infrastructure-provisioning resources (environments, services, service instances, pipelines), the action returns staleness counts. A resource is stale when it's behind the recommended version of the Proton template that it uses and it needs an update to become current.

The action returns staleness counts (counts of resources that are up-to-date, behind a template major version, or behind a template minor version), the total number of resources, and the number of resources that are in a failed state, grouped by resource type. Components, environments, and service templates are exceptions—see the components, environments, and serviceTemplates field descriptions.

For context, the action also returns the total number of each type of Proton template in the Amazon Web Services account.

For more information, see Proton dashboard in the Proton User Guide.

", + "GetResourcesSummary": "

Get counts of Proton resources.

For infrastructure-provisioning resources (environments, services, service instances, pipelines), the action returns staleness counts. A resource is stale when it's behind the recommended version of the Proton template that it uses and it needs an update to become current.

The action returns staleness counts (counts of resources that are up-to-date, behind a template major version, or behind a template minor version), the total number of resources, and the number of resources that are in a failed state, grouped by resource type. Components, environments, and service templates return less information - see the components, environments, and serviceTemplates field descriptions.

For context, the action also returns the total number of each type of Proton template in the Amazon Web Services account.

For more information, see Proton dashboard in the Proton User Guide.

", "GetService": "

Get detailed data for a service.

", "GetServiceInstance": "

Get detailed data for a service instance. A service instance is an instantiation of service template and it runs in a specific environment.

", + "GetServiceInstanceSyncStatus": "

Get the status of the synced service instance.

", + "GetServiceSyncBlockerSummary": "

Get detailed data for the service sync blocker summary.

", + "GetServiceSyncConfig": "

Get detailed information for the service sync configuration.

", "GetServiceTemplate": "

Get detailed data for a service template.

", "GetServiceTemplateVersion": "

Get detailed data for a major or minor version of a service template.

", "GetTemplateSyncConfig": "

Get detail data for a template sync configuration.

", @@ -75,6 +81,8 @@ "UpdateService": "

Edit a service description or use a spec to add and delete service instances.

Existing service instances and the service pipeline can't be edited using this API. They can only be deleted.

Use the description parameter to modify the description.

Edit the spec parameter to add or delete instances.

You can't delete a service instance (remove it from the spec) if it has an attached component.

For more information about components, see Proton components in the Proton User Guide.

", "UpdateServiceInstance": "

Update a service instance.

There are a few modes for updating a service instance. The deploymentType field defines the mode.

You can't update a service instance while its deployment status, or the deployment status of a component attached to it, is IN_PROGRESS.

For more information about components, see Proton components in the Proton User Guide.

", "UpdateServicePipeline": "

Update the service pipeline.

There are four modes for updating a service pipeline. The deploymentType field defines the mode.

NONE

In this mode, a deployment doesn't occur. Only the requested metadata parameters are updated.

CURRENT_VERSION

In this mode, the service pipeline is deployed and updated with the new spec that you provide. Only requested parameters are updated. Don’t include major or minor version parameters when you use this deployment-type.

MINOR_VERSION

In this mode, the service pipeline is deployed and updated with the published, recommended (latest) minor version of the current major version in use, by default. You can specify a different minor version of the current major version in use.

MAJOR_VERSION

In this mode, the service pipeline is deployed and updated with the published, recommended (latest) major and minor version of the current template by default. You can specify a different major version that's higher than the major version in use and a minor version.

", + "UpdateServiceSyncBlocker": "

Update the service sync blocker by resolving it.

", + "UpdateServiceSyncConfig": "

Update the Proton Ops config file.

", "UpdateServiceTemplate": "

Update a service template.

", "UpdateServiceTemplateVersion": "

Update a major or minor version of a service template.

", "UpdateTemplateSyncConfig": "

Update template sync configuration parameters, except for the templateName and templateType. Repository details (branch, name, and provider) should be of a linked repository. A linked repository is a repository that has been registered with Proton. For more information, see CreateRepository.

" @@ -122,6 +130,7 @@ "NotifyResourceDeploymentStatusChangeInput$resourceArn": "

The provisioned resource Amazon Resource Name (ARN).

", "Repository$connectionArn": "

The Amazon Resource Name (ARN) of your AWS CodeStar connection that connects Proton to your repository provider account.

", "Repository$encryptionKey": "

Your customer Amazon Web Services KMS encryption key.

", + "RepositorySummary$connectionArn": "

The Amazon Resource Name (ARN) of the of your connection that connects Proton to your repository.

", "Service$repositoryConnectionArn": "

The Amazon Resource Name (ARN) of the repository connection. For more information, see Setting up an AWS CodeStar connection in the Proton User Guide.

", "ServicePipeline$arn": "

The Amazon Resource Name (ARN) of the service pipeline.

", "ServiceTemplate$encryptionKey": "

The customer provided service template encryption key that's used to encrypt data.

", @@ -142,6 +151,18 @@ "EnvironmentSummary$environmentAccountId": "

The ID of the environment account that the environment infrastructure resources are provisioned in.

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

The status of the sync blocker.

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

The type of the sync blocker.

" + } + }, "Boolean": { "base": null, "refs": { @@ -191,9 +212,13 @@ "ClientToken": { "base": null, "refs": { + "CreateComponentInput$clientToken": "

The client token for the created component.

", "CreateEnvironmentAccountConnectionInput$clientToken": "

When included, if two identical requests are made with the same client token, Proton returns the environment account connection that the first request created.

", "CreateEnvironmentTemplateVersionInput$clientToken": "

When included, if two identical requests are made with the same client token, Proton returns the environment template version that the first request created.

", - "CreateServiceTemplateVersionInput$clientToken": "

When included, if two identical requests are made with the same client token, Proton returns the service template version that the first request created.

" + "CreateServiceInstanceInput$clientToken": "

The client token of the service instance to create.

", + "CreateServiceTemplateVersionInput$clientToken": "

When included, if two identical requests are made with the same client token, Proton returns the service template version that the first request created.

", + "UpdateComponentInput$clientToken": "

The client token for the updated component.

", + "UpdateServiceInstanceInput$clientToken": "

The client token of the service instance to update.

" } }, "CompatibleEnvironmentTemplate": { @@ -332,11 +357,31 @@ "refs": { } }, + "CreateServiceInstanceInput": { + "base": null, + "refs": { + } + }, + "CreateServiceInstanceOutput": { + "base": null, + "refs": { + } + }, "CreateServiceOutput": { "base": null, "refs": { } }, + "CreateServiceSyncConfigInput": { + "base": null, + "refs": { + } + }, + "CreateServiceSyncConfigOutput": { + "base": null, + "refs": { + } + }, "CreateServiceTemplateInput": { "base": null, "refs": { @@ -437,6 +482,16 @@ "refs": { } }, + "DeleteServiceSyncConfigInput": { + "base": null, + "refs": { + } + }, + "DeleteServiceSyncConfigOutput": { + "base": null, + "refs": { + } + }, "DeleteServiceTemplateInput": { "base": null, "refs": { @@ -850,11 +905,41 @@ "refs": { } }, + "GetServiceInstanceSyncStatusInput": { + "base": null, + "refs": { + } + }, + "GetServiceInstanceSyncStatusOutput": { + "base": null, + "refs": { + } + }, "GetServiceOutput": { "base": null, "refs": { } }, + "GetServiceSyncBlockerSummaryInput": { + "base": null, + "refs": { + } + }, + "GetServiceSyncBlockerSummaryOutput": { + "base": null, + "refs": { + } + }, + "GetServiceSyncConfigInput": { + "base": null, + "refs": { + } + }, + "GetServiceSyncConfigOutput": { + "base": null, + "refs": { + } + }, "GetServiceTemplateInput": { "base": null, "refs": { @@ -899,6 +984,7 @@ "base": null, "refs": { "CreateServiceInput$branchName": "

The name of the code repository branch that holds the code that's deployed in Proton. Don't include this parameter if your service template doesn't include a service pipeline.

", + "CreateServiceSyncConfigInput$branch": "

The repository branch for your Proton Ops file.

", "CreateTemplateSyncConfigInput$branch": "

The repository branch for your template.

", "GetRepositorySyncStatusInput$branch": "

The repository branch.

", "RepositoryBranch$branch": "

The repository branch.

", @@ -906,7 +992,9 @@ "RepositorySyncDefinition$branch": "

The repository branch.

", "Revision$branch": "

The repository branch.

", "Service$branchName": "

The name of the code repository branch that holds the code that's deployed in Proton.

", + "ServiceSyncConfig$branch": "

The name of the code repository branch that holds the service code Proton will sync with.

", "TemplateSyncConfig$branch": "

The repository branch.

", + "UpdateServiceSyncConfigInput$branch": "

The name of the code repository branch where the Proton Ops file is found.

", "UpdateTemplateSyncConfigInput$branch": "

The repository branch for your template.

" } }, @@ -925,6 +1013,12 @@ "refs": { } }, + "LatestSyncBlockers": { + "base": null, + "refs": { + "ServiceSyncBlockerSummary$latestBlockers": "

The latest active blockers for the synced service.

" + } + }, "ListComponentOutputsInput": { "base": null, "refs": { @@ -1218,6 +1312,14 @@ "refs": { } }, + "OpsFilePath": { + "base": null, + "refs": { + "CreateServiceSyncConfigInput$filePath": "

The path to the Proton Ops file.

", + "ServiceSyncConfig$filePath": "

The file path to the service sync configuration file.

", + "UpdateServiceSyncConfigInput$filePath": "

The path to the Proton Ops file.

" + } + }, "Output": { "base": "

An infrastructure as code defined resource output.

", "refs": { @@ -1322,7 +1424,7 @@ "base": "

Detail data for a linked repository branch.

", "refs": { "AccountSettings$pipelineProvisioningRepository": "

The linked repository for pipeline provisioning. Required if you have environments configured for self-managed provisioning with services that include pipelines. A linked repository is a repository that has been registered with Proton. For more information, see CreateRepository.

", - "Environment$provisioningRepository": "

The linked repository that you use to host your rendered infrastructure templates for self-managed provisioning. A linked repository is a repository that has been registered with Proton. For more information, see CreateRepository.

" + "Environment$provisioningRepository": "

The linked repository that you use to host your rendered infrastructure templates for self-managed provisioning. A linked repository is a repository that has been registered with Proton. For more information, see CreateRepository.

" } }, "RepositoryBranchInput": { @@ -1344,6 +1446,7 @@ "base": null, "refs": { "CreateRepositoryInput$name": "

The repository name (for example, myrepos/myrepo).

", + "CreateServiceSyncConfigInput$repositoryName": "

The repository name.

", "CreateTemplateSyncConfigInput$repositoryName": "

The repository name (for example, myrepos/myrepo).

", "DeleteRepositoryInput$name": "

The repository name.

", "GetRepositoryInput$name": "

The repository name, for example myrepos/myrepo.

", @@ -1354,7 +1457,9 @@ "RepositoryBranchInput$name": "

The repository name.

", "RepositorySummary$name": "

The repository name.

", "Revision$repositoryName": "

The repository name.

", + "ServiceSyncConfig$repositoryName": "

The name of the code repository that holds the service code Proton will sync with.

", "TemplateSyncConfig$repositoryName": "

The repository name (for example, myrepos/myrepo).

", + "UpdateServiceSyncConfigInput$repositoryName": "

The name of the repository where the Proton Ops file is found.

", "UpdateTemplateSyncConfigInput$repositoryName": "

The repository name (for example, myrepos/myrepo).

" } }, @@ -1362,6 +1467,7 @@ "base": null, "refs": { "CreateRepositoryInput$provider": "

The repository provider.

", + "CreateServiceSyncConfigInput$repositoryProvider": "

The provider type for your repository.

", "CreateTemplateSyncConfigInput$repositoryProvider": "

The provider type for your repository.

", "DeleteRepositoryInput$provider": "

The repository provider.

", "GetRepositoryInput$provider": "

The repository provider.

", @@ -1372,7 +1478,9 @@ "RepositoryBranchInput$provider": "

The repository provider.

", "RepositorySummary$provider": "

The repository provider.

", "Revision$repositoryProvider": "

The repository provider.

", + "ServiceSyncConfig$repositoryProvider": "

The name of the repository provider that holds the repository Proton will sync with.

", "TemplateSyncConfig$repositoryProvider": "

The repository provider.

", + "UpdateServiceSyncConfigInput$repositoryProvider": "

The name of the repository provider where the Proton Ops file is found.

", "UpdateTemplateSyncConfigInput$repositoryProvider": "

The repository provider.

" } }, @@ -1428,7 +1536,7 @@ "base": "

Summary counts of each Proton resource types.

", "refs": { "CountsSummary$components": "

The total number of components in the Amazon Web Services account.

The semantics of the components field are different from the semantics of results for other infrastructure-provisioning resources. That's because at this time components don't have associated templates, therefore they don't have the concept of staleness. The components object will only contain total and failed members.

", - "CountsSummary$environmentTemplates": "

The total number of environment templates in the Amazon Web Services account.

", + "CountsSummary$environmentTemplates": "

The total number of environment templates in the Amazon Web Services account. The environmentTemplates object will only contain total members.

", "CountsSummary$environments": "

The staleness counts for Proton environments in the Amazon Web Services account. The environments object will only contain total members.

", "CountsSummary$pipelines": "

The staleness counts for Proton pipelines in the Amazon Web Services account.

", "CountsSummary$serviceInstances": "

The staleness counts for Proton service instances in the Amazon Web Services account.

", @@ -1471,6 +1579,9 @@ "CreateEnvironmentTemplateVersionInput$templateName": "

The name of the environment template.

", "CreateServiceInput$name": "

The service name.

", "CreateServiceInput$templateName": "

The name of the service template that's used to create the service.

", + "CreateServiceInstanceInput$name": "

The name of the service instance to create.

", + "CreateServiceInstanceInput$serviceName": "

The name of the service the service instance is added to.

", + "CreateServiceSyncConfigInput$serviceName": "

The name of the service the Proton Ops file is for.

", "CreateServiceTemplateInput$name": "

The name of the service template.

", "CreateServiceTemplateVersionInput$templateName": "

The name of the service template.

", "CreateTemplateSyncConfigInput$templateName": "

The name of your registered template.

", @@ -1479,6 +1590,7 @@ "DeleteEnvironmentTemplateInput$name": "

The name of the environment template to delete.

", "DeleteEnvironmentTemplateVersionInput$templateName": "

The name of the environment template.

", "DeleteServiceInput$name": "

The name of the service to delete.

", + "DeleteServiceSyncConfigInput$serviceName": "

The name of the service that you want to delete the service sync configuration for.

", "DeleteServiceTemplateInput$name": "

The name of the service template to delete.

", "DeleteServiceTemplateVersionInput$templateName": "

The name of the service template.

", "DeleteTemplateSyncConfigInput$templateName": "

The template name.

", @@ -1499,7 +1611,12 @@ "GetEnvironmentTemplateVersionInput$templateName": "

The name of the environment template a version of which you want to get detailed data for.

", "GetServiceInput$name": "

The name of the service that you want to get the detailed data for.

", "GetServiceInstanceInput$name": "

The name of a service instance that you want to get the detailed data for.

", - "GetServiceInstanceInput$serviceName": "

The name of the service that the service instance belongs to.

", + "GetServiceInstanceInput$serviceName": "

The name of the service that you want the service instance input for.

", + "GetServiceInstanceSyncStatusInput$serviceInstanceName": "

The name of the service instance that you want the sync status input for.

", + "GetServiceInstanceSyncStatusInput$serviceName": "

The name of the service that the service instance belongs to.

", + "GetServiceSyncBlockerSummaryInput$serviceInstanceName": "

The name of the service instance that you want to get the service sync blocker summary for. If given bothe the instance name and the service name, only the instance is blocked.

", + "GetServiceSyncBlockerSummaryInput$serviceName": "

The name of the service that you want to get the service sync blocker summary for. If given only the service name, all instances are blocked.

", + "GetServiceSyncConfigInput$serviceName": "

The name of the service that you want to get the service sync configuration for.

", "GetServiceTemplateInput$name": "

The name of the service template that you want to get detailed data for.

", "GetServiceTemplateVersionInput$templateName": "

The name of the service template a version of which you want to get detailed data for.

", "GetTemplateSyncConfigInput$templateName": "

The template name.

", @@ -1534,6 +1651,7 @@ "ServicePipeline$templateName": "

The name of the service template that was used to create the service pipeline.

", "ServiceSummary$name": "

The name of the service.

", "ServiceSummary$templateName": "

The name of the service template.

", + "ServiceSyncConfig$serviceName": "

The name of the service that the service instance is added to.

", "ServiceTemplate$name": "

The name of the service template.

", "ServiceTemplateSummary$name": "

The name of the service template.

", "ServiceTemplateVersion$templateName": "

The name of the version of a service template.

", @@ -1547,6 +1665,9 @@ "UpdateServiceInstanceInput$name": "

The name of the service instance to update.

", "UpdateServiceInstanceInput$serviceName": "

The name of the service that the service instance belongs to.

", "UpdateServicePipelineInput$serviceName": "

The name of the service to that the pipeline is associated with.

", + "UpdateServiceSyncBlockerOutput$serviceInstanceName": "

The name of the service instance that you want to update the service sync blocker for.

", + "UpdateServiceSyncBlockerOutput$serviceName": "

The name of the service that you want to update the service sync blocker for.

", + "UpdateServiceSyncConfigInput$serviceName": "

The name of the service the Proton Ops file is for.

", "UpdateServiceTemplateInput$name": "

The name of the service template to update.

", "UpdateServiceTemplateVersionInput$templateName": "

The name of the service template.

", "UpdateTemplateSyncConfigInput$templateName": "

The synced template name.

" @@ -1567,6 +1688,8 @@ "ResourceSyncAttempt": { "base": "

Detail data for a resource sync attempt activated by a push to a repository.

", "refs": { + "GetServiceInstanceSyncStatusOutput$latestSuccessfulSync": "

The detailed data of the latest successful sync with the service instance.

", + "GetServiceInstanceSyncStatusOutput$latestSync": "

The detailed data of the latest sync with the service instance.

", "GetTemplateSyncStatusOutput$latestSuccessfulSync": "

The details of the last successful sync that's returned by Proton.

", "GetTemplateSyncStatusOutput$latestSync": "

The details of the last sync that's returned by Proton.

" } @@ -1592,6 +1715,7 @@ "Revision": { "base": "

Revision detail data for a commit and push that activates a sync attempt

", "refs": { + "GetServiceInstanceSyncStatusOutput$desiredState": "

The service instance sync desired state that's returned by Proton

", "GetTemplateSyncStatusOutput$desiredState": "

The template sync desired state that's returned by Proton.

", "ResourceSyncAttempt$initialRevision": "

Detail data for the initial repository commit, path and push.

", "ResourceSyncAttempt$targetRevision": "

Detail data for the target revision.

" @@ -1669,6 +1793,7 @@ "base": "

Detailed data of an Proton service instance resource.

", "refs": { "CancelServiceInstanceDeploymentOutput$serviceInstance": "

The service instance summary data that's returned by Proton.

", + "CreateServiceInstanceOutput$serviceInstance": "

The detailed data of the service instance being created.

", "GetServiceInstanceOutput$serviceInstance": "

The detailed data of the requested service instance.

", "UpdateServiceInstanceOutput$serviceInstance": "

The service instance summary data that's returned by Proton.

" } @@ -1724,6 +1849,21 @@ "ListServicesOutput$services": "

An array of services with summaries of detail data.

" } }, + "ServiceSyncBlockerSummary": { + "base": "

If a service instance is manually updated, Proton wants to prevent accidentally overriding a manual change.

A blocker is created because of the manual update or deletion of a service instance. The summary describes the blocker as being active or resolved.

", + "refs": { + "GetServiceSyncBlockerSummaryOutput$serviceSyncBlockerSummary": "

The detailed data of the requested service sync blocker summary.

" + } + }, + "ServiceSyncConfig": { + "base": "

Detailed data of the service sync configuration.

", + "refs": { + "CreateServiceSyncConfigOutput$serviceSyncConfig": "

The detailed data of the Proton Ops file.

", + "DeleteServiceSyncConfigOutput$serviceSyncConfig": "

The detailed data for the service sync config.

", + "GetServiceSyncConfigOutput$serviceSyncConfig": "

The detailed data of the requested service sync configuration.

", + "UpdateServiceSyncConfigOutput$serviceSyncConfig": "

The detailed data of the Proton Ops file.

" + } + }, "ServiceTemplate": { "base": "

Detailed data of an Proton service template resource.

", "refs": { @@ -1807,6 +1947,7 @@ "CreateComponentInput$serviceSpec": "

The service spec that you want the component to use to access service inputs. Set this only when you attach the component to a service instance.

", "CreateEnvironmentInput$spec": "

A YAML formatted string that provides inputs as defined in the environment template bundle schema file. For more information, see Environments in the Proton User Guide.

", "CreateServiceInput$spec": "

A link to a spec file that provides inputs as defined in the service template bundle schema file. The spec file is in YAML format. Don’t include pipeline inputs in the spec if your service template doesn’t include a service pipeline. For more information, see Create a service in the Proton User Guide.

", + "CreateServiceInstanceInput$spec": "

The spec for the service instance you want to create.

", "Environment$spec": "

The environment spec.

", "Service$spec": "

The formatted specification that defines the service.

", "ServiceInstance$spec": "

The service spec that was used to create the service instance.

", @@ -1839,6 +1980,7 @@ "String": { "base": null, "refs": { + "Component$lastClientRequestToken": "

The last token the client requested.

", "ListTagsForResourceInput$nextToken": "

A token that indicates the location of the next resource tag in the array of resource tags, after the list of resource tags that was previously requested.

", "ListTagsForResourceOutput$nextToken": "

A token that indicates the location of the next resource tag in the array of resource tags, after the current requested list of resource tags.

", "RepositorySyncDefinition$directory": "

The directory in the repository.

", @@ -1851,7 +1993,17 @@ "ResourceSyncEvent$event": "

A resource sync event.

", "ResourceSyncEvent$externalId": "

The external ID for the event.

", "ResourceSyncEvent$type": "

The type of event.

", - "Revision$directory": "

The repository directory changed by a commit and push that activated the sync attempt.

" + "Revision$directory": "

The repository directory changed by a commit and push that activated the sync attempt.

", + "ServiceInstance$lastClientRequestToken": "

The last client request token received.

", + "ServiceSyncBlockerSummary$serviceInstanceName": "

The name of the service instance that you want sync your service configuration with.

", + "ServiceSyncBlockerSummary$serviceName": "

The name of the service that you want to get the sync blocker summary for. If given a service instance name and a service name, it will return the blockers only applying to the instance that is blocked.

If given only a service name, it will return the blockers that apply to all of the instances. In order to get the blockers for a single instance, you will need to make two distinct calls, one to get the sync blocker summary for the service and the other to get the sync blocker for the service instance.

", + "SyncBlocker$createdReason": "

The reason why the sync blocker was created.

", + "SyncBlocker$id": "

The ID of the sync blocker.

", + "SyncBlocker$resolvedReason": "

The reason the sync blocker was resolved.

", + "SyncBlockerContext$key": "

The key for the sync blocker context.

", + "SyncBlockerContext$value": "

The value of the sync blocker context.

", + "UpdateServiceSyncBlockerInput$id": "

The ID of the service sync blocker.

", + "UpdateServiceSyncBlockerInput$resolvedReason": "

The reason the service sync blocker was resolved.

" } }, "Subdirectory": { @@ -1862,6 +2014,25 @@ "UpdateTemplateSyncConfigInput$subdirectory": "

A subdirectory path to your template bundle version. When included, limits the template bundle search to this repository directory.

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

Detailed data of the sync blocker.

", + "refs": { + "LatestSyncBlockers$member": null, + "UpdateServiceSyncBlockerOutput$serviceSyncBlocker": "

The detailed data on the service sync blocker that was updated.

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

Detailed data of the context of the sync blocker.

", + "refs": { + "SyncBlockerContexts$member": null + } + }, + "SyncBlockerContexts": { + "base": null, + "refs": { + "SyncBlocker$contexts": "

The contexts for the sync blocker.

" + } + }, "SyncType": { "base": null, "refs": { @@ -1898,6 +2069,7 @@ "CreateEnvironmentTemplateVersionInput$tags": "

An optional list of metadata items that you can associate with the Proton environment template version. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

", "CreateRepositoryInput$tags": "

An optional list of metadata items that you can associate with the Proton repository. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

", "CreateServiceInput$tags": "

An optional list of metadata items that you can associate with the Proton service. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

", + "CreateServiceInstanceInput$tags": "

An optional list of metadata items that you can associate with the Proton service instance. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

", "CreateServiceTemplateInput$tags": "

An optional list of metadata items that you can associate with the Proton service template. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

", "CreateServiceTemplateVersionInput$tags": "

An optional list of metadata items that you can associate with the Proton service template version. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

", "ListTagsForResourceOutput$tags": "

A list of resource tags with detail data.

", @@ -1970,6 +2142,8 @@ "CreateEnvironmentTemplateVersionInput$majorVersion": "

To create a new minor version of the environment template, include major Version.

To create a new major and minor version of the environment template, exclude major Version.

", "CreateServiceInput$templateMajorVersion": "

The major version of the service template that was used to create the service.

", "CreateServiceInput$templateMinorVersion": "

The minor version of the service template that was used to create the service.

", + "CreateServiceInstanceInput$templateMajorVersion": "

To create a new major and minor version of the service template, exclude major Version.

", + "CreateServiceInstanceInput$templateMinorVersion": "

To create a new minor version of the service template, include a major Version.

", "CreateServiceTemplateVersionInput$majorVersion": "

To create a new minor version of the service template, include a major Version.

To create a new major and minor version of the service template, exclude major Version.

", "DeleteEnvironmentTemplateVersionInput$majorVersion": "

The environment template major version to delete.

", "DeleteEnvironmentTemplateVersionInput$minorVersion": "

The environment template minor version to delete.

", @@ -2093,7 +2267,9 @@ "ServiceTemplateVersion$createdAt": "

The time when the version of a service template was created.

", "ServiceTemplateVersion$lastModifiedAt": "

The time when the version of a service template was last modified.

", "ServiceTemplateVersionSummary$createdAt": "

The time when the version of a service template was created.

", - "ServiceTemplateVersionSummary$lastModifiedAt": "

The time when the version of a service template was last modified.

" + "ServiceTemplateVersionSummary$lastModifiedAt": "

The time when the version of a service template was last modified.

", + "SyncBlocker$createdAt": "

The time when the sync blocker was created.

", + "SyncBlocker$resolvedAt": "

The time the sync blocker was resolved.

" } }, "UntagResourceInput": { @@ -2196,6 +2372,26 @@ "refs": { } }, + "UpdateServiceSyncBlockerInput": { + "base": null, + "refs": { + } + }, + "UpdateServiceSyncBlockerOutput": { + "base": null, + "refs": { + } + }, + "UpdateServiceSyncConfigInput": { + "base": null, + "refs": { + } + }, + "UpdateServiceSyncConfigOutput": { + "base": null, + "refs": { + } + }, "UpdateServiceTemplateInput": { "base": null, "refs": { diff --git a/models/apis/proton/2020-07-20/endpoint-rule-set-1.json b/models/apis/proton/2020-07-20/endpoint-rule-set-1.json index 6c6fa3e7715..ddd3a046e58 100644 --- a/models/apis/proton/2020-07-20/endpoint-rule-set-1.json +++ b/models/apis/proton/2020-07-20/endpoint-rule-set-1.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,14 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -62,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -131,154 +111,215 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://proton-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://proton-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://proton-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://proton-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://proton.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -286,7 +327,7 @@ { "conditions": [], "endpoint": { - "url": "https://proton.{Region}.{PartitionResult#dualStackDnsSuffix}", + "url": "https://proton.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -295,28 +336,13 @@ ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://proton.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/models/apis/proton/2020-07-20/endpoint-tests-1.json b/models/apis/proton/2020-07-20/endpoint-tests-1.json index 9aba7e293da..fd7da6d333f 100644 --- a/models/apis/proton/2020-07-20/endpoint-tests-1.json +++ b/models/apis/proton/2020-07-20/endpoint-tests-1.json @@ -1,81 +1,107 @@ { "testCases": [ { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://proton-fips.us-gov-east-1.api.aws" + "url": "https://proton.ap-northeast-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "us-gov-east-1", - "UseDualStack": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-1" } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://proton-fips.us-gov-east-1.amazonaws.com" + "url": "https://proton.eu-west-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "us-gov-east-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-1" } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://proton.us-gov-east-1.api.aws" + "url": "https://proton.us-east-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "us-gov-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-east-1" } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://proton.us-gov-east-1.amazonaws.com" + "url": "https://proton.us-east-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "us-gov-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-east-2" } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://proton-fips.us-isob-east-1.sc2s.sgov.gov" + "url": "https://proton.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://proton-fips.us-east-1.api.aws" } }, "params": { "UseFIPS": true, - "Region": "us-isob-east-1", - "UseDualStack": false + "UseDualStack": true, + "Region": "us-east-1" } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://proton.us-isob-east-1.sc2s.sgov.gov" + "url": "https://proton-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://proton.us-east-1.api.aws" } }, "params": { "UseFIPS": false, - "Region": "us-isob-east-1", - "UseDualStack": false + "UseDualStack": true, + "Region": "us-east-1" } }, { @@ -87,8 +113,8 @@ }, "params": { "UseFIPS": true, - "Region": "cn-north-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "cn-north-1" } }, { @@ -100,8 +126,8 @@ }, "params": { "UseFIPS": true, - "Region": "cn-north-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "cn-north-1" } }, { @@ -113,8 +139,8 @@ }, "params": { "UseFIPS": false, - "Region": "cn-north-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "cn-north-1" } }, { @@ -126,142 +152,174 @@ }, "params": { "UseFIPS": false, - "Region": "cn-north-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "cn-north-1" } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://proton-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://proton-fips.us-gov-east-1.api.aws" } }, "params": { "UseFIPS": true, - "Region": "us-iso-east-1", - "UseDualStack": false + "UseDualStack": true, + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://proton.us-iso-east-1.c2s.ic.gov" + "url": "https://proton-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "us-iso-east-1", - "UseDualStack": false + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://proton.us-west-2.amazonaws.com" + "url": "https://proton.us-gov-east-1.api.aws" } }, "params": { "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": false + "UseDualStack": true, + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://proton.us-east-1.amazonaws.com" + "url": "https://proton.us-gov-east-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://proton.us-east-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": false + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-iso-east-1" } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://proton.eu-west-1.amazonaws.com" + "url": "https://proton-fips.us-iso-east-1.c2s.ic.gov" } }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, "params": { "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": false + "UseDualStack": true, + "Region": "us-iso-east-1" } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://proton.ap-northeast-1.amazonaws.com" + "url": "https://proton.us-iso-east-1.c2s.ic.gov" } }, "params": { "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-iso-east-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://proton-fips.us-east-1.api.aws" + "url": "https://proton-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-isob-east-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://proton-fips.us-east-1.amazonaws.com" + "url": "https://proton.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-isob-east-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://proton.us-east-1.api.aws" + "url": "https://example.com" } }, "params": { "UseFIPS": false, + "UseDualStack": false, "Region": "us-east-1", - "UseDualStack": true + "Endpoint": "https://example.com" } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -269,7 +327,6 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false, "Endpoint": "https://example.com" } @@ -281,8 +338,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -293,10 +350,16 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/models/apis/rds/2014-10-31/docs-2.json b/models/apis/rds/2014-10-31/docs-2.json index 4dcd72566aa..93d5f029ac1 100644 --- a/models/apis/rds/2014-10-31/docs-2.json +++ b/models/apis/rds/2014-10-31/docs-2.json @@ -464,7 +464,7 @@ "DownloadDBLogFilePortionDetails$AdditionalDataPending": "

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.

", "GlobalClusterMember$IsWriter": "

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

", - "ModifyDBClusterMessage$ApplyImmediately": "

A value that indicates 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.

The ApplyImmediately parameter only affects the EnableIAMDatabaseAuthentication, MasterUserPassword, and NewDBClusterIdentifier values. If the ApplyImmediately parameter is disabled, then changes to the EnableIAMDatabaseAuthentication, MasterUserPassword, and NewDBClusterIdentifier values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the ApplyImmediately parameter.

By default, this parameter is disabled.

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

", + "ModifyDBClusterMessage$ApplyImmediately": "

A value that indicates 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: Aurora DB clusters and Multi-AZ DB clusters

", "ModifyDBClusterMessage$AllowMajorVersionUpgrade": "

A value that indicates whether major version upgrades are allowed.

Constraints: You must allow major version upgrades when specifying a value for the EngineVersion parameter that is a different major version than the DB cluster's current version.

Valid for: Aurora DB clusters only

", "ModifyDBInstanceMessage$ApplyImmediately": "

A value that indicates 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 instance. By default, this parameter is disabled.

If this parameter is disabled, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next call to RebootDBInstance, or the next failure reboot. Review the table of parameters in Modifying a DB Instance in the Amazon RDS User Guide to see the impact of enabling or disabling ApplyImmediately for each modified parameter and to determine when the changes are applied.

", "ModifyDBInstanceMessage$AllowMajorVersionUpgrade": "

A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.

This setting doesn't apply to RDS Custom.

Constraints: Major version upgrades must be allowed when specifying a value for the EngineVersion parameter that is a different major version than the DB instance's current version.

", @@ -995,8 +995,8 @@ "base": null, "refs": { "CreateCustomDBEngineVersionMessage$Engine": "

The database engine to use for your custom engine version (CEV). The only supported value is custom-oracle-ee.

", - "DeleteCustomDBEngineVersionMessage$Engine": "

The database engine. The only supported engine is custom-oracle-ee.

", - "ModifyCustomDBEngineVersionMessage$Engine": "

The DB engine. The only supported value is custom-oracle-ee.

" + "DeleteCustomDBEngineVersionMessage$Engine": "

The database engine. The only supported engines are custom-oracle-ee and custom-oracle-ee-cdb.

", + "ModifyCustomDBEngineVersionMessage$Engine": "

The DB engine. The only supported values are custom-oracle-ee and custom-oracle-ee-cdb.

" } }, "CustomEngineVersion": { @@ -2441,7 +2441,7 @@ "DescribeDBClusterParameterGroupsMessage$Filters": "

This parameter isn't currently supported.

", "DescribeDBClusterParametersMessage$Filters": "

This parameter isn't currently supported.

", "DescribeDBClusterSnapshotsMessage$Filters": "

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

Supported filters:

", - "DescribeDBClustersMessage$Filters": "

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

Supported filters:

", + "DescribeDBClustersMessage$Filters": "

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

Supported filters:

", "DescribeDBEngineVersionsMessage$Filters": "

A filter that specifies one or more DB engine versions to describe.

Supported filters:

", "DescribeDBInstanceAutomatedBackupsMessage$Filters": "

A filter that specifies which resources to return based on status.

Supported filters are the following:

Returns all resources by default. The status for each resource is specified in the response.

", "DescribeDBInstancesMessage$Filters": "

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

Supported filters:

", @@ -4026,7 +4026,7 @@ "CreateDBInstanceMessage$DBName": "

The meaning of this parameter differs according to the database engine you use.

MySQL

The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

Constraints:

MariaDB

The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

Constraints:

PostgreSQL

The name of the database to create when the DB instance is created. If this parameter isn't specified, a database named postgres is created in the DB instance.

Constraints:

Oracle

The Oracle System ID (SID) of the created DB instance. If you specify null, the default value ORCL is used. You can't specify the string NULL, or any other reserved word, for DBName.

Default: ORCL

Constraints:

Amazon RDS Custom for Oracle

The Oracle System ID (SID) of the created RDS Custom DB instance. If you don't specify a value, the default value is ORCL.

Default: ORCL

Constraints:

Amazon RDS Custom for SQL Server

Not applicable. Must be null.

SQL Server

Not applicable. Must be null.

Amazon Aurora MySQL

The name of the database to create when the primary DB instance of the Aurora MySQL DB cluster is created. If this parameter isn't specified for an Aurora MySQL DB cluster, no database is created in the DB cluster.

Constraints:

Amazon Aurora PostgreSQL

The name of the database to create when the primary DB instance of the Aurora PostgreSQL DB cluster is created. If this parameter isn't specified for an Aurora PostgreSQL DB cluster, a database named postgres is created in the DB cluster.

Constraints:

", "CreateDBInstanceMessage$DBInstanceIdentifier": "

The DB instance identifier. This parameter is stored as a lowercase string.

Constraints:

Example: mydbinstance

", "CreateDBInstanceMessage$DBInstanceClass": "

The compute and memory capacity of the DB instance, for example db.m5.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 classes in the Amazon RDS User Guide or Aurora DB instance classes in the Amazon Aurora User Guide.

", - "CreateDBInstanceMessage$Engine": "

The name of the database engine to be used for this instance.

Not every database engine is available for every Amazon Web Services Region.

Valid Values:

", + "CreateDBInstanceMessage$Engine": "

The name of the database engine to be used for this instance.

Not every database engine is available for every Amazon Web Services Region.

Valid Values:

", "CreateDBInstanceMessage$MasterUsername": "

The name for the master user.

Amazon Aurora

Not applicable. The name for the master user is managed by the DB cluster.

Amazon RDS

Constraints:

", "CreateDBInstanceMessage$MasterUserPassword": "

The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Amazon Aurora

Not applicable. The password for the master user is managed by the DB cluster.

Constraints: Can't be specified if ManageMasterUserPassword is turned on.

MariaDB

Constraints: Must contain from 8 to 41 characters.

Microsoft SQL Server

Constraints: Must contain from 8 to 128 characters.

MySQL

Constraints: Must contain from 8 to 41 characters.

Oracle

Constraints: Must contain from 8 to 30 characters.

PostgreSQL

Constraints: Must contain from 8 to 128 characters.

", "CreateDBInstanceMessage$AvailabilityZone": "

The Availability Zone (AZ) where the database will be created. For information on Amazon Web Services Regions and Availability Zones, see Regions and Availability Zones.

Amazon Aurora

Each Aurora DB cluster hosts copies of its storage in three separate Availability Zones. Specify one of these Availability Zones. Aurora automatically chooses an appropriate Availability Zone if you don't specify one.

Default: A random, system-chosen Availability Zone in the endpoint's Amazon Web Services Region.

Example: us-east-1d

Constraint: The AvailabilityZone parameter can't be specified if the DB instance is a Multi-AZ deployment. The specified Availability Zone must be in the same Amazon Web Services Region as the current endpoint.

", @@ -4060,7 +4060,7 @@ "CreateDBInstanceReadReplicaMessage$AvailabilityZone": "

The Availability Zone (AZ) where the read replica will be created.

Default: A random, system-chosen Availability Zone in the endpoint's Amazon Web Services Region.

Example: us-east-1d

", "CreateDBInstanceReadReplicaMessage$OptionGroupName": "

The option group the DB instance is associated with. If omitted, the option group associated with the source instance or cluster is used.

For SQL Server, you must use the option group associated with the source.

This setting doesn't apply to RDS Custom.

", "CreateDBInstanceReadReplicaMessage$DBParameterGroupName": "

The name of the DB parameter group to associate with this DB instance.

If you do not specify a value for DBParameterGroupName, then Amazon RDS uses the DBParameterGroup of source DB instance for a same Region read replica, or the default DBParameterGroup for the specified DB engine for a cross-Region read replica.

Specifying a parameter group for this operation is only supported for MySQL and Oracle DB instances. It isn't supported for RDS Custom.

Constraints:

", - "CreateDBInstanceReadReplicaMessage$DBSubnetGroupName": "

Specifies a DB subnet group for the DB instance. The new DB instance is created in the VPC associated with the DB subnet group. If no DB subnet group is specified, then the new DB instance isn't created in a VPC.

Constraints:

Example: mydbsubnetgroup

", + "CreateDBInstanceReadReplicaMessage$DBSubnetGroupName": "

Specifies a DB subnet group for the DB instance. The new DB instance is created in the VPC associated with the DB subnet group. If no DB subnet group is specified, then the new DB instance isn't created in a VPC.

Constraints:

Example: mydbsubnetgroup

", "CreateDBInstanceReadReplicaMessage$StorageType": "

Specifies the storage type to be associated with the read replica.

Valid values: gp2 | gp3 | io1 | standard

If you specify io1 or gp3, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified, otherwise gp2

", "CreateDBInstanceReadReplicaMessage$MonitoringRoleArn": "

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

This setting doesn't apply to RDS Custom.

", "CreateDBInstanceReadReplicaMessage$KmsKeyId": "

The Amazon Web Services KMS key identifier for an encrypted read replica.

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

If you create an encrypted read replica in the same Amazon Web Services Region as the source DB instance or Multi-AZ DB cluster, don't specify a value for this parameter. A read replica in the same Amazon Web Services Region is always encrypted with the same KMS key as the source DB instance or cluster.

If you create an encrypted read replica in a different Amazon Web Services Region, then you must specify a KMS key identifier for the destination Amazon Web Services Region. KMS keys are specific to the Amazon Web Services Region that they are created in, and you can't use KMS keys from one Amazon Web Services Region in another Amazon Web Services Region.

You can't create an encrypted read replica from an unencrypted DB instance or Multi-AZ DB cluster.

This setting doesn't apply to RDS Custom, which uses the same KMS key as the primary replica.

", @@ -4085,7 +4085,7 @@ "CreateEventSubscriptionMessage$SubscriptionName": "

The name of the subscription.

Constraints: The name must be less than 255 characters.

", "CreateEventSubscriptionMessage$SnsTopicArn": "

The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

", "CreateEventSubscriptionMessage$SourceType": "

The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you set this parameter to db-instance. For RDS Proxy events, specify db-proxy. If this value isn't specified, all events are returned.

Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy

", - "CreateGlobalClusterMessage$GlobalClusterIdentifier": "

The cluster identifier of the new global database cluster.

", + "CreateGlobalClusterMessage$GlobalClusterIdentifier": "

The cluster identifier of the new global database cluster. This parameter is stored as a lowercase string.

", "CreateGlobalClusterMessage$SourceDBClusterIdentifier": "

The Amazon Resource Name (ARN) to use as the primary cluster of the global database. This parameter is optional.

", "CreateGlobalClusterMessage$Engine": "

The name of the database engine to be used for this DB cluster.

", "CreateGlobalClusterMessage$EngineVersion": "

The engine version of the Aurora global database.

", @@ -4525,7 +4525,7 @@ "ModifyDBClusterMessage$OptionGroupName": "

A value that indicates that the DB cluster should be associated with the specified option group.

DB clusters are associated with a default option group that can't be modified.

", "ModifyDBClusterMessage$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region. To view the time blocks available, see Backup window in the Amazon Aurora User Guide.

Constraints:

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

", "ModifyDBClusterMessage$PreferredMaintenanceWindow": "

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

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

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

", - "ModifyDBClusterMessage$EngineVersion": "

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

If the cluster that you're modifying has one or more read replicas, all replicas must be running an engine version that's the same or later than the version you specify.

To list all of the available engine versions for Aurora MySQL version 2 (5.7-compatible) and version 3 (MySQL 8.0-compatible), use the following command:

aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"

To list all of the available engine versions for MySQL 5.6-compatible Aurora, use the following command:

aws rds describe-db-engine-versions --engine aurora --query \"DBEngineVersions[].EngineVersion\"

To list all of the available engine versions for Aurora PostgreSQL, use the following command:

aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\"

To list all of the available engine versions for RDS for MySQL, use the following command:

aws rds describe-db-engine-versions --engine mysql --query \"DBEngineVersions[].EngineVersion\"

To list all of the available engine versions for RDS for PostgreSQL, use the following command:

aws rds describe-db-engine-versions --engine postgres --query \"DBEngineVersions[].EngineVersion\"

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

", + "ModifyDBClusterMessage$EngineVersion": "

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

If the cluster that you're modifying has one or more read replicas, all replicas must be running an engine version that's the same or later than the version you specify.

To list all of the available engine versions for Aurora MySQL version 2 (5.7-compatible) and version 3 (MySQL 8.0-compatible), use the following command:

aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"

To list all of the available engine versions for MySQL 5.6-compatible Aurora, use the following command:

aws rds describe-db-engine-versions --engine aurora --query \"DBEngineVersions[].EngineVersion\"

To list all of the available engine versions for Aurora PostgreSQL, use the following command:

aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\"

To list all of the available engine versions for RDS for MySQL, use the following command:

aws rds describe-db-engine-versions --engine mysql --query \"DBEngineVersions[].EngineVersion\"

To list all of the available engine versions for RDS for PostgreSQL, use the following command:

aws rds describe-db-engine-versions --engine postgres --query \"DBEngineVersions[].EngineVersion\"

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

", "ModifyDBClusterMessage$DBInstanceParameterGroupName": "

The name of the DB parameter group to apply to all instances of the DB cluster.

When you apply a parameter group using the DBInstanceParameterGroupName parameter, the DB cluster isn't rebooted automatically. Also, parameter changes are applied immediately rather than during the next maintenance window.

Default: The existing name setting

Constraints:

Valid for: Aurora DB clusters only

", "ModifyDBClusterMessage$Domain": "

The Active Directory directory ID to move the DB cluster to. Specify none to remove the cluster from its current domain. The domain must be created prior to this operation.

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

Valid for: Aurora DB clusters only

", "ModifyDBClusterMessage$DomainIAMRoleName": "

Specify the name of the IAM role to be used when making API calls to the Directory Service.

Valid for: Aurora DB clusters only

", diff --git a/models/apis/rds/2014-10-31/examples-1.json b/models/apis/rds/2014-10-31/examples-1.json index e72a328e812..6c5a25bf9a2 100644 --- a/models/apis/rds/2014-10-31/examples-1.json +++ b/models/apis/rds/2014-10-31/examples-1.json @@ -1,14 +1,65 @@ { "version": "1.0", "examples": { + "AddRoleToDBCluster": [ + { + "input": { + "DBClusterIdentifier": "mydbcluster", + "RoleArn": "arn:aws:iam::123456789012:role/RDSLoadFromS3" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example associates a role with a DB cluster.", + "id": "to-associate-an-aws-identity-and-access-management-iam-role-with-a-db-cluster-1679691203006", + "title": "To associate an AWS Identity and Access Management (IAM) role with a DB cluster" + } + ], + "AddRoleToDBInstance": [ + { + "input": { + "DBInstanceIdentifier": "test-instance", + "FeatureName": "S3_INTEGRATION", + "RoleArn": "arn:aws:iam::111122223333:role/rds-s3-integration-role" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example adds the role to a DB instance named test-instance.", + "id": "to-associate-an-aws-identity-and-access-management-iam-role-with-a-db-instance-1679691512295", + "title": "To associate an AWS Identity and Access Management (IAM) role with a DB instance" + } + ], "AddSourceIdentifierToSubscription": [ { "input": { - "SourceIdentifier": "mymysqlinstance", - "SubscriptionName": "mymysqleventsubscription" + "SourceIdentifier": "test-instance-repl", + "SubscriptionName": "my-instance-events" }, "output": { "EventSubscription": { + "CustSubscriptionId": "my-instance-events", + "CustomerAwsId": "123456789012", + "Enabled": false, + "EventCategoriesList": [ + "backup", + "recovery" + ], + "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", + "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events", + "SourceIdsList": [ + "test-instance", + "test-instance-repl" + ], + "SourceType": "db-instance", + "Status": "modifying", + "SubscriptionCreationTime": "Tue Jul 31 23:22:01 UTC 2018" } }, "comments": { @@ -17,9 +68,9 @@ "output": { } }, - "description": "This example add a source identifier to an event notification subscription.", - "id": "add-source-identifier-to-subscription-93fb6a15-0a59-4577-a7b5-e12db9752c14", - "title": "To add a source identifier to an event notification subscription" + "description": "The following example adds another source identifier to an existing subscription.", + "id": "to-add-a-source-identifier-to-a-subscription-1679691771786", + "title": "To add a source identifier to a subscription" } ], "AddTagsToResource": [ @@ -49,10 +100,19 @@ "input": { "ApplyAction": "system-update", "OptInType": "immediate", - "ResourceIdentifier": "arn:aws:rds:us-east-1:992648334831:db:mymysqlinstance" + "ResourceIdentifier": "arn:aws:rds:us-east-1:123456789012:cluster:my-db-cluster" }, "output": { "ResourcePendingMaintenanceActions": { + "PendingMaintenanceActionDetails": [ + { + "Action": "system-update", + "CurrentApplyDate": "2021-01-23T01:07:36.100Z", + "Description": "Upgrade to Aurora PostgreSQL 3.3.2", + "OptInStatus": "immediate" + } + ], + "ResourceIdentifier": "arn:aws:rds:us-east-1:123456789012:cluster:my-db-cluster" } }, "comments": { @@ -61,9 +121,9 @@ "output": { } }, - "description": "This example immediately applies a pending system update to a DB instance.", - "id": "apply-pending-maintenance-action-2a026047-8bbb-47fc-b695-abad9f308c24", - "title": "To apply a pending maintenance action" + "description": "The following example applies the pending maintenance actions for a DB cluster.", + "id": "to-apply-pending-maintenance-actions-1679692228896", + "title": "To apply pending maintenance actions" } ], "AuthorizeDBSecurityGroupIngress": [ @@ -87,6 +147,34 @@ "title": "To authorize DB security group integress" } ], + "CancelExportTask": [ + { + "input": { + "ExportTaskIdentifier": "my-s3-export-1" + }, + "output": { + "ExportTaskIdentifier": "my-s3-export-1", + "IamRoleArn": "arn:aws:iam::123456789012:role/service-role/export-snap-S3-role", + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/abcd0000-7bfd-4594-af38-aabbccddeeff", + "PercentProgress": 0, + "S3Bucket": "mybucket", + "S3Prefix": "", + "SnapshotTime": "2019-03-24T20:01:09.815Z", + "SourceArn": "arn:aws:rds:us-east-1:123456789012:snapshot:publisher-final-snapshot", + "Status": "CANCELING", + "TotalExtractedDataInGB": 0 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example cancels an export task in progress that is exporting a snapshot to Amazon S3.", + "id": "to-cancel-a-snapshot-export-to-amazon-s3-1679694286587", + "title": "To cancel a snapshot export to Amazon S3" + } + ], "CopyDBClusterParameterGroup": [ { "input": { @@ -96,6 +184,10 @@ }, "output": { "DBClusterParameterGroup": { + "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterparametergroup-copy", + "DBClusterParameterGroupName": "mydbclusterparametergroup-copy", + "DBParameterGroupFamily": "aurora-mysql5.7", + "Description": "My DB cluster parameter group copy" } }, "comments": { @@ -112,11 +204,35 @@ "CopyDBClusterSnapshot": [ { "input": { - "SourceDBClusterSnapshotIdentifier": "rds:sample-cluster-2016-09-14-10-38", - "TargetDBClusterSnapshotIdentifier": "cluster-snapshot-copy-1" + "CopyTags": true, + "SourceDBClusterSnapshotIdentifier": "arn:aws:rds:us-east-1:123456789012:cluster-snapshot:rds:myaurora-2019-06-04-09-16", + "TargetDBClusterSnapshotIdentifier": "myclustersnapshotcopy" }, "output": { "DBClusterSnapshot": { + "AllocatedStorage": 0, + "AvailabilityZones": [ + "us-east-1a", + "us-east-1b", + "us-east-1e" + ], + "ClusterCreateTime": "2019-04-15T14:18:42.785Z", + "DBClusterIdentifier": "myaurora", + "DBClusterSnapshotArn": "arn:aws:rds:us-east-1:123456789012:cluster-snapshot:myclustersnapshotcopy", + "DBClusterSnapshotIdentifier": "myclustersnapshotcopy", + "Engine": "aurora-mysql", + "EngineVersion": "5.7.mysql_aurora.2.04.2", + "IAMDatabaseAuthenticationEnabled": false, + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE", + "LicenseModel": "aurora-mysql", + "MasterUsername": "myadmin", + "PercentProgress": 100, + "Port": 0, + "SnapshotCreateTime": "2019-06-04T09:16:42.649Z", + "SnapshotType": "manual", + "Status": "available", + "StorageEncrypted": true, + "VpcId": "vpc-123example" } }, "comments": { @@ -125,20 +241,24 @@ "output": { } }, - "description": "The following example copies an automated snapshot of a DB cluster to a new DB cluster snapshot.", - "id": "to-copy-a-db-cluster-snapshot-1473879770564", + "description": "The following example creates a copy of a DB cluster snapshot, including its tags.", + "id": "to-copy-a-db-cluster-snapshot-1679695109979", "title": "To copy a DB cluster snapshot" } ], "CopyDBParameterGroup": [ { "input": { - "SourceDBParameterGroupIdentifier": "mymysqlparametergroup", - "TargetDBParameterGroupDescription": "My MySQL parameter group copy", - "TargetDBParameterGroupIdentifier": "mymysqlparametergroup-copy" + "SourceDBParameterGroupIdentifier": "mydbpg", + "TargetDBParameterGroupDescription": "Copy of mydbpg parameter group", + "TargetDBParameterGroupIdentifier": "mydbpgcopy" }, "output": { "DBParameterGroup": { + "DBParameterGroupArn": "arn:aws:rds:us-east-1:814387698303:pg:mydbpgcopy", + "DBParameterGroupFamily": "mysql5.7", + "DBParameterGroupName": "mydbpgcopy", + "Description": "Copy of mydbpg parameter group" } }, "comments": { @@ -147,19 +267,46 @@ "output": { } }, - "description": "This example copies a DB parameter group.", - "id": "copy-db-parameter-group-610d4dba-2c87-467f-ae5d-edd7f8e47349", + "description": "The following example makes a copy of a DB parameter group.", + "id": "to-copy-a-db-parameter-group-1679695426993", "title": "To copy a DB parameter group" } ], "CopyDBSnapshot": [ { "input": { - "SourceDBSnapshotIdentifier": "mydbsnapshot", - "TargetDBSnapshotIdentifier": "mydbsnapshot-copy" + "SourceDBSnapshotIdentifier": "rds:database-mysql-2019-06-06-08-38", + "TargetDBSnapshotIdentifier": "mydbsnapshotcopy" }, "output": { "DBSnapshot": { + "AllocatedStorage": 100, + "AvailabilityZone": "us-east-1f", + "DBInstanceIdentifier": "database-mysql", + "DBSnapshotArn": "arn:aws:rds:us-east-1:123456789012:snapshot:mydbsnapshotcopy", + "DBSnapshotIdentifier": "mydbsnapshotcopy", + "DbiResourceId": "db-ZI7UJ5BLKMBYFGX7FDENCKADC4", + "Encrypted": true, + "Engine": "mysql", + "EngineVersion": "5.6.40", + "IAMDatabaseAuthenticationEnabled": false, + "InstanceCreateTime": "2019-04-30T15:45:53.663Z", + "Iops": 1000, + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE", + "LicenseModel": "general-public-license", + "MasterUsername": "admin", + "OptionGroupName": "default:mysql-5-6", + "PercentProgress": 0, + "Port": 3306, + "ProcessorFeatures": [ + + ], + "SnapshotType": "manual", + "SourceDBSnapshotIdentifier": "arn:aws:rds:us-east-1:123456789012:snapshot:rds:database-mysql-2019-06-06-08-38", + "SourceRegion": "us-east-1", + "Status": "creating", + "StorageType": "io1", + "VpcId": "vpc-6594f31c" } }, "comments": { @@ -168,20 +315,29 @@ "output": { } }, - "description": "This example copies a DB snapshot.", - "id": "copy-db-snapshot-1b2f0210-bc67-415d-9822-6eecf447dc86", + "description": "The following example creates a copy of a DB snapshot.", + "id": "to-copy-a-db-snapshot-1679695661487", "title": "To copy a DB snapshot" } ], "CopyOptionGroup": [ { "input": { - "SourceOptionGroupIdentifier": "mymysqloptiongroup", - "TargetOptionGroupDescription": "My MySQL option group copy", - "TargetOptionGroupIdentifier": "mymysqloptiongroup-copy" + "SourceOptionGroupIdentifier": "myoptiongroup", + "TargetOptionGroupDescription": "My option group copy", + "TargetOptionGroupIdentifier": "new-option-group" }, "output": { "OptionGroup": { + "AllowsVpcAndNonVpcInstanceMemberships": true, + "EngineName": "oracle-ee", + "MajorEngineVersion": "11.2", + "OptionGroupArn": "arn:aws:rds:us-east-1:123456789012:og:new-option-group", + "OptionGroupDescription": "My option group copy", + "OptionGroupName": "new-option-group", + "Options": [ + + ] } }, "comments": { @@ -190,41 +346,322 @@ "output": { } }, - "description": "This example copies an option group.", - "id": "copy-option-group-8d5c01c3-8846-4e9c-a4b0-1b7237f7d0ec", + "description": "The following example makes a copy of an option group.", + "id": "to-copy-an-option-group-1679695800102", "title": "To copy an option group" } ], + "CreateBlueGreenDeployment": [ + { + "input": { + "BlueGreenDeploymentName": "bgd-test-instance", + "Source": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance", + "TargetDBParameterGroupName": "mysql-80-group", + "TargetEngineVersion": "8.0" + }, + "output": { + "BlueGreenDeployment": { + "BlueGreenDeploymentIdentifier": "bgd-v53303651eexfake", + "BlueGreenDeploymentName": "bgd-cli-test-instance", + "CreateTime": "2022-02-25T21:18:51.183000+00:00", + "Source": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance", + "Status": "PROVISIONING", + "SwitchoverDetails": [ + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-1" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-2" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-3" + } + ], + "Tasks": [ + { + "Name": "CREATING_READ_REPLICA_OF_SOURCE", + "Status": "PENDING" + }, + { + "Name": "DB_ENGINE_VERSION_UPGRADE", + "Status": "PENDING" + }, + { + "Name": "CONFIGURE_BACKUPS", + "Status": "PENDING" + }, + { + "Name": "CREATING_TOPOLOGY_OF_SOURCE", + "Status": "PENDING" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a blue/green deployment for a MySQL DB instance.", + "id": "to-create-a-bluegreen-deployment-for-an-rds-for-mysql-db-instance-1679688377231", + "title": "To create a blue/green deployment for an RDS for MySQL DB instance" + }, + { + "input": { + "BlueGreenDeploymentName": "my-blue-green-deployment", + "Source": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster", + "TargetDBClusterParameterGroupName": "mysql-80-cluster-group", + "TargetDBParameterGroupName": "ams-80-binlog-enabled", + "TargetEngineVersion": "8.0" + }, + "output": { + "BlueGreenDeployment": { + "BlueGreenDeploymentIdentifier": "bgd-wi89nwzglccsfake", + "BlueGreenDeploymentName": "my-blue-green-deployment", + "CreateTime": "2022-02-25T21:12:00.288000+00:00", + "Source": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster", + "Status": "PROVISIONING", + "SwitchoverDetails": [ + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster", + "Status": "PROVISIONING" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-1", + "Status": "PROVISIONING" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-2", + "Status": "PROVISIONING" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-3", + "Status": "PROVISIONING" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-excluded-member-endpoint", + "Status": "PROVISIONING" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-reader-endpoint", + "Status": "PROVISIONING" + } + ], + "Tasks": [ + { + "Name": "CREATING_READ_REPLICA_OF_SOURCE", + "Status": "PENDING" + }, + { + "Name": "DB_ENGINE_VERSION_UPGRADE", + "Status": "PENDING" + }, + { + "Name": "CREATE_DB_INSTANCES_FOR_CLUSTER", + "Status": "PENDING" + }, + { + "Name": "CREATE_CUSTOM_ENDPOINTS", + "Status": "PENDING" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a blue/green deployment for an Aurora MySQL DB cluster.", + "id": "to-create-a-bluegreen-deployment-for-an-aurora-mysql-db-cluster-1679703605487", + "title": "To create a blue/green deployment for an Aurora MySQL DB cluster" + } + ], "CreateDBCluster": [ { "input": { - "AvailabilityZones": [ - "us-east-1a" - ], - "BackupRetentionPeriod": 1, - "DBClusterIdentifier": "mydbcluster", - "DBClusterParameterGroupName": "mydbclusterparametergroup", - "DatabaseName": "myauroradb", - "Engine": "aurora", - "EngineVersion": "5.6.10a", + "DBClusterIdentifier": "sample-cluster", + "DBSubnetGroupName": "default", + "Engine": "aurora-mysql", + "EngineVersion": "5.7.12", + "MasterUserPassword": "mypassword", + "MasterUsername": "admin", + "VpcSecurityGroupIds": [ + "sg-0b91305example" + ] + }, + "output": { + "DBCluster": { + "AllocatedStorage": 1, + "AssociatedRoles": [ + + ], + "AvailabilityZones": [ + "us-east-1a", + "us-east-1b", + "us-east-1e" + ], + "BackupRetentionPeriod": 1, + "ClusterCreateTime": "2019-06-07T23:21:33.048Z", + "CopyTagsToSnapshot": false, + "DBClusterArn": "arn:aws:rds:us-east-1:123456789012:cluster:sample-cluster", + "DBClusterIdentifier": "sample-cluster", + "DBClusterMembers": [ + + ], + "DBClusterParameterGroup": "default.aurora-mysql5.7", + "DBSubnetGroup": "default", + "DbClusterResourceId": "cluster-ANPAJ4AE5446DAEXAMPLE", + "DeletionProtection": false, + "Endpoint": "sample-cluster.cluster-cnpexample.us-east-1.rds.amazonaws.com", + "Engine": "aurora-mysql", + "EngineMode": "provisioned", + "EngineVersion": "5.7.12", + "HostedZoneId": "Z2R2ITUGPM61AM", + "HttpEndpointEnabled": false, + "IAMDatabaseAuthenticationEnabled": false, + "MasterUsername": "master", + "MultiAZ": false, + "Port": 3306, + "PreferredBackupWindow": "09:12-09:42", + "PreferredMaintenanceWindow": "mon:04:31-mon:05:01", + "ReadReplicaIdentifiers": [ + + ], + "ReaderEndpoint": "sample-cluster.cluster-ro-cnpexample.us-east-1.rds.amazonaws.com", + "Status": "creating", + "StorageEncrypted": false, + "VpcSecurityGroups": [ + { + "Status": "active", + "VpcSecurityGroupId": "sg-0b91305example" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example create a MySQL 5.7-compatible DB cluster.", + "id": "to-create-a-mysql-57--compatible-db-cluster-1679699416154", + "title": "To create a MySQL 5.7--compatible DB cluster" + }, + { + "input": { + "DBClusterIdentifier": "sample-pg-cluster", + "DBSubnetGroupName": "default", + "Engine": "aurora-postgresql", "MasterUserPassword": "mypassword", - "MasterUsername": "myuser", - "Port": 3306, - "StorageEncrypted": true + "MasterUsername": "admin", + "VpcSecurityGroupIds": [ + "sg-0b91305example" + ] }, "output": { "DBCluster": { + "AllocatedStorage": 1, + "AssociatedRoles": [ + + ], + "AvailabilityZones": [ + "us-east-1a", + "us-east-1b", + "us-east-1c" + ], + "BackupRetentionPeriod": 1, + "ClusterCreateTime": "2019-06-07T23:26:08.371Z", + "CopyTagsToSnapshot": false, + "DBClusterArn": "arn:aws:rds:us-east-1:123456789012:cluster:sample-pg-cluster", + "DBClusterIdentifier": "sample-pg-cluster", + "DBClusterMembers": [ + + ], + "DBClusterParameterGroup": "default.aurora-postgresql9.6", + "DBSubnetGroup": "default", + "DbClusterResourceId": "cluster-ANPAJ4AE5446DAEXAMPLE", + "DeletionProtection": false, + "Endpoint": "sample-pg-cluster.cluster-cnpexample.us-east-1.rds.amazonaws.com", + "Engine": "aurora-postgresql", + "EngineMode": "provisioned", + "EngineVersion": "9.6.9", + "HostedZoneId": "Z2R2ITUGPM61AM", + "HttpEndpointEnabled": false, + "IAMDatabaseAuthenticationEnabled": false, + "MasterUsername": "master", + "MultiAZ": false, + "Port": 5432, + "PreferredBackupWindow": "09:56-10:26", + "PreferredMaintenanceWindow": "wed:03:33-wed:04:03", + "ReadReplicaIdentifiers": [ + + ], + "ReaderEndpoint": "sample-pg-cluster.cluster-ro-cnpexample.us-east-1.rds.amazonaws.com", + "Status": "creating", + "StorageEncrypted": false, + "VpcSecurityGroups": [ + { + "Status": "active", + "VpcSecurityGroupId": "sg-0b91305example" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { } }, + "description": "The following creates a PostgreSQL-compatible DB cluster. ", + "id": "to-create-a-postgresql--compatible-db-cluster-1679700161087", + "title": "To create a PostgreSQL--compatible DB cluster" + } + ], + "CreateDBClusterEndpoint": [ + { + "input": { + "DBClusterEndpointIdentifier": "mycustomendpoint", + "DBClusterIdentifier": "mydbcluster", + "EndpointType": "reader", + "StaticMembers": [ + "dbinstance1", + "dbinstance2" + ] + }, + "output": { + "CustomEndpointType": "READER", + "DBClusterEndpointArn": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:mycustomendpoint", + "DBClusterEndpointIdentifier": "mycustomendpoint", + "DBClusterEndpointResourceIdentifier": "cluster-endpoint-ANPAJ4AE5446DAEXAMPLE", + "DBClusterIdentifier": "mydbcluster", + "Endpoint": "mycustomendpoint.cluster-custom-cnpexample.us-east-1.rds.amazonaws.com", + "EndpointType": "CUSTOM", + "ExcludedMembers": [ + + ], + "StaticMembers": [ + "dbinstance1", + "dbinstance2" + ], + "Status": "creating" + }, "comments": { "input": { }, "output": { } }, - "description": "This example creates a DB cluster.", - "id": "create-db-cluster-423b998d-eba9-40dd-8e19-96c5b6e5f31d", - "title": "To create a DB cluster" + "description": "The following example creates a custom DB cluster endpoint and associate it with the specified Aurora DB cluster.", + "id": "to-create-a-custom-db-cluster-endpoint-1679701608522", + "title": "To create a custom DB cluster endpoint" } ], "CreateDBClusterParameterGroup": [ @@ -232,10 +669,14 @@ "input": { "DBClusterParameterGroupName": "mydbclusterparametergroup", "DBParameterGroupFamily": "aurora5.6", - "Description": "My DB cluster parameter group" + "Description": "My new cluster parameter group" }, "output": { "DBClusterParameterGroup": { + "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterparametergroup", + "DBClusterParameterGroupName": "mydbclusterparametergroup", + "DBParameterGroupFamily": "aurora5.6", + "Description": "My new cluster parameter group" } }, "comments": { @@ -244,19 +685,42 @@ "output": { } }, - "description": "This example creates a DB cluster parameter group.", - "id": "create-db-cluster-parameter-group-8eb1c3ae-1965-4262-afe3-ee134c4430b1", + "description": "The following example creates a DB cluster parameter group.", + "id": "to-create-a-db-cluster-parameter-group-1679702915771", "title": "To create a DB cluster parameter group" } ], "CreateDBClusterSnapshot": [ { "input": { - "DBClusterIdentifier": "mydbcluster", - "DBClusterSnapshotIdentifier": "mydbclustersnapshot" + "DBClusterIdentifier": "mydbclustersnapshot", + "DBClusterSnapshotIdentifier": "mydbcluster" }, "output": { "DBClusterSnapshot": { + "AllocatedStorage": 1, + "AvailabilityZones": [ + "us-east-1a", + "us-east-1b", + "us-east-1e" + ], + "ClusterCreateTime": "2019-04-15T14:18:42.785Z", + "DBClusterIdentifier": "mydbcluster", + "DBClusterSnapshotArn": "arn:aws:rds:us-east-1:123456789012:cluster-snapshot:mydbclustersnapshot", + "DBClusterSnapshotIdentifier": "mydbclustersnapshot", + "Engine": "aurora-mysql", + "EngineVersion": "5.7.mysql_aurora.2.04.2", + "IAMDatabaseAuthenticationEnabled": false, + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE", + "LicenseModel": "aurora-mysql", + "MasterUsername": "myadmin", + "PercentProgress": 0, + "Port": 0, + "SnapshotCreateTime": "2019-06-18T21:21:00.469Z", + "SnapshotType": "manual", + "Status": "creating", + "StorageEncrypted": true, + "VpcId": "vpc-6594f31c" } }, "comments": { @@ -265,23 +729,117 @@ "output": { } }, - "description": "This example creates a DB cluster snapshot.", - "id": "create-db-cluster-snapshot-", + "description": "The following example creates a DB cluster snapshot.", + "id": "to-create-a-db-cluster-snapshot-1679703154423", "title": "To create a DB cluster snapshot" } ], "CreateDBInstance": [ { "input": { - "AllocatedStorage": 5, - "DBInstanceClass": "db.t2.micro", - "DBInstanceIdentifier": "mymysqlinstance", - "Engine": "MySQL", - "MasterUserPassword": "MyPassword", - "MasterUsername": "MyUser" + "AllocatedStorage": 20, + "DBInstanceClass": "db.t3.micro", + "DBInstanceIdentifier": "test-mysql-instance", + "Engine": "mysql", + "MasterUserPassword": "secret99", + "MasterUsername": "admin" }, "output": { "DBInstance": { + "AllocatedStorage": 20, + "AssociatedRoles": [ + + ], + "AutoMinorVersionUpgrade": true, + "BackupRetentionPeriod": 1, + "CACertificateIdentifier": "rds-ca-2019", + "CopyTagsToSnapshot": false, + "DBInstanceArn": "arn:aws:rds:us-west-2:123456789012:db:test-mysql-instance", + "DBInstanceClass": "db.t3.micro", + "DBInstanceIdentifier": "test-mysql-instance", + "DBInstanceStatus": "creating", + "DBParameterGroups": [ + { + "DBParameterGroupName": "default.mysql5.7", + "ParameterApplyStatus": "in-sync" + } + ], + "DBSecurityGroups": [ + + ], + "DBSubnetGroup": { + "DBSubnetGroupDescription": "default", + "DBSubnetGroupName": "default", + "SubnetGroupStatus": "Complete", + "Subnets": [ + { + "SubnetAvailabilityZone": { + "Name": "us-west-2c" + }, + "SubnetIdentifier": "subnet-########", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-west-2d" + }, + "SubnetIdentifier": "subnet-########", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-west-2a" + }, + "SubnetIdentifier": "subnet-########", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-west-2b" + }, + "SubnetIdentifier": "subnet-########", + "SubnetStatus": "Active" + } + ], + "VpcId": "vpc-2ff2ff2f" + }, + "DbInstancePort": 0, + "DbiResourceId": "db-5555EXAMPLE44444444EXAMPLE", + "DeletionProtection": false, + "DomainMemberships": [ + + ], + "Engine": "mysql", + "EngineVersion": "5.7.22", + "IAMDatabaseAuthenticationEnabled": false, + "LicenseModel": "general-public-license", + "MasterUsername": "admin", + "MonitoringInterval": 0, + "MultiAZ": false, + "OptionGroupMemberships": [ + { + "OptionGroupName": "default:mysql-5-7", + "Status": "in-sync" + } + ], + "PendingModifiedValues": { + "MasterUserPassword": "****" + }, + "PerformanceInsightsEnabled": false, + "PreferredBackupWindow": "12:55-13:25", + "PreferredMaintenanceWindow": "sun:08:07-sun:08:37", + "PubliclyAccessible": true, + "ReadReplicaDBInstanceIdentifiers": [ + + ], + "StorageEncrypted": false, + "StorageType": "gp2", + "VpcSecurityGroups": [ + { + "Status": "active", + "VpcSecurityGroupId": "sg-12345abc" + } + ] } }, "comments": { @@ -290,52 +848,51 @@ "output": { } }, - "description": "This example creates a DB instance.", - "id": "create-db-instance-57eb5d16-8bf8-4c84-9709-1700322b37b9", - "title": "To create a DB instance." + "description": "The following example uses the required options to launch a new DB instance.", + "id": "to-create-a-db-instance-1679703299533", + "title": "To create a DB instance" } ], "CreateDBInstanceReadReplica": [ { "input": { - "AvailabilityZone": "us-east-1a", - "CopyTagsToSnapshot": true, - "DBInstanceClass": "db.t2.micro", - "DBInstanceIdentifier": "mydbreadreplica", - "PubliclyAccessible": true, - "SourceDBInstanceIdentifier": "mymysqlinstance", - "StorageType": "gp2", - "Tags": [ - { - "Key": "mydbreadreplicakey", - "Value": "mydbreadreplicavalue" - } - ] + "DBInstanceIdentifier": "test-instance-repl", + "SourceDBInstanceIdentifier": "test-instance" }, "output": { "DBInstance": { + "DBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance-repl", + "DBInstanceIdentifier": "test-instance-repl", + "IAMDatabaseAuthenticationEnabled": false, + "MonitoringInterval": 0, + "ReadReplicaSourceDBInstanceIdentifier": "test-instance" } }, "comments": { "input": { }, "output": { + "DBInstance": "Some output ommitted." } }, - "description": "This example creates a DB instance read replica.", - "id": "create-db-instance-read-replica-81b41cd5-2871-4dae-bc59-3e264449d5fe", - "title": "To create a DB instance read replica." + "description": "This example creates a read replica of an existing DB instance named test-instance. The read replica is named test-instance-repl.", + "id": "to-create-a-db-instance-read-replica-1680129486105", + "title": "To create a DB instance read replica" } ], "CreateDBParameterGroup": [ { "input": { - "DBParameterGroupFamily": "mysql5.6", - "DBParameterGroupName": "mymysqlparametergroup", - "Description": "My MySQL parameter group" + "DBParameterGroupFamily": "MySQL8.0", + "DBParameterGroupName": "mydbparametergroup", + "Description": "My new parameter group" }, "output": { "DBParameterGroup": { + "DBParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:pg:mydbparametergroup", + "DBParameterGroupFamily": "mysql8.0", + "DBParameterGroupName": "mydbparametergroup", + "Description": "My new parameter group" } }, "comments": { @@ -344,9 +901,9 @@ "output": { } }, - "description": "This example creates a DB parameter group.", - "id": "create-db-parameter-group-42afcc37-12e9-4b6a-a55c-b8a141246e87", - "title": "To create a DB parameter group." + "description": "The following example creates a DB parameter group.", + "id": "to-create-a-db-parameter-group-1679939227970", + "title": "To create a DB parameter group" } ], "CreateDBSecurityGroup": [ @@ -373,11 +930,36 @@ "CreateDBSnapshot": [ { "input": { - "DBInstanceIdentifier": "mymysqlinstance", - "DBSnapshotIdentifier": "mydbsnapshot" + "DBInstanceIdentifier": "mydbsnapshot", + "DBSnapshotIdentifier": "database-mysql" }, "output": { "DBSnapshot": { + "AllocatedStorage": 100, + "AvailabilityZone": "us-east-1b", + "DBInstanceIdentifier": "database-mysql", + "DBSnapshotArn": "arn:aws:rds:us-east-1:123456789012:snapshot:mydbsnapshot", + "DBSnapshotIdentifier": "mydbsnapshot", + "DbiResourceId": "db-AKIAIOSFODNN7EXAMPLE", + "Encrypted": true, + "Engine": "mysql", + "EngineVersion": "8.0.32", + "IAMDatabaseAuthenticationEnabled": false, + "InstanceCreateTime": "2019-04-30T15:45:53.663Z", + "Iops": 1000, + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE", + "LicenseModel": "general-public-license", + "MasterUsername": "admin", + "OptionGroupName": "default:mysql-8-0", + "PercentProgress": 0, + "Port": 3306, + "ProcessorFeatures": [ + + ], + "SnapshotType": "manual", + "Status": "creating", + "StorageType": "io1", + "VpcId": "vpc-6594f31c" } }, "comments": { @@ -386,52 +968,90 @@ "output": { } }, - "description": "This example creates a DB snapshot.", - "id": "create-db-snapshot-e10e0e2c-9ac4-426d-9b17-6b6a3e382ce2", - "title": "To create a DB snapshot." + "description": "The following example creates a DB snapshot.", + "id": "to-create-a-db-snapshot-1679939585361", + "title": "To create a DB snapshot" } ], "CreateDBSubnetGroup": [ { "input": { - "DBSubnetGroupDescription": "My DB subnet group", - "DBSubnetGroupName": "mydbsubnetgroup", + "DBSubnetGroupDescription": "test DB subnet group", + "DBSubnetGroupName": "mysubnetgroup", "SubnetIds": [ - "subnet-1fab8a69", - "subnet-d43a468c" + "subnet-0a1dc4e1a6f123456", + "subnet-070dd7ecb3aaaaaaa", + "subnet-00f5b198bc0abcdef" ] }, "output": { "DBSubnetGroup": { - } - }, - "comments": { - "input": { - }, + "DBSubnetGroupArn": "arn:aws:rds:us-west-2:0123456789012:subgrp:mysubnetgroup", + "DBSubnetGroupDescription": "test DB subnet group", + "DBSubnetGroupName": "mysubnetgroup", + "SubnetGroupStatus": "Complete", + "Subnets": [ + { + "SubnetAvailabilityZone": { + "Name": "us-west-2b" + }, + "SubnetIdentifier": "subnet-070dd7ecb3aaaaaaa", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-west-2d" + }, + "SubnetIdentifier": "subnet-00f5b198bc0abcdef", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-west-2b" + }, + "SubnetIdentifier": "subnet-0a1dc4e1a6f123456", + "SubnetStatus": "Active" + } + ], + "VpcId": "vpc-0f08e7610a1b2c3d4" + } + }, + "comments": { + "input": { + }, "output": { } }, - "description": "This example creates a DB subnet group.", - "id": "create-db-subnet-group-c3d162c2-0ec4-4955-ba89-18967615fdb8", - "title": "To create a DB subnet group." + "description": "The following example creates a DB subnet group called mysubnetgroup using existing subnets.", + "id": "to-create-a-db-subnet-group-1679942682822", + "title": "To create a DB subnet group" } ], "CreateEventSubscription": [ { "input": { - "Enabled": true, "EventCategories": [ - "availability" - ], - "SnsTopicArn": "arn:aws:sns:us-east-1:992648334831:MyDemoSNSTopic", - "SourceIds": [ - "mymysqlinstance" + "backup", + "recovery" ], + "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events", "SourceType": "db-instance", - "SubscriptionName": "mymysqleventsubscription" + "SubscriptionName": "my-instance-events" }, "output": { "EventSubscription": { + "CustSubscriptionId": "my-instance-events", + "CustomerAwsId": "123456789012", + "Enabled": true, + "EventCategoriesList": [ + "backup", + "recovery" + ], + "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", + "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events", + "SourceType": "db-instance", + "Status": "creating", + "SubscriptionCreationTime": "Tue Jul 31 23:22:01 UTC 2018" } }, "comments": { @@ -440,21 +1060,30 @@ "output": { } }, - "description": "This example creates an event notification subscription.", - "id": "create-event-subscription-00dd0ee6-0e0f-4a38-ae83-e5f2ded5f69a", - "title": "To create an event notification subscription" + "description": "The following example creates a subscription for backup and recovery events for DB instances in the current AWS account. Notifications are sent to an Amazon Simple Notification Service topic.", + "id": "to-create-an-event-subscription-1679956709288", + "title": "To create an event subscription" } ], - "CreateOptionGroup": [ + "CreateGlobalCluster": [ { "input": { - "EngineName": "MySQL", - "MajorEngineVersion": "5.6", - "OptionGroupDescription": "My MySQL 5.6 option group", - "OptionGroupName": "mymysqloptiongroup" + "Engine": "aurora-mysql", + "GlobalClusterIdentifier": "myglobalcluster" }, "output": { - "OptionGroup": { + "GlobalCluster": { + "DeletionProtection": false, + "Engine": "aurora-mysql", + "EngineVersion": "5.7.mysql_aurora.2.07.2", + "GlobalClusterArn": "arn:aws:rds::123456789012:global-cluster:myglobalcluster", + "GlobalClusterIdentifier": "myglobalcluster", + "GlobalClusterMembers": [ + + ], + "GlobalClusterResourceId": "cluster-f0e523bfe07aabb", + "Status": "available", + "StorageEncrypted": false } }, "comments": { @@ -463,19 +1092,30 @@ "output": { } }, - "description": "This example creates an option group.", - "id": "create-option-group-a7708c87-1b79-4a5e-a762-21cf8fc62b78", - "title": "To create an option group" + "description": "The following example creates a new Aurora MySQL-compatible global DB cluster.", + "id": "to-create-a-global-db-cluster-1679957040413", + "title": "To create a global DB cluster" } ], - "DeleteDBCluster": [ + "CreateOptionGroup": [ { "input": { - "DBClusterIdentifier": "mydbcluster", - "SkipFinalSnapshot": true + "EngineName": "mysql", + "MajorEngineVersion": "8.0", + "OptionGroupDescription": "MySQL 8.0 option group", + "OptionGroupName": "MyOptionGroup" }, "output": { - "DBCluster": { + "OptionGroup": { + "AllowsVpcAndNonVpcInstanceMemberships": true, + "EngineName": "mysql", + "MajorEngineVersion": "8.0", + "OptionGroupArn": "arn:aws:rds:us-east-1:123456789012:og:myoptiongroup", + "OptionGroupDescription": "MySQL 8.0 option group", + "OptionGroupName": "myoptiongroup", + "Options": [ + + ] } }, "comments": { @@ -484,15 +1124,67 @@ "output": { } }, - "description": "This example deletes the specified DB cluster.", - "id": "delete-db-cluster-927fc2c8-6c67-4075-b1ba-75490be0f7d6", - "title": "To delete a DB cluster." + "description": "The following example creates a new Amazon RDS option group for Oracle MySQL version 8,0 named MyOptionGroup.", + "id": "to-create-an-amazon-rds-option-group-1679958217590", + "title": "To Create an Amazon RDS option group" } ], - "DeleteDBClusterParameterGroup": [ + "DeleteBlueGreenDeployment": [ { "input": { - "DBClusterParameterGroupName": "mydbclusterparametergroup" + "BlueGreenDeploymentIdentifier": "bgd-v53303651eexfake", + "DeleteTarget": true + }, + "output": { + "BlueGreenDeployment": { + "BlueGreenDeploymentIdentifier": "bgd-v53303651eexfake", + "BlueGreenDeploymentName": "bgd-cli-test-instance", + "CreateTime": "2022-02-25T21:18:51.183000+00:00", + "DeleteTime": "2022-02-25T22:25:31.331000+00:00", + "Source": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance", + "Status": "DELETING", + "SwitchoverDetails": [ + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-green-rkfbpe" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-1", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-1-green-j382ha" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-2", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-2-green-ejv4ao" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-3", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-3-green-vlpz3t" + } + ], + "Target": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-green-rkfbpe", + "Tasks": [ + { + "Name": "CREATING_READ_REPLICA_OF_SOURCE", + "Status": "COMPLETED" + }, + { + "Name": "DB_ENGINE_VERSION_UPGRADE", + "Status": "COMPLETED" + }, + { + "Name": "CONFIGURE_BACKUPS", + "Status": "COMPLETED" + }, + { + "Name": "CREATING_TOPOLOGY_OF_SOURCE", + "Status": "COMPLETED" + } + ] + } }, "comments": { "input": { @@ -500,18 +1192,74 @@ "output": { } }, - "description": "This example deletes the specified DB cluster parameter group.", - "id": "delete-db-cluster-parameter-group-364f5555-ba0a-4cc8-979c-e769098924fc", - "title": "To delete a DB cluster parameter group." - } - ], - "DeleteDBClusterSnapshot": [ + "description": "The following example deletes the resources in a green environment for an RDS for MySQL DB instance.", + "id": "to-delete-resources-in-green-environment-for-an-rds-for-mysql-db-instance-1679959961651", + "title": "To delete resources in green environment for an RDS for MySQL DB instance" + }, { "input": { - "DBClusterSnapshotIdentifier": "mydbclustersnapshot" + "BlueGreenDeploymentIdentifier": "bgd-wi89nwzglccsfake", + "DeleteTarget": true }, "output": { - "DBClusterSnapshot": { + "BlueGreenDeployment": { + "BlueGreenDeploymentIdentifier": "bgd-wi89nwzglccsfake", + "BlueGreenDeploymentName": "my-blue-green-deployment", + "CreateTime": "2022-02-25T21:12:00.288000+00:00", + "DeleteTime": "2022-02-25T22:29:11.336000+00:00", + "Source": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster", + "Status": "DELETING", + "SwitchoverDetails": [ + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster-green-3rnukl" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-1", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-1-green-gpmaxf" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-2", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-2-green-j2oajq" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-3", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-3-green-mkxies" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-excluded-member-endpoint", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-excluded-member-endpoint-green-4sqjrq" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-reader-endpoint", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-reader-endpoint-green-gwwzlg" + } + ], + "Target": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster-green-3rnukl", + "Tasks": [ + { + "Name": "CREATING_READ_REPLICA_OF_SOURCE", + "Status": "COMPLETED" + }, + { + "Name": "DB_ENGINE_VERSION_UPGRADE", + "Status": "COMPLETED" + }, + { + "Name": "CREATE_DB_INSTANCES_FOR_CLUSTER", + "Status": "COMPLETED" + }, + { + "Name": "CREATE_CUSTOM_ENDPOINTS", + "Status": "COMPLETED" + } + ] } }, "comments": { @@ -520,36 +1268,67 @@ "output": { } }, - "description": "This example deletes the specified DB cluster snapshot.", - "id": "delete-db-cluster-snapshot-c67e0d95-670e-4fb5-af90-6d9a70a91b07", - "title": "To delete a DB cluster snapshot." + "description": "The following example deletes the resources in a green environment for an Aurora MySQL DB cluster.", + "id": "to-delete-resources-in-green-environment-for-an-aurora-mysql-db-cluster-1679960123935", + "title": "To delete resources in green environment for an Aurora MySQL DB cluster" } ], - "DeleteDBInstance": [ + "DeleteDBCluster": [ { "input": { - "DBInstanceIdentifier": "mymysqlinstance", - "SkipFinalSnapshot": true + "DBClusterIdentifier": "mycluster", + "FinalDBSnapshotIdentifier": "mycluster-final-snapshot", + "SkipFinalSnapshot": false }, "output": { - "DBInstance": { + "DBCluster": { + "AllocatedStorage": 20, + "AvailabilityZones": [ + "eu-central-1b", + "eu-central-1c", + "eu-central-1a" + ], + "BackupRetentionPeriod": 7, + "DBClusterIdentifier": "mycluster", + "DBClusterParameterGroup": "default.aurora-postgresql10", + "DBSubnetGroup": "default-vpc-aa11bb22", + "Status": "available" } }, "comments": { "input": { }, "output": { + "DBCluster": "Some output ommitted." } }, - "description": "This example deletes the specified DB instance.", - "id": "delete-db-instance-4412e650-949c-488a-b32a-7d3038ebccc4", - "title": "To delete a DB instance." + "description": "The following example deletes the DB cluster named mycluster and takes a final snapshot named mycluster-final-snapshot. The status of the DB cluster is available while the snapshot is being taken. ", + "id": "to-delete-a-db-cluster-1680197141906", + "title": "To delete a DB cluster" } ], - "DeleteDBParameterGroup": [ + "DeleteDBClusterEndpoint": [ { "input": { - "DBParameterGroupName": "mydbparamgroup3" + "DBClusterEndpointIdentifier": "mycustomendpoint" + }, + "output": { + "CustomEndpointType": "READER", + "DBClusterEndpointArn": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:mycustomendpoint", + "DBClusterEndpointIdentifier": "mycustomendpoint", + "DBClusterEndpointResourceIdentifier": "cluster-endpoint-ANPAJ4AE5446DAEXAMPLE", + "DBClusterIdentifier": "mydbcluster", + "Endpoint": "mycustomendpoint.cluster-custom-cnpexample.us-east-1.rds.amazonaws.com", + "EndpointType": "CUSTOM", + "ExcludedMembers": [ + + ], + "StaticMembers": [ + "dbinstance1", + "dbinstance2", + "dbinstance3" + ], + "Status": "deleting" }, "comments": { "input": { @@ -557,15 +1336,15 @@ "output": { } }, - "description": "The following example deletes a DB parameter group.", - "id": "to-delete-a-db-parameter-group-1473888796509", - "title": "To delete a DB parameter group" + "description": "The following example deletes the specified custom DB cluster endpoint.", + "id": "to-delete-a-custom-db-cluster-endpoint-1679960663390", + "title": "To delete a custom DB cluster endpoint" } ], - "DeleteDBSecurityGroup": [ + "DeleteDBClusterParameterGroup": [ { "input": { - "DBSecurityGroupName": "mysecgroup" + "DBClusterParameterGroupName": "mydbclusterparametergroup" }, "comments": { "input": { @@ -573,18 +1352,41 @@ "output": { } }, - "description": "The following example deletes a DB security group.", - "id": "to-delete-a-db-security-group-1473960141889", - "title": "To delete a DB security group" + "description": "The following example deletes the specified DB cluster parameter group.", + "id": "to-delete-a-db-cluster-parameter-group-1679962185718", + "title": "To delete a DB cluster parameter group" } ], - "DeleteDBSnapshot": [ + "DeleteDBClusterSnapshot": [ { "input": { - "DBSnapshotIdentifier": "mydbsnapshot" + "DBClusterSnapshotIdentifier": "mydbclustersnapshot" }, "output": { - "DBSnapshot": { + "DBClusterSnapshot": { + "AllocatedStorage": 0, + "AvailabilityZones": [ + "us-east-1a", + "us-east-1b", + "us-east-1e" + ], + "ClusterCreateTime": "2019-04-15T14:18:42.785Z", + "DBClusterIdentifier": "mydbcluster", + "DBClusterSnapshotArn": "arn:aws:rds:us-east-1:123456789012:cluster-snapshot:mydbclustersnapshot", + "DBClusterSnapshotIdentifier": "mydbclustersnapshot", + "Engine": "aurora-mysql", + "EngineVersion": "5.7.mysql_aurora.2.04.2", + "IAMDatabaseAuthenticationEnabled": false, + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE", + "LicenseModel": "aurora-mysql", + "MasterUsername": "myadmin", + "PercentProgress": 100, + "Port": 0, + "SnapshotCreateTime": "2019-06-18T21:21:00.469Z", + "SnapshotType": "manual", + "Status": "available", + "StorageEncrypted": true, + "VpcId": "vpc-6594f31c" } }, "comments": { @@ -593,34 +1395,65 @@ "output": { } }, - "description": "This example deletes the specified DB snapshot.", - "id": "delete-db-snapshot-505d6b4e-8ced-479c-856a-c460a33fe07b", - "title": "To delete a DB cluster snapshot." + "description": "", + "id": "to-delete-a-db-cluster-snapshot-1679962808509", + "title": "To delete a DB cluster snapshot" } ], - "DeleteDBSubnetGroup": [ + "DeleteDBInstance": [ { "input": { - "DBSubnetGroupName": "mydbsubnetgroup" + "DBInstanceIdentifier": "test-instance", + "FinalDBSnapshotIdentifier": "test-instance-final-snap", + "SkipFinalSnapshot": false + }, + "output": { + "DBInstance": { + "DBInstanceIdentifier": "test-instance", + "DBInstanceStatus": "deleting" + } }, "comments": { "input": { }, "output": { + "DBInstance": "Some output ommitted." } }, - "description": "This example deletes the specified DB subnetgroup.", - "id": "delete-db-subnet-group-4ae00375-511e-443d-a01d-4b9f552244aa", - "title": "To delete a DB subnet group." + "description": "The following example deletes the specified DB instance after creating a final DB snapshot named test-instance-final-snap.", + "id": "to-delete-a-db-instance-1680197458232", + "title": "To delete a DB instance" } ], - "DeleteEventSubscription": [ + "DeleteDBInstanceAutomatedBackup": [ { "input": { - "SubscriptionName": "myeventsubscription" + "DBInstanceAutomatedBackupsArn": "arn:aws:rds:us-west-2:123456789012:auto-backup:ab-jkib2gfq5rv7replzadausbrktni2bn4example" }, "output": { - "EventSubscription": { + "DBInstanceAutomatedBackup": { + "AllocatedStorage": 20, + "AvailabilityZone": "us-east-1b", + "BackupRetentionPeriod": 7, + "DBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:new-orcl-db", + "DBInstanceAutomatedBackupsArn": "arn:aws:rds:us-west-2:123456789012:auto-backup:ab-jkib2gfq5rv7replzadausbrktni2bn4example", + "DBInstanceIdentifier": "new-orcl-db", + "DbiResourceId": "db-JKIB2GFQ5RV7REPLZA4EXAMPLE", + "Encrypted": false, + "Engine": "oracle-se2", + "EngineVersion": "12.1.0.2.v21", + "IAMDatabaseAuthenticationEnabled": false, + "InstanceCreateTime": "2020-12-04T15:28:31Z", + "LicenseModel": "bring-your-own-license", + "MasterUsername": "admin", + "OptionGroupName": "default:oracle-se2-12-1", + "Port": 1521, + "Region": "us-east-1", + "RestoreWindow": { + }, + "Status": "deleting", + "StorageType": "gp2", + "VpcId": "vpc-########" } }, "comments": { @@ -629,15 +1462,15 @@ "output": { } }, - "description": "This example deletes the specified DB event subscription.", - "id": "delete-db-event-subscription-d33567e3-1d5d-48ff-873f-0270453f4a75", - "title": "To delete a DB event subscription." + "description": "The following example deletes the automated backup with the specified Amazon Resource Name (ARN).", + "id": "to-delete-a-replicated-automated-backup-from-a-region-1679963187406", + "title": "To delete a replicated automated backup from a Region" } ], - "DeleteOptionGroup": [ + "DeleteDBParameterGroup": [ { "input": { - "OptionGroupName": "mydboptiongroup" + "DBParameterGroupName": "mydbparametergroup" }, "comments": { "input": { @@ -645,16 +1478,15 @@ "output": { } }, - "description": "This example deletes the specified option group.", - "id": "delete-db-option-group-578be2be-3095-431a-9ea4-9a3c3b0daef4", - "title": "To delete an option group." + "description": "The following example deletes a DB parameter group.", + "id": "to-delete-a-db-parameter-group-1679963369020", + "title": "To delete a DB parameter group" } ], - "DescribeAccountAttributes": [ + "DeleteDBSecurityGroup": [ { "input": { - }, - "output": { + "DBSecurityGroupName": "mysecgroup" }, "comments": { "input": { @@ -662,18 +1494,45 @@ "output": { } }, - "description": "This example lists account attributes.", - "id": "describe-account-attributes-683d3ff7-5524-421a-8da5-e88f1ea2222b", - "title": "To list account attributes" + "description": "The following example deletes a DB security group.", + "id": "to-delete-a-db-security-group-1473960141889", + "title": "To delete a DB security group" } ], - "DescribeCertificates": [ + "DeleteDBSnapshot": [ { "input": { - "CertificateIdentifier": "rds-ca-2015", - "MaxRecords": 20 + "DBSnapshotIdentifier": "mydbsnapshot" }, "output": { + "DBSnapshot": { + "AllocatedStorage": 100, + "AvailabilityZone": "us-east-1b", + "DBInstanceIdentifier": "database-mysql", + "DBSnapshotArn": "arn:aws:rds:us-east-1:123456789012:snapshot:mydbsnapshot", + "DBSnapshotIdentifier": "mydbsnapshot", + "DbiResourceId": "db-AKIAIOSFODNN7EXAMPLE", + "Encrypted": true, + "Engine": "mysql", + "EngineVersion": "5.6.40", + "IAMDatabaseAuthenticationEnabled": false, + "InstanceCreateTime": "2019-04-30T15:45:53.663Z", + "Iops": 1000, + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE", + "LicenseModel": "general-public-license", + "MasterUsername": "admin", + "OptionGroupName": "default:mysql-5-6", + "PercentProgress": 100, + "Port": 3306, + "ProcessorFeatures": [ + + ], + "SnapshotCreateTime": "2019-06-18T22:08:40.702Z", + "SnapshotType": "manual", + "Status": "deleted", + "StorageType": "io1", + "VpcId": "vpc-6594f31c" + } }, "comments": { "input": { @@ -681,17 +1540,15 @@ "output": { } }, - "description": "This example lists up to 20 certificates for the specified certificate identifier.", - "id": "describe-certificates-9d71a70d-7908-4444-b43f-321d842c62dc", - "title": "To list certificates" + "description": "The following example deletes the specified DB snapshot.", + "id": "to-delete-a-db-snapshot-1680111103708", + "title": "To delete a DB snapshot" } ], - "DescribeDBClusterParameterGroups": [ + "DeleteDBSubnetGroup": [ { "input": { - "DBClusterParameterGroupName": "mydbclusterparametergroup" - }, - "output": { + "DBSubnetGroupName": "mysubnetgroup" }, "comments": { "input": { @@ -699,18 +1556,34 @@ "output": { } }, - "description": "This example lists settings for the specified DB cluster parameter group.", - "id": "describe-db-cluster-parameter-groups-cf9c6e66-664e-4f57-8e29-a9080abfc013", - "title": "To list DB cluster parameter group settings" + "description": "The following example deletes the DB subnet group called mysubnetgroup.", + "id": "to-delete-a-db-subnet-group-1680127744982", + "title": "To delete a DB subnet group" } ], - "DescribeDBClusterParameters": [ + "DeleteEventSubscription": [ { "input": { - "DBClusterParameterGroupName": "mydbclusterparametergroup", - "Source": "system" + "SubscriptionName": "my-instance-events" }, "output": { + "EventSubscription": { + "CustSubscriptionId": "my-instance-events", + "CustomerAwsId": "123456789012", + "Enabled": false, + "EventCategoriesList": [ + "backup", + "recovery" + ], + "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", + "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events", + "SourceIdsList": [ + "test-instance" + ], + "SourceType": "db-instance", + "Status": "deleting", + "SubscriptionCreationTime": "2018-07-31 23:22:01.893" + } }, "comments": { "input": { @@ -718,18 +1591,29 @@ "output": { } }, - "description": "This example lists system parameters for the specified DB cluster parameter group.", - "id": "describe-db-cluster-parameters-98043c28-e489-41a7-b118-bfd96dc779a1", - "title": "To list DB cluster parameters" + "description": "The following example deletes the specified event subscription.", + "id": "to-delete-an-event-subscription-1680128383147", + "title": "To delete an event subscription" } ], - "DescribeDBClusterSnapshotAttributes": [ + "DeleteGlobalCluster": [ { "input": { - "DBClusterSnapshotIdentifier": "mydbclustersnapshot" + "GlobalClusterIdentifier": "myglobalcluster" }, "output": { - "DBClusterSnapshotAttributesResult": { + "GlobalCluster": { + "DeletionProtection": false, + "Engine": "aurora-mysql", + "EngineVersion": "5.7.mysql_aurora.2.07.2", + "GlobalClusterArn": "arn:aws:rds::123456789012:global-cluster:myglobalcluster", + "GlobalClusterIdentifier": "myglobalcluster", + "GlobalClusterMembers": [ + + ], + "GlobalClusterResourceId": "cluster-f0e523bfe07aabb", + "Status": "available", + "StorageEncrypted": false } }, "comments": { @@ -738,18 +1622,15 @@ "output": { } }, - "description": "This example lists attributes for the specified DB cluster snapshot.", - "id": "describe-db-cluster-snapshot-attributes-6752ade3-0c7b-4b06-a8e4-b76bf4e2d3571", - "title": "To list DB cluster snapshot attributes" + "description": "The following example deletes an Aurora MySQL-compatible global DB cluster.", + "id": "to-delete-a-global-db-cluster-1680128523630", + "title": "To delete a global DB cluster" } ], - "DescribeDBClusterSnapshots": [ + "DeleteOptionGroup": [ { "input": { - "DBClusterSnapshotIdentifier": "mydbclustersnapshot", - "SnapshotType": "manual" - }, - "output": { + "OptionGroupName": "myoptiongroup" }, "comments": { "input": { @@ -757,17 +1638,93 @@ "output": { } }, - "description": "This example lists settings for the specified, manually-created cluster snapshot.", - "id": "describe-db-cluster-snapshots-52f38af1-3431-4a51-9a6a-e6bb8c961b32", - "title": "To list DB cluster snapshots" + "description": "The following example deletes the specified option group.", + "id": "to-delete-an-option-group-1680128894360", + "title": "To delete an option group" } ], - "DescribeDBClusters": [ + "DescribeAccountAttributes": [ { "input": { - "DBClusterIdentifier": "mynewdbcluster" }, "output": { + "AccountQuotas": [ + { + "AccountQuotaName": "DBInstances", + "Max": 40, + "Used": 4 + }, + { + "AccountQuotaName": "ReservedDBInstances", + "Max": 40, + "Used": 0 + }, + { + "AccountQuotaName": "AllocatedStorage", + "Max": 100000, + "Used": 40 + }, + { + "AccountQuotaName": "DBSecurityGroups", + "Max": 25, + "Used": 0 + }, + { + "AccountQuotaName": "AuthorizationsPerDBSecurityGroup", + "Max": 20, + "Used": 0 + }, + { + "AccountQuotaName": "DBParameterGroups", + "Max": 50, + "Used": 1 + }, + { + "AccountQuotaName": "ManualSnapshots", + "Max": 100, + "Used": 3 + }, + { + "AccountQuotaName": "EventSubscriptions", + "Max": 20, + "Used": 0 + }, + { + "AccountQuotaName": "DBSubnetGroups", + "Max": 50, + "Used": 1 + }, + { + "AccountQuotaName": "OptionGroups", + "Max": 20, + "Used": 1 + }, + { + "AccountQuotaName": "SubnetsPerDBSubnetGroup", + "Max": 20, + "Used": 6 + }, + { + "AccountQuotaName": "ReadReplicasPerMaster", + "Max": 5, + "Used": 0 + }, + { + "AccountQuotaName": "DBClusters", + "Max": 40, + "Used": 1 + }, + { + "AccountQuotaName": "DBClusterParameterGroups", + "Max": 50, + "Used": 0 + }, + { + "AccountQuotaName": "DBClusterRoles", + "Max": 5, + "Used": 0 + } + ] }, "comments": { "input": { @@ -775,21 +1732,67 @@ "output": { } }, - "description": "This example lists settings for the specified DB cluster.", - "id": "describe-db-clusters-7aae8861-cb95-4b3b-9042-f62df7698635", - "title": "To list DB clusters" + "description": "The following example retrieves the attributes for the current AWS account.", + "id": "to-describe-account-attributes-1680210466935", + "title": "To describe account attributes" } ], - "DescribeDBEngineVersions": [ + "DescribeBlueGreenDeployments": [ { "input": { - "DBParameterGroupFamily": "mysql5.6", - "DefaultOnly": true, - "Engine": "mysql", - "EngineVersion": "5.6", - "ListSupportedCharacterSets": true + "BlueGreenDeploymentIdentifier": "bgd-v53303651eexfake" }, "output": { + "BlueGreenDeployments": [ + { + "BlueGreenDeploymentIdentifier": "bgd-v53303651eexfake", + "BlueGreenDeploymentName": "bgd-cli-test-instance", + "CreateTime": "2022-02-25T21:18:51.183000+00:00", + "Source": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance", + "Status": "AVAILABLE", + "SwitchoverDetails": [ + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-green-rkfbpe" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-1", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-1-green-j382ha" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-2", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-2-green-ejv4ao" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-3", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-3-green-vlpz3t" + } + ], + "Target": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-green-rkfbpe", + "Tasks": [ + { + "Name": "CREATING_READ_REPLICA_OF_SOURCE", + "Status": "COMPLETED" + }, + { + "Name": "DB_ENGINE_VERSION_UPGRADE", + "Status": "COMPLETED" + }, + { + "Name": "CONFIGURE_BACKUPS", + "Status": "COMPLETED" + }, + { + "Name": "CREATING_TOPOLOGY_OF_SOURCE", + "Status": "COMPLETED" + } + ] + } + ] }, "comments": { "input": { @@ -797,17 +1800,75 @@ "output": { } }, - "description": "This example lists settings for the specified DB engine version.", - "id": "describe-db-engine-versions-8e698cf2-2162-425a-a854-111cdaceb52b", - "title": "To list DB engine version settings" - } - ], - "DescribeDBInstances": [ + "description": "The following example retrieves the details of a blue/green deployment after creation completes.", + "id": "to-describe-a-bluegreen-deployment-of-an-rds-db-instance-after-creation-completes-1680211143527", + "title": "To describe a blue/green deployment of an RDS DB instance after creation completes" + }, { "input": { - "DBInstanceIdentifier": "mymysqlinstance" + "BlueGreenDeploymentIdentifier": "bgd-wi89nwzglccsfake" }, "output": { + "BlueGreenDeployments": [ + { + "BlueGreenDeploymentIdentifier": "bgd-wi89nwzglccsfake", + "BlueGreenDeploymentName": "my-blue-green-deployment", + "CreateTime": "2022-02-25T21:12:00.288000+00:00", + "Source": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster", + "Status": "AVAILABLE", + "SwitchoverDetails": [ + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster-green-3rnukl" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-1", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-1-green-gpmaxf" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-2", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-2-green-j2oajq" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-3", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-3-green-mkxies" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-excluded-member-endpoint", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-excluded-member-endpoint-green-4sqjrq" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-reader-endpoint", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-reader-endpoint-green-gwwzlg" + } + ], + "Target": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster-green-3rnukl", + "Tasks": [ + { + "Name": "CREATING_READ_REPLICA_OF_SOURCE", + "Status": "COMPLETED" + }, + { + "Name": "DB_ENGINE_VERSION_UPGRADE", + "Status": "COMPLETED" + }, + { + "Name": "CREATE_DB_INSTANCES_FOR_CLUSTER", + "Status": "COMPLETED" + }, + { + "Name": "CREATE_CUSTOM_ENDPOINTS", + "Status": "COMPLETED" + } + ] + } + ] }, "comments": { "input": { @@ -815,20 +1876,75 @@ "output": { } }, - "description": "This example lists settings for the specified DB instance.", - "id": "describe-db-instances-0e11a8c5-4ec3-4463-8cbf-f7254d04c4fc", - "title": "To list DB instance settings" - } - ], - "DescribeDBLogFiles": [ + "description": "The following example retrieves the details of a blue/green deployment.", + "id": "to-describe-a-bluegreen-deployment-for-an-aurora-mysql-db-cluster-1680211228214", + "title": "To describe a blue/green deployment for an Aurora MySQL DB cluster" + }, { "input": { - "DBInstanceIdentifier": "mymysqlinstance", - "FileLastWritten": 1470873600000, - "FileSize": 0, - "FilenameContains": "error" + "BlueGreenDeploymentIdentifier": "bgd-wi89nwzglccsfake" }, "output": { + "BlueGreenDeployments": [ + { + "BlueGreenDeploymentIdentifier": "bgd-wi89nwzglccsfake", + "BlueGreenDeploymentName": "my-blue-green-deployment", + "CreateTime": "2022-02-25T22:38:49.522000+00:00", + "Source": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster-old1", + "Status": "SWITCHOVER_COMPLETED", + "SwitchoverDetails": [ + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster-old1", + "Status": "SWITCHOVER_COMPLETED", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-1-old1", + "Status": "SWITCHOVER_COMPLETED", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-1" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-2-old1", + "Status": "SWITCHOVER_COMPLETED", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-2" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-3-old1", + "Status": "SWITCHOVER_COMPLETED", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-3" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-excluded-member-endpoint-old1", + "Status": "SWITCHOVER_COMPLETED", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-excluded-member-endpoint" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-reader-endpoint-old1", + "Status": "SWITCHOVER_COMPLETED", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-reader-endpoint" + } + ], + "Target": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster", + "Tasks": [ + { + "Name": "CREATING_READ_REPLICA_OF_SOURCE", + "Status": "COMPLETED" + }, + { + "Name": "DB_ENGINE_VERSION_UPGRADE", + "Status": "COMPLETED" + }, + { + "Name": "CREATE_DB_INSTANCES_FOR_CLUSTER", + "Status": "COMPLETED" + }, + { + "Name": "CREATE_CUSTOM_ENDPOINTS", + "Status": "COMPLETED" + } + ] + } + ] }, "comments": { "input": { @@ -836,17 +1952,55 @@ "output": { } }, - "description": "This example lists matching log file names for the specified DB instance, file name pattern, last write date in POSIX time with milleseconds, and minimum file size.", - "id": "describe-db-log-files-5f002d8d-5c1d-44c2-b5f4-bd284c0f1285", - "title": "To list DB log file names" + "description": "The following example retrieves the details about a blue/green deployment after the green environment is promoted to be the production environment.", + "id": "to-describe-a-bluegreen-deployment-for-an-aurora-mysql-cluster-after-switchover-1680211583831", + "title": "To describe a blue/green deployment for an Aurora MySQL cluster after switchover" } ], - "DescribeDBParameterGroups": [ + "DescribeCertificates": [ { "input": { - "DBParameterGroupName": "mymysqlparametergroup" }, "output": { + "Certificates": [ + { + "CertificateArn": "arn:aws:rds:us-east-1::cert:rds-ca-ecc384-g1", + "CertificateIdentifier": "rds-ca-ecc384-g1", + "CertificateType": "CA", + "CustomerOverride": false, + "Thumbprint": "24a97b91cbe86911190576c35c36aab4fEXAMPLE", + "ValidFrom": "2021-05-25T22:41:55+00:00", + "ValidTill": "2121-05-25T23:41:55+00:00" + }, + { + "CertificateArn": "arn:aws:rds:us-east-1::cert:rds-ca-rsa4096-g1", + "CertificateIdentifier": "rds-ca-rsa4096-g1", + "CertificateType": "CA", + "CustomerOverride": false, + "Thumbprint": "9da6fa7fd2ec09c569a400d876b01b0c1EXAMPLE", + "ValidFrom": "2021-05-25T22:38:35+00:00", + "ValidTill": "2121-05-25T23:38:35+00:00" + }, + { + "CertificateArn": "arn:aws:rds:us-east-1::cert:rds-ca-rsa2048-g1", + "CertificateIdentifier": "rds-ca-rsa2048-g1", + "CertificateType": "CA", + "CustomerOverride": true, + "CustomerOverrideValidTill": "2061-05-25T23:34:57+00:00", + "Thumbprint": "2fa77ef894d983ba9d37ad699c84ab0f6EXAMPLE", + "ValidFrom": "2021-05-25T22:34:57+00:00", + "ValidTill": "2061-05-25T23:34:57+00:00" + }, + { + "CertificateArn": "arn:aws:rds:us-east-1::cert:rds-ca-2019", + "CertificateIdentifier": "rds-ca-2019", + "CertificateType": "CA", + "CustomerOverride": false, + "Thumbprint": "f0ed823ed14447bab557fdf3e49274669EXAMPLE", + "ValidFrom": "2019-09-19T18:16:53+00:00", + "ValidTill": "2024-08-22T17:08:50+00:00" + } + ] }, "comments": { "input": { @@ -854,19 +2008,35 @@ "output": { } }, - "description": "This example lists information about the specified DB parameter group.", - "id": "describe-db-parameter-groups-", - "title": "To list information about DB parameter groups" + "description": "The following example retrieves the details of the certificate associated with the user's default region.", + "id": "to-describe-certificates-1680211777663", + "title": "To describe certificates" } ], - "DescribeDBParameters": [ + "DescribeDBClusterBacktracks": [ { "input": { - "DBParameterGroupName": "mymysqlparametergroup", - "MaxRecords": 20, - "Source": "system" + "DBClusterIdentifier": "mydbcluster" }, "output": { + "DBClusterBacktracks": [ + { + "BacktrackIdentifier": "2f5f5294-0dd2-44c9-9f50-EXAMPLE", + "BacktrackRequestCreationTime": "2021-02-12T14:36:18.819Z", + "BacktrackTo": "2021-02-12T04:59:22Z", + "BacktrackedFrom": "2021-02-12T14:37:31.640Z", + "DBClusterIdentifier": "mydbcluster", + "Status": "COMPLETED" + }, + { + "BacktrackIdentifier": "3c7a6421-af2a-4ea3-ae95-EXAMPLE", + "BacktrackRequestCreationTime": "2021-02-12T00:07:53.487Z", + "BacktrackTo": "2021-02-11T22:53:46Z", + "BacktrackedFrom": "2021-02-12T00:09:27.006Z", + "DBClusterIdentifier": "mydbcluster", + "Status": "COMPLETED" + } + ] }, "comments": { "input": { @@ -874,17 +2044,42 @@ "output": { } }, - "description": "This example lists information for up to the first 20 system parameters for the specified DB parameter group.", - "id": "describe-db-parameters-09db4201-ef4f-4d97-a4b5-d71c0715b901", - "title": "To list information about DB parameters" + "description": "The following example retrieves details about the specified DB cluster.", + "id": "to-describe-backtracks-for-a-db-cluster-1680212191454", + "title": "To describe backtracks for a DB cluster" } ], - "DescribeDBSecurityGroups": [ + "DescribeDBClusterEndpoints": [ { "input": { - "DBSecurityGroupName": "mydbsecuritygroup" }, "output": { + "DBClusterEndpoints": [ + { + "DBClusterIdentifier": "my-database-1", + "Endpoint": "my-database-1.cluster-cnpexample.us-east-1.rds.amazonaws.com", + "EndpointType": "WRITER", + "Status": "creating" + }, + { + "DBClusterIdentifier": "my-database-1", + "Endpoint": "my-database-1.cluster-ro-cnpexample.us-east-1.rds.amazonaws.com", + "EndpointType": "READER", + "Status": "creating" + }, + { + "DBClusterIdentifier": "mydbcluster", + "Endpoint": "mydbcluster.cluster-cnpexamle.us-east-1.rds.amazonaws.com", + "EndpointType": "WRITER", + "Status": "available" + }, + { + "DBClusterIdentifier": "mydbcluster", + "Endpoint": "mydbcluster.cluster-ro-cnpexample.us-east-1.rds.amazonaws.com", + "EndpointType": "READER", + "Status": "available" + } + ] }, "comments": { "input": { @@ -892,19 +2087,23 @@ "output": { } }, - "description": "This example lists settings for the specified security group.", - "id": "describe-db-security-groups-66fe9ea1-17dd-4275-b82e-f771cee0c849", - "title": "To list DB security group settings" - } - ], - "DescribeDBSnapshotAttributes": [ + "description": "The following example retrieves details for your DB cluster endpoints. The most common kinds of Aurora clusters have two endpoints. One endpoint has type WRITER. You can use this endpoint for all SQL statements. The other endpoint has type READER. You can use this endpoint only for SELECT and other read-only SQL statements.", + "id": "to-describe-db-cluster-endpoints-1680212701970", + "title": "To describe DB cluster endpoints" + }, { "input": { - "DBSnapshotIdentifier": "mydbsnapshot" + "DBClusterIdentifier": "serverless-cluster" }, "output": { - "DBSnapshotAttributesResult": { - } + "DBClusterEndpoints": [ + { + "DBClusterIdentifier": "serverless-cluster", + "Endpoint": "serverless-cluster.cluster-cnpexample.us-east-1.rds.amazonaws.com", + "EndpointType": "WRITER", + "Status": "available" + } + ] }, "comments": { "input": { @@ -912,20 +2111,48 @@ "output": { } }, - "description": "This example lists attributes for the specified DB snapshot.", - "id": "describe-db-snapshot-attributes-1d4fb750-34f6-4e43-8b3d-b2751d796a95", - "title": "To list DB snapshot attributes" + "description": "The following example retrieves details for the DB cluster endpoints of a single specified DB cluster. Aurora Serverless clusters have only a single endpoint with a type of WRITER.", + "id": "to-describe-db-cluster-endpoints-of-a-single-db-cluster-1680212863842", + "title": "To describe DB cluster endpoints of a single DB cluster" } ], - "DescribeDBSnapshots": [ + "DescribeDBClusterParameterGroups": [ { "input": { - "DBInstanceIdentifier": "mymysqlinstance", - "IncludePublic": false, - "IncludeShared": true, - "SnapshotType": "manual" }, "output": { + "DBClusterParameterGroups": [ + { + "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:default.aurora-mysql5.7", + "DBClusterParameterGroupName": "default.aurora-mysql5.7", + "DBParameterGroupFamily": "aurora-mysql5.7", + "Description": "Default cluster parameter group for aurora-mysql5.7" + }, + { + "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:default.aurora-postgresql9.6", + "DBClusterParameterGroupName": "default.aurora-postgresql9.6", + "DBParameterGroupFamily": "aurora-postgresql9.6", + "Description": "Default cluster parameter group for aurora-postgresql9.6" + }, + { + "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:default.aurora5.6", + "DBClusterParameterGroupName": "default.aurora5.6", + "DBParameterGroupFamily": "aurora5.6", + "Description": "Default cluster parameter group for aurora5.6" + }, + { + "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterpg", + "DBClusterParameterGroupName": "mydbclusterpg", + "DBParameterGroupFamily": "aurora-mysql5.7", + "Description": "My DB cluster parameter group" + }, + { + "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterpgcopy", + "DBClusterParameterGroupName": "mydbclusterpgcopy", + "DBParameterGroupFamily": "aurora-mysql5.7", + "Description": "Copy of mydbclusterpg parameter group" + } + ] }, "comments": { "input": { @@ -933,36 +2160,75 @@ "output": { } }, - "description": "This example lists all manually-created, shared snapshots for the specified DB instance.", - "id": "describe-db-snapshots-2c935989-a1ef-4c85-aea4-1d0f45f17f26", - "title": "To list DB snapshot attributes" + "description": "The following example retrieves details for your DB cluster parameter groups.", + "id": "to-describe-db-cluster-parameter-groups-1680213090883", + "title": "To describe DB cluster parameter groups" } ], - "DescribeDBSubnetGroups": [ + "DescribeDBClusterParameters": [ { "input": { - "DBSubnetGroupName": "mydbsubnetgroup" + "DBClusterParameterGroupName": "mydbclusterpg" }, "output": { + "Parameters": [ + { + "AllowedValues": "0,1", + "ApplyMethod": "pending-reboot", + "ApplyType": "static", + "DataType": "boolean", + "Description": "Controls whether user-defined functions that have only an xxx symbol for the main function can be loaded", + "IsModifiable": false, + "ParameterName": "allow-suspicious-udfs", + "Source": "engine-default", + "SupportedEngineModes": [ + "provisioned" + ] + }, + { + "AllowedValues": "0,1", + "ApplyMethod": "pending-reboot", + "ApplyType": "static", + "DataType": "boolean", + "Description": "Enables new features in the Aurora engine.", + "IsModifiable": true, + "ParameterName": "aurora_lab_mode", + "ParameterValue": "0", + "Source": "engine-default", + "SupportedEngineModes": [ + "provisioned" + ] + } + ] }, "comments": { "input": { }, "output": { + "Parameters": "Some output ommitted." } }, - "description": "This example lists information about the specified DB subnet group.", - "id": "describe-db-subnet-groups-1d97b340-682f-4dd6-9653-8ed72a8d1221", - "title": "To list information about DB subnet groups" + "description": "The following example retrieves details about the parameters in a DB cluster parameter group.", + "id": "to-describe-the-parameters-in-a-db-cluster-parameter-group-1680213275624", + "title": "To describe the parameters in a DB cluster parameter group" } ], - "DescribeEngineDefaultClusterParameters": [ + "DescribeDBClusterSnapshotAttributes": [ { "input": { - "DBParameterGroupFamily": "aurora5.6" + "DBClusterSnapshotIdentifier": "myclustersnapshot" }, "output": { - "EngineDefaults": { + "DBClusterSnapshotAttributesResult": { + "DBClusterSnapshotAttributes": [ + { + "AttributeName": "restore", + "AttributeValues": [ + "123456789012" + ] + } + ], + "DBClusterSnapshotIdentifier": "myclustersnapshot" } }, "comments": { @@ -971,19 +2237,69 @@ "output": { } }, - "description": "This example lists default parameters for the specified DB cluster engine.", - "id": "describe-engine-default-cluster-parameters-f130374a-7bee-434b-b51d-da20b6e000e0", - "title": "To list default parameters for a DB cluster engine" + "description": "The following example retrieves details of the attribute names and values for the specified DB cluster snapshot.", + "id": "to-describe-the-attribute-names-and-values-for-a-db-cluster-snapshot-1680216238905", + "title": "To describe the attribute names and values for a DB cluster snapshot" } ], - "DescribeEngineDefaultParameters": [ + "DescribeDBClusterSnapshots": [ { "input": { - "DBParameterGroupFamily": "mysql5.6" + "DBClusterIdentifier": "mydbcluster" }, "output": { - "EngineDefaults": { - } + "DBClusterSnapshots": [ + { + "AllocatedStorage": 0, + "AvailabilityZones": [ + "us-east-1a", + "us-east-1b", + "us-east-1e" + ], + "ClusterCreateTime": "2019-04-15T14:18:42.785Z", + "DBClusterIdentifier": "mydbcluster", + "DBClusterSnapshotArn": "arn:aws:rds:us-east-1:814387698303:cluster-snapshot:myclustersnapshotcopy", + "DBClusterSnapshotIdentifier": "myclustersnapshotcopy", + "Engine": "aurora-mysql", + "EngineVersion": "5.7.mysql_aurora.2.04.2", + "IAMDatabaseAuthenticationEnabled": false, + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE", + "LicenseModel": "aurora-mysql", + "MasterUsername": "myadmin", + "PercentProgress": 100, + "Port": 0, + "SnapshotCreateTime": "2019-06-04T09:16:42.649Z", + "SnapshotType": "manual", + "Status": "available", + "StorageEncrypted": true, + "VpcId": "vpc-6594f31c" + }, + { + "AllocatedStorage": 0, + "AvailabilityZones": [ + "us-east-1a", + "us-east-1b", + "us-east-1e" + ], + "ClusterCreateTime": "2019-04-15T14:18:42.785Z", + "DBClusterIdentifier": "mydbcluster", + "DBClusterSnapshotArn": "arn:aws:rds:us-east-1:123456789012:cluster-snapshot:rds:mydbcluster-2019-06-20-09-16", + "DBClusterSnapshotIdentifier": "rds:mydbcluster-2019-06-20-09-16", + "Engine": "aurora-mysql", + "EngineVersion": "5.7.mysql_aurora.2.04.2", + "IAMDatabaseAuthenticationEnabled": false, + "KmsKeyId": "arn:aws:kms:us-east-1:814387698303:key/AKIAIOSFODNN7EXAMPLE", + "LicenseModel": "aurora-mysql", + "MasterUsername": "myadmin", + "PercentProgress": 100, + "Port": 0, + "SnapshotCreateTime": "2019-06-20T09:16:26.569Z", + "SnapshotType": "automated", + "Status": "available", + "StorageEncrypted": true, + "VpcId": "vpc-6594f31c" + } + ] }, "comments": { "input": { @@ -991,17 +2307,104 @@ "output": { } }, - "description": "This example lists default parameters for the specified DB engine.", - "id": "describe-engine-default-parameters-35d5108e-1d44-4fac-8aeb-04b8fdfface1", - "title": "To list default parameters for a DB engine" + "description": "The following example retrieves the details for the DB cluster snapshots for the specified DB cluster.", + "id": "to-describe-a-db-cluster-snapshot-for-a-db-cluster-1680216426182", + "title": "To describe a DB cluster snapshot for a DB cluster" } ], - "DescribeEventCategories": [ + "DescribeDBClusters": [ { "input": { - "SourceType": "db-instance" + "DBClusterIdentifier": "mydbcluster" }, "output": { + "DBClusters": [ + { + "AllocatedStorage": 1, + "AssociatedRoles": [ + + ], + "AvailabilityZones": [ + "us-east-1a", + "us-east-1b", + "us-east-1e" + ], + "BackupRetentionPeriod": 1, + "ClusterCreateTime": "2019-04-15T14:18:42.785Z", + "DBClusterArn": "arn:aws:rds:us-east-1:123456789012:cluster:mydbcluster", + "DBClusterIdentifier": "mydbcluster", + "DBClusterMembers": [ + { + "DBClusterParameterGroupStatus": "in-sync", + "DBInstanceIdentifier": "dbinstance3", + "IsClusterWriter": false, + "PromotionTier": 1 + }, + { + "DBClusterParameterGroupStatus": "in-sync", + "DBInstanceIdentifier": "dbinstance1", + "IsClusterWriter": false, + "PromotionTier": 1 + }, + { + "DBClusterParameterGroupStatus": "in-sync", + "DBInstanceIdentifier": "dbinstance2", + "IsClusterWriter": false, + "PromotionTier": 1 + }, + { + "DBClusterParameterGroupStatus": "in-sync", + "DBInstanceIdentifier": "mydbcluster", + "IsClusterWriter": false, + "PromotionTier": 1 + }, + { + "DBClusterParameterGroupStatus": "in-sync", + "DBInstanceIdentifier": "mydbcluster-us-east-1b", + "IsClusterWriter": false, + "PromotionTier": 1 + }, + { + "DBClusterParameterGroupStatus": "in-sync", + "DBInstanceIdentifier": "mydbcluster", + "IsClusterWriter": true, + "PromotionTier": 1 + } + ], + "DBClusterParameterGroup": "default.aurora-mysql5.7", + "DBSubnetGroup": "default", + "DatabaseName": "mydbcluster", + "DbClusterResourceId": "cluster-AKIAIOSFODNN7EXAMPLE", + "DeletionProtection": false, + "EarliestRestorableTime": "2019-06-19T09:16:28.210Z", + "Endpoint": "mydbcluster.cluster-cnpexample.us-east-1.rds.amazonaws.com", + "Engine": "aurora-mysql", + "EngineMode": "provisioned", + "EngineVersion": "5.7.mysql_aurora.2.04.2", + "HostedZoneId": "Z2R2ITUGPM61AM", + "HttpEndpointEnabled": false, + "IAMDatabaseAuthenticationEnabled": false, + "KmsKeyId": "arn:aws:kms:us-east-1:814387698303:key/AKIAIOSFODNN7EXAMPLE", + "LatestRestorableTime": "2019-06-20T22:38:14.908Z", + "MasterUsername": "myadmin", + "MultiAZ": true, + "Port": 3306, + "PreferredBackupWindow": "09:09-09:39", + "PreferredMaintenanceWindow": "sat:04:09-sat:04:39", + "ReadReplicaIdentifiers": [ + + ], + "ReaderEndpoint": "mydbcluster.cluster-ro-cnpexample.us-east-1.rds.amazonaws.com", + "Status": "available", + "StorageEncrypted": true, + "VpcSecurityGroups": [ + { + "Status": "active", + "VpcSecurityGroupId": "sg-0b9130572daf3dc16" + } + ] + } + ] }, "comments": { "input": { @@ -1009,40 +2412,87 @@ "output": { } }, - "description": "This example lists all DB instance event categories.", - "id": "describe-event-categories-97bd4c77-12da-4be6-b42f-edf77771428b", - "title": "To list event categories." + "description": "The following example retrieves the details of the specified DB cluster.", + "id": "to-describe-a-db-cluster-1680215000529", + "title": "To describe a DB cluster" } ], - "DescribeEventSubscriptions": [ + "DescribeDBEngineVersions": [ { "input": { - "SubscriptionName": "mymysqleventsubscription" + "Engine": "mysql" }, "output": { + "DBEngineVersions": [ + { + "DBEngineDescription": "MySQL Community Edition", + "DBEngineVersionDescription": "MySQL 5.7.33", + "DBParameterGroupFamily": "mysql5.7", + "Engine": "mysql", + "EngineVersion": "5.7.33", + "ValidUpgradeTarget": [ + { + "AutoUpgrade": false, + "Description": "MySQL 5.7.34", + "Engine": "mysql", + "EngineVersion": "5.7.34", + "IsMajorVersionUpgrade": false + }, + { + "AutoUpgrade": false, + "Description": "MySQL 5.7.36", + "Engine": "mysql", + "EngineVersion": "5.7.36", + "IsMajorVersionUpgrade": false + } + ] + } + ] }, "comments": { "input": { }, "output": { + "DBEngineVersions": "Some output ommitted." } }, - "description": "This example lists information for the specified DB event notification subscription.", - "id": "describe-event-subscriptions-11184a82-e58a-4d0c-b558-f3a7489e0850", - "title": "To list information about DB event notification subscriptions" + "description": "The following example displays details about each of the DB engine versions for the specified DB engine.", + "id": "to-describe-the-db-engine-versions-for-the-mysql-db-engine-1680216738909", + "title": "To describe the DB engine versions for the MySQL DB engine" } ], - "DescribeEvents": [ + "DescribeDBInstanceAutomatedBackups": [ { "input": { - "Duration": 10080, - "EventCategories": [ - "backup" - ], - "SourceIdentifier": "mymysqlinstance", - "SourceType": "db-instance" + "DBInstanceIdentifier": "new-orcl-db" }, "output": { + "DBInstanceAutomatedBackups": [ + { + "AllocatedStorage": 20, + "BackupRetentionPeriod": 14, + "DBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:new-orcl-db", + "DBInstanceAutomatedBackupsArn": "arn:aws:rds:us-west-2:123456789012:auto-backup:ab-jkib2gfq5rv7replzadausbrktni2bn4example", + "DBInstanceIdentifier": "new-orcl-db", + "DbiResourceId": "db-JKIB2GFQ5RV7REPLZA4EXAMPLE", + "Encrypted": false, + "Engine": "oracle-se2", + "EngineVersion": "12.1.0.2.v21", + "IAMDatabaseAuthenticationEnabled": false, + "InstanceCreateTime": "2020-12-04T15:28:31Z", + "LicenseModel": "bring-your-own-license", + "MasterUsername": "admin", + "OptionGroupName": "default:oracle-se2-12-1", + "Port": 1521, + "Region": "us-east-1", + "RestoreWindow": { + "EarliestTime": "2020-12-07T21:05:20.939Z", + "LatestTime": "2020-12-07T21:05:20.939Z" + }, + "Status": "replicating", + "StorageType": "gp2" + } + ] }, "comments": { "input": { @@ -1050,37 +2500,82 @@ "output": { } }, - "description": "This example lists information for all backup-related events for the specified DB instance for the past 7 days (7 days * 24 hours * 60 minutes = 10,080 minutes).", - "id": "describe-events-3836e5ed-3913-4f76-8452-c77fcad5016b", - "title": "To list information about events" + "description": "The following example displays details about the automated backups for the specified DB instance. The details include replicated automated backups in other AWS Regions.", + "id": "to-describe-the-automated-backups-for-a-db-instance-1680217198750", + "title": "To describe the automated backups for a DB instance" } ], - "DescribeOptionGroupOptions": [ + "DescribeDBInstances": [ { "input": { - "EngineName": "mysql", - "MajorEngineVersion": "5.6" + "DBInstanceIdentifier": "mydbinstancecf" }, "output": { + "DBInstances": [ + { + "DBInstanceClass": "db.t3.small", + "DBInstanceIdentifier": "mydbinstancecf", + "DBInstanceStatus": "available", + "Endpoint": { + "Address": "mydbinstancecf.abcexample.us-east-1.rds.amazonaws.com", + "HostedZoneId": "Z2R2ITUGPM61AM", + "Port": 3306 + }, + "Engine": "mysql", + "MasterUsername": "admin" + } + ] }, "comments": { "input": { }, "output": { + "DBInstances": "Some output ommitted." } }, - "description": "This example lists information for all option group options for the specified DB engine.", - "id": "describe-option-group-options-30d735a4-81f1-49e4-b3f2-5dc45d50c8ed", - "title": "To list information about DB option group options" + "description": "The following example retrieves details about the specified DB instance.", + "id": "to-describe-a-db-instance-1680217544524", + "title": "To describe a DB instance" } ], - "DescribeOptionGroups": [ + "DescribeDBLogFiles": [ { "input": { - "EngineName": "mysql", - "MajorEngineVersion": "5.6" + "DBInstanceIdentifier": "test-instance" }, "output": { + "DescribeDBLogFiles": [ + { + "LastWritten": 1533060000000, + "LogFileName": "error/mysql-error-running.log", + "Size": 0 + }, + { + "LastWritten": 1532994300000, + "LogFileName": "error/mysql-error-running.log.0", + "Size": 2683 + }, + { + "LastWritten": 1533057300000, + "LogFileName": "error/mysql-error-running.log.18", + "Size": 107 + }, + { + "LastWritten": 1532991000000, + "LogFileName": "error/mysql-error-running.log.23", + "Size": 13105 + }, + { + "LastWritten": 1533061200000, + "LogFileName": "error/mysql-error.log", + "Size": 0 + }, + { + "LastWritten": 1532989252000, + "LogFileName": "mysqlUpgrade", + "Size": 3519 + } + ] }, "comments": { "input": { @@ -1088,59 +2583,100 @@ "output": { } }, - "description": "This example lists information for all option groups for the specified DB engine.", - "id": "describe-option-groups-4ef478a1-66d5-45f2-bec3-e608720418a4", - "title": "To list information about DB option groups" + "description": "The following example retrieves details about the log files for the specified DB instance.", + "id": "to-describe-the-log-files-for-a-db-instance-1680217710149", + "title": "To describe the log files for a DB instance" } ], - "DescribeOrderableDBInstanceOptions": [ + "DescribeDBParameterGroups": [ { "input": { - "DBInstanceClass": "db.t2.micro", - "Engine": "mysql", - "EngineVersion": "5.6.27", - "LicenseModel": "general-public-license", - "Vpc": true }, "output": { + "DBParameterGroups": [ + { + "DBParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:pg:default.aurora-mysql5.7", + "DBParameterGroupFamily": "aurora-mysql5.7", + "DBParameterGroupName": "default.aurora-mysql5.7", + "Description": "Default parameter group for aurora-mysql5.7" + }, + { + "DBParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:pg:default.aurora-postgresql9.6", + "DBParameterGroupFamily": "aurora-postgresql9.6", + "DBParameterGroupName": "default.aurora-postgresql9.6", + "Description": "Default parameter group for aurora-postgresql9.6" + }, + { + "DBParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:pg:default.aurora5.6", + "DBParameterGroupFamily": "aurora5.6", + "DBParameterGroupName": "default.aurora5.6", + "Description": "Default parameter group for aurora5.6" + }, + { + "DBParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:pg:default.mariadb10.1", + "DBParameterGroupFamily": "mariadb10.1", + "DBParameterGroupName": "default.mariadb10.1", + "Description": "Default parameter group for mariadb10.1" + } + ] }, "comments": { "input": { }, "output": { + "DBParameterGroups": "Some output ommitted." } }, - "description": "This example lists information for all orderable DB instance options for the specified DB engine, engine version, DB instance class, license model, and VPC settings.", - "id": "describe-orderable-db-instance-options-7444d3ed-82eb-42b9-9ed9-896b8c27a782", - "title": "To list information about orderable DB instance options" + "description": "The following example retrieves details about your DB parameter groups.", + "id": "to-describe-your-db-parameter-groups-1680279250598", + "title": "To describe your DB parameter groups" } ], - "DescribePendingMaintenanceActions": [ + "DescribeDBParameters": [ { "input": { - "ResourceIdentifier": "arn:aws:rds:us-east-1:992648334831:db:mymysqlinstance" + "DBParameterGroupName": "mydbpg" }, "output": { + "Parameters": [ + { + "AllowedValues": "0,1", + "ApplyMethod": "pending-reboot", + "ApplyType": "static", + "DataType": "boolean", + "Description": "Controls whether user-defined functions that have only an xxx symbol for the main function can be loaded", + "IsModifiable": false, + "ParameterName": "allow-suspicious-udfs", + "Source": "engine-default" + }, + { + "AllowedValues": "0,1", + "ApplyMethod": "pending-reboot", + "ApplyType": "static", + "DataType": "boolean", + "Description": "Controls whether the server autogenerates SSL key and certificate files in the data directory, if they do not already exist.", + "IsModifiable": false, + "ParameterName": "auto_generate_certs", + "Source": "engine-default" + } + ] }, "comments": { "input": { }, "output": { + "Parameters": "Some output omitted." } }, - "description": "This example lists information for all pending maintenance actions for the specified DB instance.", - "id": "describe-pending-maintenance-actions-e6021f7e-58ae-49cc-b874-11996176835c", - "title": "To list information about pending maintenance actions" + "description": "The following example retrieves the details of the specified DB parameter group.", + "id": "to-describe-the-parameters-in-a-db-parameter-group-1680279500600", + "title": "To describe the parameters in a DB parameter group" } ], - "DescribeReservedDBInstances": [ + "DescribeDBSecurityGroups": [ { "input": { - "DBInstanceClass": "db.t2.micro", - "Duration": "1y", - "MultiAZ": false, - "OfferingType": "No Upfront", - "ProductDescription": "mysql" + "DBSecurityGroupName": "mydbsecuritygroup" }, "output": { }, @@ -1150,21 +2686,29 @@ "output": { } }, - "description": "This example lists information for all reserved DB instances for the specified DB instance class, duration, product, offering type, and availability zone settings.", - "id": "describe-reserved-db-instances-d45adaca-2e30-407c-a0f3-aa7b98bea17f", - "title": "To list information about reserved DB instances" + "description": "This example lists settings for the specified security group.", + "id": "describe-db-security-groups-66fe9ea1-17dd-4275-b82e-f771cee0c849", + "title": "To list DB security group settings" } ], - "DescribeReservedDBInstancesOfferings": [ + "DescribeDBSnapshotAttributes": [ { "input": { - "DBInstanceClass": "db.t2.micro", - "Duration": "1y", - "MultiAZ": false, - "OfferingType": "No Upfront", - "ProductDescription": "mysql" + "DBSnapshotIdentifier": "mydbsnapshot" }, "output": { + "DBSnapshotAttributesResult": { + "DBSnapshotAttributes": [ + { + "AttributeName": "restore", + "AttributeValues": [ + "123456789012", + "210987654321" + ] + } + ], + "DBSnapshotIdentifier": "mydbsnapshot" + } }, "comments": { "input": { @@ -1172,122 +2716,101 @@ "output": { } }, - "description": "This example lists information for all reserved DB instance offerings for the specified DB instance class, duration, product, offering type, and availability zone settings.", - "id": "describe-reserved-db-instances-offerings-9de7d1fd-d6a6-4a72-84ae-b2ef58d47d8d", - "title": "To list information about reserved DB instance offerings" + "description": "The following example describes the attribute names and values for a DB snapshot.", + "id": "to-describe-the-attribute-names-and-values-for-a-db-snapshot-1680280194370", + "title": "To describe the attribute names and values for a DB snapshot" } ], - "DescribeSourceRegions": [ + "DescribeDBSnapshots": [ { "input": { + "DBSnapshotIdentifier": "mydbsnapshot" }, "output": { - "SourceRegions": [ - { - "Endpoint": "https://rds.ap-northeast-1.amazonaws.com", - "RegionName": "ap-northeast-1", - "Status": "available" - }, - { - "Endpoint": "https://rds.ap-northeast-2.amazonaws.com", - "RegionName": "ap-northeast-2", - "Status": "available" - }, + "DBSnapshots": [ { - "Endpoint": "https://rds.ap-south-1.amazonaws.com", - "RegionName": "ap-south-1", - "Status": "available" - }, - { - "Endpoint": "https://rds.ap-southeast-1.amazonaws.com", - "RegionName": "ap-southeast-1", - "Status": "available" - }, - { - "Endpoint": "https://rds.ap-southeast-2.amazonaws.com", - "RegionName": "ap-southeast-2", - "Status": "available" - }, - { - "Endpoint": "https://rds.eu-central-1.amazonaws.com", - "RegionName": "eu-central-1", - "Status": "available" - }, - { - "Endpoint": "https://rds.eu-west-1.amazonaws.com", - "RegionName": "eu-west-1", - "Status": "available" - }, - { - "Endpoint": "https://rds.sa-east-1.amazonaws.com", - "RegionName": "sa-east-1", - "Status": "available" - }, - { - "Endpoint": "https://rds.us-west-1.amazonaws.com", - "RegionName": "us-west-1", - "Status": "available" - }, - { - "Endpoint": "https://rds.us-west-2.amazonaws.com", - "RegionName": "us-west-2", - "Status": "available" + "AllocatedStorage": 20, + "AvailabilityZone": "us-east-1f", + "DBInstanceIdentifier": "mysqldb", + "DBSnapshotArn": "arn:aws:rds:us-east-1:123456789012:snapshot:mydbsnapshot", + "DBSnapshotIdentifier": "mydbsnapshot", + "DbiResourceId": "db-AKIAIOSFODNN7EXAMPLE", + "Encrypted": false, + "Engine": "mysql", + "EngineVersion": "5.6.37", + "IAMDatabaseAuthenticationEnabled": false, + "InstanceCreateTime": "2018-02-08T22:24:55.973Z", + "LicenseModel": "general-public-license", + "MasterUsername": "mysqladmin", + "OptionGroupName": "default:mysql-5-6", + "PercentProgress": 100, + "Port": 3306, + "ProcessorFeatures": [ + + ], + "SnapshotCreateTime": "2018-02-08T22:28:08.598Z", + "SnapshotType": "manual", + "Status": "available", + "StorageType": "gp2", + "VpcId": "vpc-6594f31c" } ] }, - "comments": { - }, - "description": "To list the AWS regions where a Read Replica can be created.", - "id": "to-describe-source-regions-1473457722410", - "title": "To describe source regions" - } - ], - "DownloadDBLogFilePortion": [ - { - "input": { - "DBInstanceIdentifier": "mymysqlinstance", - "LogFileName": "mysqlUpgrade" - }, - "output": { - }, "comments": { "input": { }, "output": { } }, - "description": "This example lists information for the specified log file for the specified DB instance.", - "id": "download-db-log-file-portion-54a82731-a441-4fc7-a010-8eccae6fa202", - "title": "To list information about DB log files" + "description": "The following example retrieves the details of a DB snapshot for a DB instance.", + "id": "to-describe-a-db-snapshot-for-a-db-instance-1680280423239", + "title": "To describe a DB snapshot for a DB instance" } ], - "FailoverDBCluster": [ + "DescribeDBSubnetGroups": [ { "input": { - "DBClusterIdentifier": "myaurorainstance-cluster", - "TargetDBInstanceIdentifier": "myaurorareplica" - }, - "output": { - "DBCluster": { - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example performs a failover for the specified DB cluster to the specified DB instance.", - "id": "failover-db-cluster-9e7f2f93-d98c-42c7-bb0e-d6c485c096d6", - "title": "To perform a failover for a DB cluster" - } - ], - "ListTagsForResource": [ - { - "input": { - "ResourceName": "arn:aws:rds:us-east-1:992648334831:og:mymysqloptiongroup" }, "output": { + "DBSubnetGroups": [ + { + "DBSubnetGroupArn": "arn:aws:rds:us-east-1:123456789012:subgrp:mydbsubnetgroup", + "DBSubnetGroupDescription": "My DB Subnet Group", + "DBSubnetGroupName": "mydbsubnetgroup", + "SubnetGroupStatus": "Complete", + "Subnets": [ + { + "SubnetAvailabilityZone": { + "Name": "us-east-1a" + }, + "SubnetIdentifier": "subnet-d8c8e7f4", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1f" + }, + "SubnetIdentifier": "subnet-718fdc7d", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1a" + }, + "SubnetIdentifier": "subnet-cbc8e7e7", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1a" + }, + "SubnetIdentifier": "subnet-0ccde220", + "SubnetStatus": "Active" + } + ], + "VpcId": "vpc-971c12ee" + } + ] }, "comments": { "input": { @@ -1295,77 +2818,143 @@ "output": { } }, - "description": "This example lists information about all tags associated with the specified DB option group.", - "id": "list-tags-for-resource-8401f3c2-77cd-4f90-bfd5-b523f0adcc2f", - "title": "To list information about tags associated with a resource" + "description": "The following example retrieves the details of the specified DB subnet group.", + "id": "to-describe-a-db-subnet-group-1680280764611", + "title": "To describe a DB subnet group" } ], - "ModifyDBCluster": [ + "DescribeEngineDefaultClusterParameters": [ { "input": { - "ApplyImmediately": true, - "DBClusterIdentifier": "mydbcluster", - "MasterUserPassword": "mynewpassword", - "NewDBClusterIdentifier": "mynewdbcluster", - "PreferredBackupWindow": "04:00-04:30", - "PreferredMaintenanceWindow": "Tue:05:00-Tue:05:30" + "DBParameterGroupFamily": "aurora-mysql5.7" }, "output": { - "DBCluster": { + "EngineDefaults": { + "Parameters": [ + { + "ApplyType": "dynamic", + "DataType": "string", + "Description": "IAM role ARN used to load data from AWS S3", + "IsModifiable": true, + "ParameterName": "aurora_load_from_s3_role", + "Source": "engine-default", + "SupportedEngineModes": [ + "provisioned" + ] + } + ] } }, "comments": { "input": { }, "output": { + "EngineDefaults": "Some output omitted." } }, - "description": "This example changes the specified settings for the specified DB cluster.", - "id": "modify-db-cluster-a370ee1b-768d-450a-853b-707cb1ab663d", - "title": "To change DB cluster settings" + "description": "The following example retrieves the details of the default engine and system parameter information for Aurora DB clusters with MySQL 5.7 compatibility.", + "id": "to-describe-the-default-engine-and-system-parameter-information-for-the-aurora-database-engine-1680280902332", + "title": "To describe the default engine and system parameter information for the Aurora database engine" } ], - "ModifyDBClusterParameterGroup": [ + "DescribeEngineDefaultParameters": [ { "input": { - "DBClusterParameterGroupName": "mydbclusterparametergroup", - "Parameters": [ - { - "ApplyMethod": "immediate", - "ParameterName": "time_zone", - "ParameterValue": "America/Phoenix" - } - ] + "DBParameterGroupFamily": "mysql5.7" }, "output": { + "EngineDefaults": { + "Parameters": [ + { + "AllowedValues": "0,1", + "ApplyType": "static", + "DataType": "boolean", + "Description": "Controls whether user-defined functions that have only an xxx symbol for the main function can be loaded", + "IsModifiable": false, + "ParameterName": "allow-suspicious-udfs", + "Source": "engine-default" + } + ] + } }, "comments": { "input": { }, "output": { + "EngineDefaults": "Some output omitted." } }, - "description": "This example immediately changes the specified setting for the specified DB cluster parameter group.", - "id": "modify-db-cluster-parameter-group-f9156bc9-082a-442e-8d12-239542c1a113", - "title": "To change DB cluster parameter group settings" + "description": "The following example retrieves details for the default engine and system parameter information for MySQL 5.7 DB instances.", + "id": "to-describe-the-default-engine-and-system-parameter-information-for-the-database-engine-1680281248217", + "title": "To describe the default engine and system parameter information for the database engine" } ], - "ModifyDBClusterSnapshotAttribute": [ + "DescribeEventCategories": [ { "input": { - "AttributeName": "restore", - "DBClusterSnapshotIdentifier": "manual-cluster-snapshot1", - "ValuesToAdd": [ - "123451234512", - "123456789012" + "Filters": [ + ], - "ValuesToRemove": [ - "all" - ] + "SourceType": "" }, "output": { - "DBClusterSnapshotAttributesResult": { - } + "EventCategoriesMapList": [ + { + "EventCategories": [ + "deletion", + "read replica", + "failover", + "restoration", + "maintenance", + "low storage", + "configuration change", + "backup", + "creation", + "availability", + "recovery", + "failure", + "backtrack", + "notification" + ], + "SourceType": "db-instance" + }, + { + "EventCategories": [ + "configuration change", + "failure" + ], + "SourceType": "db-security-group" + }, + { + "EventCategories": [ + "configuration change" + ], + "SourceType": "db-parameter-group" + }, + { + "EventCategories": [ + "deletion", + "creation", + "restoration", + "notification" + ], + "SourceType": "db-snapshot" + }, + { + "EventCategories": [ + "failover", + "failure", + "notification" + ], + "SourceType": "db-cluster" + }, + { + "EventCategories": [ + "backup" + ], + "SourceType": "db-cluster-snapshot" + } + ] }, "comments": { "input": { @@ -1373,75 +2962,74 @@ "output": { } }, - "description": "The following example gives two AWS accounts access to a manual DB cluster snapshot and ensures that the DB cluster snapshot is private by removing the value \"all\".", - "id": "to-add-or-remove-access-to-a-manual-db-cluster-snapshot-1473889426431", - "title": "To add or remove access to a manual DB cluster snapshot" + "description": "The following example retrieves details about the event categories for all available event sources.", + "id": "to-describe-event-categories-1680281431508", + "title": "To describe event categories" } ], - "ModifyDBInstance": [ + "DescribeEventSubscriptions": [ { "input": { - "AllocatedStorage": 10, - "ApplyImmediately": true, - "BackupRetentionPeriod": 1, - "DBInstanceClass": "db.t2.small", - "DBInstanceIdentifier": "mymysqlinstance", - "MasterUserPassword": "mynewpassword", - "PreferredBackupWindow": "04:00-04:30", - "PreferredMaintenanceWindow": "Tue:05:00-Tue:05:30" }, "output": { - "DBInstance": { - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example immediately changes the specified settings for the specified DB instance.", - "id": "modify-db-instance-6979a368-6254-467b-8a8d-61103f4fcde9", - "title": "To change DB instance settings" - } - ], - "ModifyDBParameterGroup": [ - { - "input": { - "DBParameterGroupName": "mymysqlparametergroup", - "Parameters": [ + "EventSubscriptionsList": [ { - "ApplyMethod": "immediate", - "ParameterName": "time_zone", - "ParameterValue": "America/Phoenix" + "CustSubscriptionId": "my-instance-events", + "CustomerAwsId": "123456789012", + "Enabled": true, + "EventCategoriesList": [ + "backup", + "recovery" + ], + "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", + "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events", + "SourceType": "db-instance", + "Status": "creating", + "SubscriptionCreationTime": "2018-07-31 23:22:01.893" } ] }, - "output": { - }, "comments": { "input": { }, "output": { + "EventSubscriptionsList": "Some output omitted." } }, - "description": "This example immediately changes the specified setting for the specified DB parameter group.", - "id": "modify-db-parameter-group-f3a4e52a-68e4-4b88-b559-f912d34c457a", - "title": "To change DB parameter group settings" + "description": "This example describes all of the Amazon RDS event subscriptions for the current AWS account.", + "id": "to-describe-event-subscriptions-1680281683538", + "title": "To describe event subscriptions" } ], - "ModifyDBSnapshotAttribute": [ + "DescribeEvents": [ { "input": { - "AttributeName": "restore", - "DBSnapshotIdentifier": "mydbsnapshot", - "ValuesToAdd": [ - "all" - ] + "SourceIdentifier": "test-instance", + "SourceType": "db-instance" }, "output": { - "DBSnapshotAttributesResult": { - } + "Events": [ + { + "Date": "2018-07-31T23:09:23.983Z", + "EventCategories": [ + "backup" + ], + "Message": "Backing up DB instance", + "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance", + "SourceIdentifier": "test-instance", + "SourceType": "db-instance" + }, + { + "Date": "2018-07-31T23:15:13.049Z", + "EventCategories": [ + "backup" + ], + "Message": "Finished DB Instance backup", + "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance", + "SourceIdentifier": "test-instance", + "SourceType": "db-instance" + } + ] }, "comments": { "input": { @@ -1449,23 +3037,44 @@ "output": { } }, - "description": "This example adds the specified attribute for the specified DB snapshot.", - "id": "modify-db-snapshot-attribute-2e66f120-2b21-4a7c-890b-4474da88bde6", - "title": "To change DB snapshot attributes" + "description": "The following retrieves details for the events that have occurred for the specified DB instance.", + "id": "to-describe-events-1680281559411", + "title": "To describe events" } ], - "ModifyDBSubnetGroup": [ + "DescribeExportTasks": [ { "input": { - "DBSubnetGroupName": "mydbsubnetgroup", - "SubnetIds": [ - "subnet-70e1975a", - "subnet-747a5c49" - ] }, "output": { - "DBSubnetGroup": { - } + "ExportTasks": [ + { + "ExportTaskIdentifier": "test-snapshot-export", + "IamRoleArn": "arn:aws:iam::123456789012:role/service-role/ExportRole", + "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/abcd0000-7fca-4128-82f2-aabbccddeeff", + "PercentProgress": 100, + "S3Bucket": "mybucket", + "S3Prefix": "", + "SnapshotTime": "2020-03-02T18:26:28.163Z", + "SourceArn": "arn:aws:rds:us-west-2:123456789012:snapshot:test-snapshot", + "Status": "COMPLETE", + "TaskEndTime": "2020-03-02T19:10:31.985Z", + "TaskStartTime": "2020-03-02T18:57:56.896Z", + "TotalExtractedDataInGB": 0 + }, + { + "ExportTaskIdentifier": "my-s3-export", + "IamRoleArn": "arn:aws:iam::123456789012:role/service-role/ExportRole", + "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/abcd0000-7fca-4128-82f2-aabbccddeeff", + "PercentProgress": 0, + "S3Bucket": "mybucket", + "S3Prefix": "", + "SnapshotTime": "2020-03-27T20:48:42.023Z", + "SourceArn": "arn:aws:rds:us-west-2:123456789012:snapshot:db5-snapshot-test", + "Status": "STARTING", + "TotalExtractedDataInGB": 0 + } + ] }, "comments": { "input": { @@ -1473,97 +3082,125 @@ "output": { } }, - "description": "This example changes the specified setting for the specified DB subnet group.", - "id": "modify-db-subnet-group-e34a97d9-8fe6-4239-a4ed-ad6e73a956b0", - "title": "To change DB subnet group settings" + "description": "The following example returns information about snapshot exports to Amazon S3.", + "id": "to-describe-snapshot-export-tasks-1680282299489", + "title": "To describe snapshot export tasks" } ], - "ModifyEventSubscription": [ + "DescribeGlobalClusters": [ { "input": { - "Enabled": true, - "EventCategories": [ - "deletion", - "low storage" - ], - "SourceType": "db-instance", - "SubscriptionName": "mymysqleventsubscription" }, "output": { - "EventSubscription": { - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example changes the specified setting for the specified event notification subscription.", - "id": "modify-event-subscription-405ac869-1f02-42cd-b8f4-6950a435f30e", - "title": "To change event notification subscription settings" - } - ], - "ModifyOptionGroup": [ - { - "input": { - "ApplyImmediately": true, - "OptionGroupName": "myawsuser-og02", - "OptionsToInclude": [ + "GlobalClusters": [ { - "DBSecurityGroupMemberships": [ - "default" + "DeletionProtection": false, + "Engine": "aurora-mysql", + "EngineVersion": "5.7.mysql_aurora.2.07.2", + "GlobalClusterArn": "arn:aws:rds::123456789012:global-cluster:myglobalcluster", + "GlobalClusterIdentifier": "myglobalcluster", + "GlobalClusterMembers": [ + ], - "OptionName": "MEMCACHED" + "GlobalClusterResourceId": "cluster-f5982077e3b5aabb", + "Status": "available", + "StorageEncrypted": false } ] }, - "output": { - "OptionGroup": { - } - }, "comments": { "input": { }, "output": { } }, - "description": "The following example adds an option to an option group.", - "id": "to-modify-an-option-group-1473890247875", - "title": "To modify an option group" + "description": "The following example lists Aurora global DB clusters in the current AWS Region.", + "id": "to-describe-global-db-clusters-1680282459184", + "title": "To describe global DB clusters" } ], - "PromoteReadReplica": [ + "DescribeOptionGroupOptions": [ { "input": { - "BackupRetentionPeriod": 1, - "DBInstanceIdentifier": "mydbreadreplica", - "PreferredBackupWindow": "03:30-04:00" + "EngineName": "mysql", + "MajorEngineVersion": "8.0" }, "output": { - "DBInstance": { - } + "OptionGroupOptions": [ + { + "Description": "MariaDB Audit Plugin", + "EngineName": "mysql", + "MajorEngineVersion": "8.0", + "MinimumRequiredMinorEngineVersion": "25", + "Name": "MARIADB_AUDIT_PLUGIN", + "OptionGroupOptionSettings": [ + { + "ApplyType": "DYNAMIC", + "IsModifiable": true, + "IsRequired": false, + "MinimumEngineVersionPerAllowedValue": [ + + ], + "SettingDescription": "Include specified users", + "SettingName": "SERVER_AUDIT_INCL_USERS" + }, + { + "ApplyType": "DYNAMIC", + "IsModifiable": true, + "IsRequired": false, + "MinimumEngineVersionPerAllowedValue": [ + + ], + "SettingDescription": "Exclude specified users", + "SettingName": "SERVER_AUDIT_EXCL_USERS" + } + ], + "OptionsConflictsWith": [ + + ], + "OptionsDependedOn": [ + + ], + "Permanent": false, + "Persistent": false, + "PortRequired": false, + "RequiresAutoMinorEngineVersionUpgrade": false, + "VpcOnly": false + } + ] }, "comments": { "input": { }, "output": { + "OptionGroupOptions": "Some output omitted." } }, - "description": "This example promotes the specified read replica and sets its backup retention period and preferred backup window.", - "id": "promote-read-replica-cc580039-c55d-4035-838a-def4a1ae4181", - "title": "To promote a read replica" + "description": "The following example lists the options for an RDS for MySQL version 8.0 DB instance.", + "id": "to-describe-all-available-options-1680286049492", + "title": "To describe all available options" } ], - "PurchaseReservedDBInstancesOffering": [ + "DescribeOptionGroups": [ { "input": { - "ReservedDBInstanceId": "myreservationid", - "ReservedDBInstancesOfferingId": "fb29428a-646d-4390-850e-5fe89926e727" + "EngineName": "oracle-ee", + "MajorEngineVersion": "19" }, "output": { - "ReservedDBInstance": { - } + "OptionGroupsList": [ + { + "AllowsVpcAndNonVpcInstanceMemberships": true, + "EngineName": "oracle-ee", + "MajorEngineVersion": "19", + "OptionGroupArn": "arn:aws:rds:us-west-1:111122223333:og:default:oracle-ee-19", + "OptionGroupDescription": "Default option group for oracle-ee 19", + "OptionGroupName": "default:oracle-ee-19", + "Options": [ + + ] + } + ] }, "comments": { "input": { @@ -1571,41 +3208,79 @@ "output": { } }, - "description": "This example purchases a reserved DB instance offering that matches the specified settings.", - "id": "purchase-reserved-db-instances-offfering-f423c736-8413-429b-ba13-850fd4fa4dcd", - "title": "To purchase a reserved DB instance offering" + "description": "The following example lists the options groups for an Oracle Database 19c instance.", + "id": "to-describe-the-available-option-groups-1680283066000", + "title": "To describe the available option groups" } ], - "RebootDBInstance": [ + "DescribeOrderableDBInstanceOptions": [ { "input": { - "DBInstanceIdentifier": "mymysqlinstance", - "ForceFailover": false + "Engine": "mysql" }, "output": { - "DBInstance": { - } + "OrderableDBInstanceOptions": [ + { + "AvailabilityZones": [ + { + "Name": "us-east-1a" + }, + { + "Name": "us-east-1b" + }, + { + "Name": "us-east-1c" + }, + { + "Name": "us-east-1d" + }, + { + "Name": "us-east-1e" + }, + { + "Name": "us-east-1f" + } + ], + "DBInstanceClass": "db.m4.10xlarge", + "Engine": "mysql", + "EngineVersion": "5.7.33", + "LicenseModel": "general-public-license", + "MultiAZCapable": true, + "ReadReplicaCapable": true, + "StorageType": "gp2", + "SupportsStorageEncryption": true, + "Vpc": true + } + ] }, "comments": { "input": { }, "output": { + "OrderableDBInstanceOptions": "Some output omitted." } }, - "description": "This example reboots the specified DB instance without forcing a failover.", - "id": "reboot-db-instance-b9ce8a0a-2920-451d-a1f3-01d288aa7366", - "title": "To reboot a DB instance" + "description": "The following example retrieves details about the orderable options for a DB instances running the MySQL DB engine.", + "id": "to-describe-orderable-db-instance-options-1680283253165", + "title": "To describe orderable DB instance options" } ], - "RemoveSourceIdentifierFromSubscription": [ + "DescribePendingMaintenanceActions": [ { "input": { - "SourceIdentifier": "mymysqlinstance", - "SubscriptionName": "myeventsubscription" }, "output": { - "EventSubscription": { - } + "PendingMaintenanceActions": [ + { + "PendingMaintenanceActionDetails": [ + { + "Action": "system-update", + "Description": "Upgrade to Aurora PostgreSQL 2.4.2" + } + ], + "ResourceIdentifier": "arn:aws:rds:us-west-2:123456789012:cluster:global-db1-cl1" + } + ] }, "comments": { "input": { @@ -1613,17 +3288,40 @@ "output": { } }, - "description": "This example removes the specified source identifier from the specified DB event subscription.", - "id": "remove-source-identifier-from-subscription-30d25493-c19d-4cf7-b4e5-68371d0d8770", - "title": "To remove a source identifier from a DB event subscription" + "description": "The following example lists the pending maintenace action for a DB instance.", + "id": "to-list-resources-with-at-least-one-pending-maintenance-action-1680283544475", + "title": "To list resources with at least one pending maintenance action" } ], - "RemoveTagsFromResource": [ + "DescribeReservedDBInstances": [ { "input": { - "ResourceName": "arn:aws:rds:us-east-1:992648334831:og:mydboptiongroup", - "TagKeys": [ - "MyKey" + }, + "output": { + "ReservedDBInstances": [ + { + "CurrencyCode": "USD", + "DBInstanceClass": "db.t3.micro", + "DBInstanceCount": 1, + "Duration": 31536000, + "FixedPrice": 0, + "LeaseId": "a1b2c3d4-6b69-4a59-be89-5e11aa446666", + "MultiAZ": false, + "OfferingType": "No Upfront", + "ProductDescription": "sqlserver-ex(li)", + "RecurringCharges": [ + { + "RecurringChargeAmount": 0.014, + "RecurringChargeFrequency": "Hourly" + } + ], + "ReservedDBInstanceArn": "arn:aws:rds:us-west-2:123456789012:ri:myreservedinstance", + "ReservedDBInstanceId": "myreservedinstance", + "ReservedDBInstancesOfferingId": "12ab34cd-59af-4b2c-a660-1abcdef23456", + "StartTime": "2020-06-01T13:44:21.436Z", + "State": "payment-pending", + "UsagePrice": 0 + } ] }, "comments": { @@ -1632,58 +3330,845 @@ "output": { } }, - "description": "This example removes the specified tag associated with the specified DB option group.", - "id": "remove-tags-from-resource-49f00574-38f6-4d01-ac89-d3c668449ce3", - "title": "To remove tags from a resource" + "description": "The following example retrieves details about any reserved DB instances in the current AWS account.", + "id": "to-describe-reserved-db-instances-1680283668105", + "title": "To describe reserved DB instances" } ], - "ResetDBClusterParameterGroup": [ + "DescribeReservedDBInstancesOfferings": [ { "input": { - "DBClusterParameterGroupName": "mydbclusterparametergroup", - "ResetAllParameters": true + "ProductDescription": "oracle" }, "output": { + "ReservedDBInstancesOfferings": [ + { + "CurrencyCode": "USD", + "DBInstanceClass": "db.m4.xlarge", + "Duration": 31536000, + "FixedPrice": 4089, + "MultiAZ": true, + "OfferingType": "Partial Upfront", + "ProductDescription": "oracle-se2(li)", + "RecurringCharges": [ + { + "RecurringChargeAmount": 0.594, + "RecurringChargeFrequency": "Hourly" + } + ], + "ReservedDBInstancesOfferingId": "005bdee3-9ef4-4182-aa0c-58ef7cb6c2f8", + "UsagePrice": 0 + } + ] }, "comments": { "input": { }, "output": { + "ReservedDBInstancesOfferings": "Some output omitted." } }, - "description": "This example resets all parameters for the specified DB cluster parameter group to their default values.", - "id": "reset-db-cluster-parameter-group-b04aeaf7-7f73-49e1-9bb4-857573ea3ee4", - "title": "To reset the values of a DB cluster parameter group" + "description": "The following example retrieves details about reserved DB instance options for RDS for Oracle.", + "id": "to-describe-reserved-db-instance-offerings-1680283755054", + "title": "To describe reserved DB instance offerings" } ], - "ResetDBParameterGroup": [ + "DescribeSourceRegions": [ { "input": { - "DBParameterGroupName": "mydbparametergroup", - "ResetAllParameters": true + "RegionName": "us-east-1" }, "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example resets all parameters for the specified DB parameter group to their default values.", - "id": "reset-db-parameter-group-ed2ed723-de0d-4824-8af5-3c65fa130abf", - "title": "To reset the values of a DB parameter group" - } + "SourceRegions": [ + { + "Endpoint": "https://rds.af-south-1.amazonaws.com", + "RegionName": "af-south-1", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": false + }, + { + "Endpoint": "https://rds.ap-east-1.amazonaws.com", + "RegionName": "ap-east-1", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": false + }, + { + "Endpoint": "https://rds.ap-northeast-1.amazonaws.com", + "RegionName": "ap-northeast-1", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": true + }, + { + "Endpoint": "https://rds.ap-northeast-2.amazonaws.com", + "RegionName": "ap-northeast-2", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": true + }, + { + "Endpoint": "https://rds.ap-northeast-3.amazonaws.com", + "RegionName": "ap-northeast-3", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": false + }, + { + "Endpoint": "https://rds.ap-south-1.amazonaws.com", + "RegionName": "ap-south-1", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": true + }, + { + "Endpoint": "https://rds.ap-southeast-1.amazonaws.com", + "RegionName": "ap-southeast-1", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": true + }, + { + "Endpoint": "https://rds.ap-southeast-2.amazonaws.com", + "RegionName": "ap-southeast-2", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": true + }, + { + "Endpoint": "https://rds.ap-southeast-3.amazonaws.com", + "RegionName": "ap-southeast-3", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": false + }, + { + "Endpoint": "https://rds.ca-central-1.amazonaws.com", + "RegionName": "ca-central-1", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": true + }, + { + "Endpoint": "https://rds.eu-north-1.amazonaws.com", + "RegionName": "eu-north-1", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": true + }, + { + "Endpoint": "https://rds.eu-south-1.amazonaws.com", + "RegionName": "eu-south-1", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": false + }, + { + "Endpoint": "https://rds.eu-west-1.amazonaws.com", + "RegionName": "eu-west-1", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": true + }, + { + "Endpoint": "https://rds.eu-west-2.amazonaws.com", + "RegionName": "eu-west-2", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": true + }, + { + "Endpoint": "https://rds.eu-west-3.amazonaws.com", + "RegionName": "eu-west-3", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": true + }, + { + "Endpoint": "https://rds.me-central-1.amazonaws.com", + "RegionName": "me-central-1", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": false + }, + { + "Endpoint": "https://rds.me-south-1.amazonaws.com", + "RegionName": "me-south-1", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": false + }, + { + "Endpoint": "https://rds.sa-east-1.amazonaws.com", + "RegionName": "sa-east-1", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": true + }, + { + "Endpoint": "https://rds.us-east-2.amazonaws.com", + "RegionName": "us-east-2", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": true + }, + { + "Endpoint": "https://rds.us-west-1.amazonaws.com", + "RegionName": "us-west-1", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": true + }, + { + "Endpoint": "https://rds.us-west-2.amazonaws.com", + "RegionName": "us-west-2", + "Status": "available", + "SupportsDBInstanceAutomatedBackupsReplication": true + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example retrieves details about all source AWS Regions where the current AWS Region can create a read replica, copy a DB snapshot from, or replicate automated backups from. It also shows that automated backups can be replicated only from US West (Oregon) to the destination AWS Region, US East (N. Virginia).", + "id": "to-describe-source-regions-1680283924227", + "title": "To describe source Regions" + } + ], + "DescribeValidDBInstanceModifications": [ + { + "input": { + "DBInstanceIdentifier": "database-test1" + }, + "output": { + "ValidDBInstanceModificationsMessage": { + "Storage": [ + { + "StorageSize": [ + { + "From": 20, + "Step": 1, + "To": 20 + }, + { + "From": 22, + "Step": 1, + "To": 6144 + } + ], + "StorageType": "gp2" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + "ValidDBInstanceModificationsMessage": "Some output omitted." + } + }, + "description": "The following example retrieves details about the valid modifications for the specified DB instance.", + "id": "to-describe-valid-modifications-for-a-db-instance-1680284230997", + "title": "To describe valid modifications for a DB instance" + } + ], + "DownloadDBLogFilePortion": [ + { + "input": { + "DBInstanceIdentifier": "test-instance", + "LogFileName": "log.txt" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example downloads only the latest part of your log file.", + "id": "to-download-a-db-log-file-1680284895898", + "title": "To download a DB log file" + } + ], + "FailoverDBCluster": [ + { + "input": { + "DBClusterIdentifier": "myaurorainstance-cluster", + "TargetDBInstanceIdentifier": "myaurorareplica" + }, + "output": { + "DBCluster": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example performs a failover for the specified DB cluster to the specified DB instance.", + "id": "failover-db-cluster-9e7f2f93-d98c-42c7-bb0e-d6c485c096d6", + "title": "To perform a failover for a DB cluster" + } + ], + "ListTagsForResource": [ + { + "input": { + "ResourceName": "arn:aws:rds:us-east-1:123456789012:db:orcl1" + }, + "output": { + "TagList": [ + { + "Key": "Environment", + "Value": "test" + }, + { + "Key": "Name", + "Value": "MyDatabase" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example lists all tags on a DB instance.", + "id": "to-list-tags-on-an-amazon-rds-resource-1680285113240", + "title": "To list tags on an Amazon RDS resource" + } + ], + "ModifyCertificates": [ + { + "input": { + "CertificateIdentifier": "rds-ca-2019" + }, + "output": { + "Certificate": { + "CertificateArn": "arn:aws:rds:us-east-1::cert:rds-ca-2019", + "CertificateIdentifier": "rds-ca-2019", + "CertificateType": "CA", + "CustomerOverride": true, + "CustomerOverrideValidTill": "2024-08-22T17:08:50Z", + "Thumbprint": "EXAMPLE123456789012", + "ValidFrom": "2019-09-19T18:16:53Z", + "ValidTill": "2024-08-22T17:08:50Z" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example temporarily overrides the system-default SSL/TLS certificate for new DB instances.", + "id": "to-temporarily-override-the-system-default-ssltls-certificate-for-new-db-instances-1680306491984", + "title": "To temporarily override the system-default SSL/TLS certificate for new DB instances" + } + ], + "ModifyCurrentDBClusterCapacity": [ + { + "input": { + "Capacity": 8, + "DBClusterIdentifier": "mydbcluster" + }, + "output": { + "CurrentCapacity": 1, + "DBClusterIdentifier": "mydbcluster", + "PendingCapacity": 8, + "SecondsBeforeTimeout": 300, + "TimeoutAction": "ForceApplyCapacityChange" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example scales the capacity of an Aurora Serverless DB cluster to 8.", + "id": "to-scale-the-capacity-of-an-aurora-serverless-db-cluster-1680307179599", + "title": "To scale the capacity of an Aurora Serverless DB cluster" + } + ], + "ModifyDBCluster": [ + { + "input": { + "ApplyImmediately": true, + "BackupRetentionPeriod": 14, + "DBClusterIdentifier": "cluster-2", + "MasterUserPassword": "newpassword99" + }, + "output": { + "DBCluster": { + "AllocatedStorage": 1, + "AssociatedRoles": [ + + ], + "AvailabilityZones": [ + "eu-central-1b", + "eu-central-1c", + "eu-central-1a" + ], + "BackupRetentionPeriod": 14, + "ClusterCreateTime": "2020-04-03T14:44:02.764Z", + "CopyTagsToSnapshot": true, + "CrossAccountClone": false, + "DBClusterArn": "arn:aws:rds:eu-central-1:123456789012:cluster:cluster-2", + "DBClusterIdentifier": "cluster-2", + "DBClusterMembers": [ + { + "DBClusterParameterGroupStatus": "in-sync", + "DBInstanceIdentifier": "cluster-2-instance-1", + "IsClusterWriter": true, + "PromotionTier": 1 + } + ], + "DBClusterParameterGroup": "default.aurora5.6", + "DBSubnetGroup": "default-vpc-2305ca49", + "DatabaseName": "", + "DbClusterResourceId": "cluster-AGJ7XI77XVIS6FUXHU1EXAMPLE", + "DeletionProtection": false, + "DomainMemberships": [ + + ], + "EarliestRestorableTime": "2020-06-03T02:07:29.637Z", + "Endpoint": "cluster-2.cluster-############.eu-central-1.rds.amazonaws.com", + "Engine": "aurora", + "EngineMode": "provisioned", + "EngineVersion": "5.6.10a", + "HostedZoneId": "Z1RLNU0EXAMPLE", + "HttpEndpointEnabled": false, + "IAMDatabaseAuthenticationEnabled": false, + "KmsKeyId": "arn:aws:kms:eu-central-1:123456789012:key/d1bd7c8f-5cdb-49ca-8a62-a1b2c3d4e5f6", + "LatestRestorableTime": "2020-06-04T15:11:25.748Z", + "MasterUsername": "admin", + "MultiAZ": false, + "Port": 3306, + "PreferredBackupWindow": "01:55-02:25", + "PreferredMaintenanceWindow": "thu:21:14-thu:21:44", + "ReadReplicaIdentifiers": [ + + ], + "ReaderEndpoint": "cluster-2.cluster-ro-############.eu-central-1.rds.amazonaws.com", + "Status": "available", + "StorageEncrypted": true, + "VpcSecurityGroups": [ + { + "Status": "active", + "VpcSecurityGroupId": "sg-20a5c047" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example changes the master user password for the DB cluster named cluster-2 and sets the backup retention period to 14 days. The ApplyImmediately parameter causes the changes to be made immediately, instead of waiting until the next maintenance window.", + "id": "to-modify-a-db-cluster-1680310823999", + "title": "To modify a DB cluster" + } + ], + "ModifyDBClusterEndpoint": [ + { + "input": { + "DBClusterEndpointIdentifier": "mycustomendpoint", + "StaticMembers": [ + "dbinstance1", + "dbinstance2", + "dbinstance3" + ] + }, + "output": { + "CustomEndpointType": "READER", + "DBClusterEndpointArn": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:mycustomendpoint", + "DBClusterEndpointIdentifier": "mycustomendpoint", + "DBClusterEndpointResourceIdentifier": "cluster-endpoint-ANPAJ4AE5446DAEXAMPLE", + "DBClusterIdentifier": "mydbcluster", + "Endpoint": "mycustomendpoint.cluster-custom-cnpexample.us-east-1.rds.amazonaws.com", + "EndpointType": "CUSTOM", + "ExcludedMembers": [ + + ], + "StaticMembers": [ + "dbinstance1", + "dbinstance2", + "dbinstance3" + ], + "Status": "modifying" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example modifies the specified custom DB cluster endpoint.", + "id": "to-modify-a-custom-db-cluster-endpoint-1680307652958", + "title": "To modify a custom DB cluster endpoint" + } + ], + "ModifyDBClusterParameterGroup": [ + { + "input": { + "DBClusterParameterGroupName": "mydbclusterpg", + "Parameters": [ + { + "ApplyMethod": "immediate", + "ParameterName": "server_audit_logging", + "ParameterValue": "1" + }, + { + "ApplyMethod": "immediate", + "ParameterName": "server_audit_logs_upload", + "ParameterValue": "1" + } + ] + }, + "output": { + "DBClusterParameterGroupName": "mydbclusterpg" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example modifies the values of parameters in a DB cluster parameter group.", + "id": "to-modify-parameters-in-a-db-cluster-parameter-group-1680377584537", + "title": "To modify parameters in a DB cluster parameter group" + } + ], + "ModifyDBClusterSnapshotAttribute": [ + { + "input": { + "AttributeName": "restore", + "DBClusterSnapshotIdentifier": "myclustersnapshot", + "ValuesToAdd": [ + "123456789012" + ] + }, + "output": { + "DBClusterSnapshotAttributesResult": { + "DBClusterSnapshotAttributes": [ + { + "AttributeName": "restore", + "AttributeValues": [ + "123456789012" + ] + } + ], + "DBClusterSnapshotIdentifier": "myclustersnapshot" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example makes changes to the specified DB cluster snapshot attribute.", + "id": "to-modify-a-db-cluster-snapshot-attribute-1680310358770", + "title": "To modify a DB cluster snapshot attribute" + } + ], + "ModifyDBInstance": [ + { + "input": { + "ApplyImmediately": true, + "DBInstanceIdentifier": "database-2", + "DBParameterGroupName": "test-sqlserver-se-2017", + "OptionGroupName": "test-se-2017" + }, + "output": { + "DBInstance": { + "AssociatedRoles": [ + + ], + "AutoMinorVersionUpgrade": false, + "AvailabilityZone": "us-west-2d", + "CharacterSetName": "SQL_Latin1_General_CP1_CI_AS", + "DBInstanceClass": "db.r4.large", + "DBInstanceIdentifier": "database-2", + "DBInstanceStatus": "available", + "DBParameterGroups": [ + { + "DBParameterGroupName": "test-sqlserver-se-2017", + "ParameterApplyStatus": "applying" + } + ], + "DeletionProtection": false, + "Engine": "sqlserver-se", + "EngineVersion": "14.00.3281.6.v1", + "LicenseModel": "license-included", + "MaxAllocatedStorage": 1000, + "MultiAZ": true, + "OptionGroupMemberships": [ + { + "OptionGroupName": "test-se-2017", + "Status": "pending-apply" + } + ], + "PubliclyAccessible": true, + "ReadReplicaDBInstanceIdentifiers": [ + + ], + "SecondaryAvailabilityZone": "us-west-2c", + "StorageType": "gp2" + } + }, + "comments": { + "input": { + "DBInstance": "Some output omitted." + }, + "output": { + } + }, + "description": "The following example associates an option group and a parameter group with a compatible Microsoft SQL Server DB instance. The ApplyImmediately parameter causes the option and parameter groups to be associated immediately, instead of waiting until the next maintenance window.", + "id": "to-modify-parameters-in-a-db-cluster-parameter-group-1680377584537", + "title": "To modify parameters in a DB cluster parameter group" + } + ], + "ModifyDBParameterGroup": [ + { + "input": { + "DBParameterGroupName": "test-sqlserver-se-2017", + "Parameters": [ + { + "ApplyMethod": "immediate", + "ParameterName": "clr enabled", + "ParameterValue": "1" + } + ] + }, + "output": { + "DBParameterGroupName": "test-sqlserver-se-2017" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example changes the value of the clr enabled parameter in a DB parameter group. The value of the ApplyMethod parameter causes the DB parameter group to be modified immediately, instead of waiting until the next maintenance window.", + "id": "to-modify-a-db-parameter-group-1680382937235", + "title": "To modify a DB parameter group" + } + ], + "ModifyDBSnapshot": [ + { + "input": { + "DBSnapshotIdentifier": "db5-snapshot-upg-test", + "EngineVersion": "11.7" + }, + "output": { + "DBSnapshot": { + "AllocatedStorage": 20, + "AvailabilityZone": "us-west-2a", + "DBInstanceIdentifier": "database-5", + "DBSnapshotArn": "arn:aws:rds:us-west-2:123456789012:snapshot:db5-snapshot-upg-test", + "DBSnapshotIdentifier": "db5-snapshot-upg-test", + "DbiResourceId": "db-GJMF75LM42IL6BTFRE4UZJ5YM4", + "Encrypted": false, + "Engine": "postgres", + "EngineVersion": "10.6", + "IAMDatabaseAuthenticationEnabled": false, + "InstanceCreateTime": "2020-03-27T19:59:04.735Z", + "LicenseModel": "postgresql-license", + "MasterUsername": "postgres", + "OptionGroupName": "default:postgres-11", + "PercentProgress": 100, + "Port": 5432, + "ProcessorFeatures": [ + + ], + "SnapshotCreateTime": "2020-03-27T20:49:17.092Z", + "SnapshotType": "manual", + "Status": "upgrading", + "StorageType": "gp2", + "VpcId": "vpc-2ff27557" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example upgrades a PostgeSQL 10.6 snapshot named db5-snapshot-upg-test to PostgreSQL 11.7. The new DB engine version is shown after the snapshot has finished upgrading and its status is available.", + "id": "to-modify-a-db-snapshot-1680381968028", + "title": "To modify a DB snapshot" + } + ], + "ModifyDBSnapshotAttribute": [ + { + "input": { + "AttributeName": "restore", + "DBSnapshotIdentifier": "mydbsnapshot", + "ValuesToAdd": [ + "111122223333", + "444455556666" + ] + }, + "output": { + "DBSnapshotAttributesResult": { + "DBSnapshotAttributes": [ + { + "AttributeName": "restore", + "AttributeValues": [ + "111122223333", + "444455556666" + ] + } + ], + "DBSnapshotIdentifier": "mydbsnapshot" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example grants permission to two AWS accounts, with the identifiers 111122223333 and 444455556666, to restore the DB snapshot named mydbsnapshot.", + "id": "to-allow-two-aws-accounts-to-restore-a-db-snapshot-1680389647513", + "title": "To allow two AWS accounts to restore a DB snapshot" + }, + { + "input": { + "AttributeName": "restore", + "DBSnapshotIdentifier": "mydbsnapshot", + "ValuesToRemove": [ + "444455556666" + ] + }, + "output": { + "DBSnapshotAttributesResult": { + "DBSnapshotAttributes": [ + { + "AttributeName": "restore", + "AttributeValues": [ + "111122223333" + ] + } + ], + "DBSnapshotIdentifier": "mydbsnapshot" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example removes permission from the AWS account with the identifier 444455556666 to restore the DB snapshot named mydbsnapshot.", + "id": "to-prevent-an-aws-account-from-restoring-a-db-snapshot-1680389850879", + "title": "To prevent an AWS account from restoring a DB snapshot" + } + ], + "ModifyDBSubnetGroup": [ + { + "input": { + "DBSubnetGroupDescription": "", + "DBSubnetGroupName": "mysubnetgroup", + "SubnetIds": [ + "subnet-0a1dc4e1a6f123456", + "subnet-070dd7ecb3aaaaaaa", + "subnet-00f5b198bc0abcdef", + "subnet-08e41f9e230222222" + ] + }, + "output": { + "DBSubnetGroup": { + "DBSubnetGroupArn": "arn:aws:rds:us-west-2:123456789012:subgrp:mysubnetgroup", + "DBSubnetGroupDescription": "test DB subnet group", + "DBSubnetGroupName": "mysubnetgroup", + "SubnetGroupStatus": "Complete", + "Subnets": [ + { + "SubnetAvailabilityZone": { + "Name": "us-west-2a" + }, + "SubnetIdentifier": "subnet-08e41f9e230222222", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-west-2b" + }, + "SubnetIdentifier": "subnet-070dd7ecb3aaaaaaa", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-west-2d" + }, + "SubnetIdentifier": "subnet-00f5b198bc0abcdef", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-west-2b" + }, + "SubnetIdentifier": "subnet-0a1dc4e1a6f123456", + "SubnetStatus": "Active" + } + ], + "VpcId": "vpc-0f08e7610a1b2c3d4" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example adds a subnet with the ID subnet-08e41f9e230222222 to the DB subnet group named mysubnetgroup. To keep the existing subnets in the subnet group, include their IDs as values in the --subnet-ids option. Make sure to have subnets with at least two different Availability Zones in the DB subnet group.", + "id": "to-modify-a-db-subnet-group-1680383300785", + "title": "To modify a DB subnet group" + } + ], + "ModifyEventSubscription": [ + { + "input": { + "Enabled": false, + "SubscriptionName": "my-instance-events" + }, + "output": { + "EventSubscription": { + "CustSubscriptionId": "my-instance-events", + "CustomerAwsId": "123456789012", + "Enabled": false, + "EventCategoriesList": [ + "backup", + "recovery" + ], + "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", + "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events", + "SourceType": "db-instance", + "Status": "modifying", + "SubscriptionCreationTime": "Tue Jul 31 23:22:01 UTC 2018" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example turns off the specified event subscription, so that it no longer publishes notifications to the specified Amazon Simple Notification Service topic.", + "id": "to-modify-an-event-subscription-1680383930434", + "title": "To modify an event subscription" + } ], - "RestoreDBClusterFromSnapshot": [ + "ModifyGlobalCluster": [ { "input": { - "DBClusterIdentifier": "restored-cluster1", - "Engine": "aurora", - "SnapshotIdentifier": "sample-cluster-snapshot1" + "DeletionProtection": true, + "GlobalClusterIdentifier": "myglobalcluster" }, "output": { - "DBCluster": { + "GlobalCluster": { + "DeletionProtection": true, + "Engine": "aurora-mysql", + "EngineVersion": "5.7.mysql_aurora.2.07.2", + "GlobalClusterArn": "arn:aws:rds::123456789012:global-cluster:myglobalcluster", + "GlobalClusterIdentifier": "myglobalcluster", + "GlobalClusterMembers": [ + + ], + "GlobalClusterResourceId": "cluster-f0e523bfe07aabb", + "Status": "available", + "StorageEncrypted": false } }, "comments": { @@ -1692,20 +4177,27 @@ "output": { } }, - "description": "The following example restores an Amazon Aurora DB cluster from a DB cluster snapshot.", - "id": "to-restore-an-amazon-aurora-db-cluster-from-a-db-cluster-snapshot-1473958144325", - "title": "To restore an Amazon Aurora DB cluster from a DB cluster snapshot" + "description": "The following example enables deletion protection for an Aurora MySQL-based global database cluster.", + "id": "to-modify-a-global-database-cluster-1680385137511", + "title": "To modify a global database cluster" } ], - "RestoreDBClusterToPointInTime": [ + "ModifyOptionGroup": [ { "input": { - "DBClusterIdentifier": "sample-restored-cluster1", - "RestoreToTime": "2016-09-13T18:45:00Z", - "SourceDBClusterIdentifier": "sample-cluster1" + "ApplyImmediately": true, + "OptionGroupName": "myawsuser-og02", + "OptionsToInclude": [ + { + "DBSecurityGroupMemberships": [ + "default" + ], + "OptionName": "MEMCACHED" + } + ] }, "output": { - "DBCluster": { + "OptionGroup": { } }, "comments": { @@ -1714,99 +4206,475 @@ "output": { } }, - "description": "The following example restores a DB cluster to a new DB cluster at a point in time from the source DB cluster.", - "id": "to-restore-a-db-cluster-to-a-point-in-time-1473962082214", - "title": "To restore a DB cluster to a point in time." + "description": "The following example adds an option to an option group.", + "id": "to-modify-an-option-group-1473890247875", + "title": "To modify an option group" } ], - "RestoreDBInstanceFromDBSnapshot": [ + "PromoteReadReplica": [ { "input": { - "DBInstanceIdentifier": "mysqldb-restored", - "DBSnapshotIdentifier": "rds:mysqldb-2014-04-22-08-15" + "DBInstanceIdentifier": "test-instance-repl" }, "output": { "DBInstance": { - "AllocatedStorage": 200, - "AutoMinorVersionUpgrade": true, - "AvailabilityZone": "us-west-2b", - "BackupRetentionPeriod": 7, - "CACertificateIdentifier": "rds-ca-2015", - "CopyTagsToSnapshot": false, - "DBInstanceArn": "arn:aws:rds:us-west-2:123456789012:db:mysqldb-restored", - "DBInstanceClass": "db.t2.small", - "DBInstanceIdentifier": "mysqldb-restored", - "DBInstanceStatus": "available", - "DBName": "sample", - "DBParameterGroups": [ + "DBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance-repl", + "DBInstanceStatus": "modifying", + "ReadReplicaSourceDBInstanceIdentifier": "test-instance", + "StorageType": "standard" + } + }, + "comments": { + "input": { + }, + "output": { + "DBInstance": "Some output ommitted." + } + }, + "description": "The following example promotes the specified read replica to become a standalone DB instance.", + "id": "to-promote-a-read-replica-1680263877808", + "title": "To promote a read replica" + } + ], + "PurchaseReservedDBInstancesOffering": [ + { + "input": { + "ReservedDBInstanceId": "8ba30be1-b9ec-447f-8f23-6114e3f4c7b4", + "ReservedDBInstancesOfferingId": "" + }, + "output": { + "ReservedDBInstance": { + "CurrencyCode": "USD", + "DBInstanceClass": "db.t2.micro", + "DBInstanceCount": 1, + "Duration": 31536000, + "FixedPrice": 51, + "MultiAZ": false, + "OfferingType": "Partial Upfront", + "ProductDescription": "mysql", + "RecurringCharges": [ { - "DBParameterGroupName": "default.mysql5.6", - "ParameterApplyStatus": "in-sync" + "RecurringChargeAmount": 0.006, + "RecurringChargeFrequency": "Hourly" } ], - "DBSecurityGroups": [ + "ReservedDBInstanceArn": "arn:aws:rds:us-west-2:123456789012:ri:ri-2020-06-29-16-54-57-670", + "ReservedDBInstanceId": "ri-2020-06-29-16-54-57-670", + "ReservedDBInstancesOfferingId": "8ba30be1-b9ec-447f-8f23-6114e3f4c7b4", + "StartTime": "2020-06-29T16:54:57.670Z", + "State": "payment-pending", + "UsagePrice": 0 + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to buy the reserved DB instance offering from the previous example.", + "id": "to-purchase-a-reserved-db-instance-1680263732858", + "title": "To purchase a reserved DB instance" + } + ], + "RebootDBInstance": [ + { + "input": { + "DBInstanceIdentifier": "test-mysql-instance" + }, + "output": { + "DBInstance": { + "DBInstanceClass": "db.t3.micro", + "DBInstanceIdentifier": "test-mysql-instance", + "DBInstanceStatus": "rebooting", + "Endpoint": { + "Address": "test-mysql-instance.############.us-west-2.rds.amazonaws.com", + "HostedZoneId": "Z1PVIF0EXAMPLE", + "Port": 3306 + }, + "Engine": "mysql", + "MasterUsername": "admin" + } + }, + "comments": { + "input": { + }, + "output": { + "DBInstance": "Some output ommitted." + } + }, + "description": "The following example starts a reboot of the specified DB instance.", + "id": "to-reboot-a-db-instance-1680072870190", + "title": "To reboot a DB instance" + } + ], + "RemoveFromGlobalCluster": [ + { + "input": { + "DbClusterIdentifier": "arn:aws:rds:us-west-2:123456789012:cluster:DB-1", + "GlobalClusterIdentifier": "myglobalcluster" + }, + "output": { + "GlobalCluster": { + "DeletionProtection": false, + "Engine": "aurora-postgresql", + "EngineVersion": "10.11", + "GlobalClusterArn": "arn:aws:rds::123456789012:global-cluster:myglobalcluster", + "GlobalClusterIdentifier": "myglobalcluster", + "GlobalClusterMembers": [ + { + "DBClusterArn": "arn:aws:rds:us-east-1:123456789012:cluster:js-global-cluster", + "IsWriter": true, + "Readers": [ + "arn:aws:rds:us-west-2:123456789012:cluster:DB-1" + ] + }, + { + "DBClusterArn": "arn:aws:rds:us-west-2:123456789012:cluster:DB-1", + "GlobalWriteForwardingStatus": "disabled", + "IsWriter": false, + "Readers": [ + ] + } ], - "DBSubnetGroup": { - "DBSubnetGroupDescription": "default", - "DBSubnetGroupName": "default", - "SubnetGroupStatus": "Complete", - "Subnets": [ - { - "SubnetAvailabilityZone": { - "Name": "us-west-2a" - }, - "SubnetIdentifier": "subnet-77e8db03", - "SubnetStatus": "Active" - }, - { - "SubnetAvailabilityZone": { - "Name": "us-west-2b" - }, - "SubnetIdentifier": "subnet-c39989a1", - "SubnetStatus": "Active" - }, - { - "SubnetAvailabilityZone": { - "Name": "us-west-2c" - }, - "SubnetIdentifier": "subnet-4b267b0d", - "SubnetStatus": "Active" - } - ], - "VpcId": "vpc-c1c5b3a3" - }, - "DbInstancePort": 0, - "DbiResourceId": "db-VNZUCCBTEDC4WR7THXNJO72HVQ", + "GlobalClusterResourceId": "cluster-abc123def456gh", + "Status": "available", + "StorageEncrypted": true + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example detaches an Aurora secondary cluster from an Aurora global database cluster. The cluster changes from being read-only to a standalone cluster with read-write capability.", + "id": "to-detach-an-aurora-secondary-cluster-from-an-aurora-global-database-cluster-1680072605847", + "title": "To detach an Aurora secondary cluster from an Aurora global database cluster" + } + ], + "RemoveRoleFromDBCluster": [ + { + "input": { + "DBClusterIdentifier": "mydbcluster", + "RoleArn": "arn:aws:iam::123456789012:role/RDSLoadFromS3" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example removes a role from a DB cluster.", + "id": "to-disassociate-an-identity-and-access-management-iam-role-from-a-db-cluster-1680072359521", + "title": "To disassociate an Identity and Access Management (IAM) role from a DB cluster" + } + ], + "RemoveSourceIdentifierFromSubscription": [ + { + "input": { + "SourceIdentifier": "test-instance-repl", + "SubscriptionName": "my-instance-events" + }, + "output": { + "EventSubscription": { + "CustSubscriptionId": "my-instance-events", + "CustomerAwsId": "123456789012", + "Enabled": false, + "EventCategoriesList": [ + "backup", + "recovery" + ], + "EventSubscriptionArn": "arn:aws:rds:us-east-1:123456789012:es:my-instance-events", + "SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:interesting-events", + "SourceIdsList": [ + "test-instance" + ], + "SourceType": "db-instance", + "Status": "modifying", + "SubscriptionCreationTime": "Tue Jul 31 23:22:01 UTC 2018" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example removes the specified source identifier from an existing subscription.", + "id": "to-remove-a-source-identifier-from-a-subscription-1680072062459", + "title": "To remove a source identifier from a subscription" + } + ], + "RemoveTagsFromResource": [ + { + "input": { + "ResourceName": "arn:aws:rds:us-east-1:123456789012:db:mydbinstance", + "TagKeys": [ + "Name", + "Environment" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example removes tags from a resource.", + "id": "to-remove-tags-from-a-resource-1680070522922", + "title": "To remove tags from a resource" + } + ], + "ResetDBClusterParameterGroup": [ + { + "input": { + "DBClusterParameterGroupName": "mydbclpg", + "ResetAllParameters": true + }, + "output": { + "DBClusterParameterGroupName": "mydbclpg" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example resets all parameter values in a customer-created DB cluster parameter group to their default values.", + "id": "to-reset-all-parameters-to-their-default-values-1680070254216", + "title": "To reset all parameters to their default values" + } + ], + "ResetDBParameterGroup": [ + { + "input": { + "DBParameterGroupName": "mypg", + "ResetAllParameters": true + }, + "output": { + "DBParameterGroupName": "mypg" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example resets all parameter values in a customer-created DB parameter group to their default values.", + "id": "to-reset-all-parameters-to-their-default-values-1680069721142", + "title": "To reset all parameters to their default values" + } + ], + "RestoreDBClusterFromS3": [ + { + "input": { + "DBClusterIdentifier": "cluster-s3-restore", + "Engine": "aurora-mysql", + "MasterUserPassword": "mypassword", + "MasterUsername": "admin", + "S3BucketName": "mybucket", + "S3IngestionRoleArn": "arn:aws:iam::123456789012:role/service-role/TestBackup", + "S3Prefix": "test-backup", + "SourceEngine": "mysql", + "SourceEngineVersion": "5.7.28" + }, + "output": { + "DBCluster": { + "AllocatedStorage": 1, + "AssociatedRoles": [ + + ], + "AvailabilityZones": [ + "us-west-2c", + "us-west-2a", + "us-west-2b" + ], + "BackupRetentionPeriod": 1, + "ClusterCreateTime": "2020-07-27T14:22:08.095Z", + "CopyTagsToSnapshot": false, + "CrossAccountClone": false, + "DBClusterArn": "arn:aws:rds:us-west-2:123456789012:cluster:cluster-s3-restore", + "DBClusterIdentifier": "cluster-s3-restore", + "DBClusterMembers": [ + + ], + "DBClusterParameterGroup": "default.aurora-mysql5.7", + "DBSubnetGroup": "default", + "DbClusterResourceId": "cluster-SU5THYQQHOWCXZZDGXREXAMPLE", + "DeletionProtection": false, "DomainMemberships": [ ], - "Engine": "mysql", - "EngineVersion": "5.6.27", - "LicenseModel": "general-public-license", - "MasterUsername": "mymasteruser", - "MonitoringInterval": 0, + "Endpoint": "cluster-s3-restore.cluster-co3xyzabc123.us-west-2.rds.amazonaws.com", + "Engine": "aurora-mysql", + "EngineMode": "provisioned", + "EngineVersion": "5.7.12", + "HostedZoneId": "Z1PVIF0EXAMPLE", + "HttpEndpointEnabled": false, + "IAMDatabaseAuthenticationEnabled": false, + "MasterUsername": "admin", + "MultiAZ": false, + "Port": 3306, + "PreferredBackupWindow": "11:15-11:45", + "PreferredMaintenanceWindow": "thu:12:19-thu:12:49", + "ReadReplicaIdentifiers": [ + + ], + "ReaderEndpoint": "cluster-s3-restore.cluster-ro-co3xyzabc123.us-west-2.rds.amazonaws.com", + "Status": "creating", + "StorageEncrypted": false, + "VpcSecurityGroups": [ + { + "Status": "active", + "VpcSecurityGroupId": "sg-########" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example restores an Amazon Aurora MySQL version 5.7-compatible DB cluster from a MySQL 5.7 DB backup file in Amazon S3.", + "id": "to-restore-an-amazon-aurora-db-cluster-from-amazon-s3-1680069516445", + "title": "To restore an Amazon Aurora DB cluster from Amazon S3" + } + ], + "RestoreDBClusterFromSnapshot": [ + { + "input": { + "DBClusterIdentifier": "newdbcluster", + "Engine": "aurora-postgresql", + "EngineVersion": "10.7", + "SnapshotIdentifier": "test-instance-snapshot" + }, + "output": { + "DBCluster": { + "AllocatedStorage": 1, + "AssociatedRoles": [ + + ], + "AvailabilityZones": [ + "us-west-2c", + "us-west-2a", + "us-west-2b" + ], + "BackupRetentionPeriod": 7, + "ClusterCreateTime": "2020-06-05T15:06:58.634Z", + "CopyTagsToSnapshot": false, + "CrossAccountClone": false, + "DBClusterArn": "arn:aws:rds:us-west-2:123456789012:cluster:newdbcluster", + "DBClusterIdentifier": "newdbcluster", + "DBClusterMembers": [ + + ], + "DBClusterParameterGroup": "default.aurora-postgresql10", + "DBSubnetGroup": "default", + "DatabaseName": "", + "DbClusterResourceId": "cluster-5DSB5IFQDDUVAWOUWM1EXAMPLE", + "DeletionProtection": false, + "DomainMemberships": [ + + ], + "Endpoint": "newdbcluster.cluster-############.us-west-2.rds.amazonaws.com", + "Engine": "aurora-postgresql", + "EngineMode": "provisioned", + "EngineVersion": "10.7", + "HostedZoneId": "Z1PVIF0EXAMPLE", + "HttpEndpointEnabled": false, + "IAMDatabaseAuthenticationEnabled": false, + "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/287364e4-33e3-4755-a3b0-a1b2c3d4e5f6", + "MasterUsername": "postgres", "MultiAZ": false, - "OptionGroupMemberships": [ + "Port": 5432, + "PreferredBackupWindow": "09:33-10:03", + "PreferredMaintenanceWindow": "sun:12:22-sun:12:52", + "ReadReplicaIdentifiers": [ + + ], + "ReaderEndpoint": "newdbcluster.cluster-ro-############.us-west-2.rds.amazonaws.com", + "Status": "creating", + "StorageEncrypted": true, + "VpcSecurityGroups": [ { - "OptionGroupName": "default:mysql-5-6", - "Status": "in-sync" + "Status": "active", + "VpcSecurityGroupId": "sg-########" } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example restores an Aurora PostgreSQL DB cluster compatible with PostgreSQL version 10.7 from a DB cluster snapshot named test-instance-snapshot.", + "id": "to-restore-a-db-cluster-from-a-snapshot-1680069287853", + "title": "To restore a DB cluster from a snapshot" + } + ], + "RestoreDBClusterToPointInTime": [ + { + "input": { + "DBClusterIdentifier": "sample-cluster-clone", + "RestoreType": "copy-on-write", + "SourceDBClusterIdentifier": "database-4", + "UseLatestRestorableTime": true + }, + "output": { + "DBCluster": { + "AllocatedStorage": 1, + "AssociatedRoles": [ + ], - "PendingModifiedValues": { - }, - "PreferredBackupWindow": "12:58-13:28", - "PreferredMaintenanceWindow": "tue:10:16-tue:10:46", - "PubliclyAccessible": true, - "ReadReplicaDBInstanceIdentifiers": [ + "AvailabilityZones": [ + "us-west-2c", + "us-west-2a", + "us-west-2b" + ], + "BackupRetentionPeriod": 7, + "CloneGroupId": "8d19331a-099a-45a4-b4aa-11aa22bb33cc44dd", + "ClusterCreateTime": "2020-03-10T19:57:38.967Z", + "CopyTagsToSnapshot": false, + "CrossAccountClone": false, + "DBClusterArn": "arn:aws:rds:us-west-2:123456789012:cluster:sample-cluster-clone", + "DBClusterIdentifier": "sample-cluster-clone", + "DBClusterMembers": [ ], - "StorageEncrypted": false, - "StorageType": "gp2", + "DBClusterParameterGroup": "default.aurora-postgresql10", + "DBSubnetGroup": "default", + "DatabaseName": "", + "DbClusterResourceId": "cluster-BIZ77GDSA2XBSTNPFW1EXAMPLE", + "DeletionProtection": false, + "Endpoint": "sample-cluster-clone.cluster-############.us-west-2.rds.amazonaws.com", + "Engine": "aurora-postgresql", + "EngineMode": "provisioned", + "EngineVersion": "10.7", + "HostedZoneId": "Z1PVIF0EXAMPLE", + "HttpEndpointEnabled": false, + "IAMDatabaseAuthenticationEnabled": false, + "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/287364e4-33e3-4755-a3b0-a1b2c3d4e5f6", + "MasterUsername": "postgres", + "MultiAZ": false, + "Port": 5432, + "PreferredBackupWindow": "09:33-10:03", + "PreferredMaintenanceWindow": "sun:12:22-sun:12:52", + "ReadReplicaIdentifiers": [ + + ], + "ReaderEndpoint": "sample-cluster-clone.cluster-ro-############.us-west-2.rds.amazonaws.com", + "Status": "creating", + "StorageEncrypted": true, "VpcSecurityGroups": [ { "Status": "active", - "VpcSecurityGroupId": "sg-e5e5b0d2" + "VpcSecurityGroupId": "sg-########" } ] } @@ -1817,17 +4685,61 @@ "output": { } }, - "description": "The following example restores a DB instance from a DB snapshot.", - "id": "to-restore-a-db-instance-from-a-db-snapshot-1473961657311", - "title": "To restore a DB instance from a DB snapshot." + "description": "The following example restores the DB cluster named database-4 to the latest possible time. Using copy-on-write as the restore type restores the new DB cluster as a clone of the source DB cluster.", + "id": "to-restore-a-db-cluster-to-a-specified-time-1680069105508", + "title": "To restore a DB cluster to a specified time" + } + ], + "RestoreDBInstanceFromDBSnapshot": [ + { + "input": { + "DBInstanceClass": "db.t3.small", + "DBInstanceIdentifier": "db7-new-instance", + "DBSnapshotIdentifier": "db7-test-snapshot" + }, + "output": { + "DBInstance": { + "AssociatedRoles": [ + + ], + "AutoMinorVersionUpgrade": true, + "DBInstanceArn": "arn:aws:rds:us-west-2:123456789012:db:db7-new-instance", + "DBInstanceClass": "db.t3.small", + "DBInstanceIdentifier": "db7-new-instance", + "DBInstanceStatus": "creating", + "DeletionProtection": false, + "Engine": "mysql", + "EngineVersion": "5.7.22", + "IAMDatabaseAuthenticationEnabled": false, + "LicenseModel": "general-public-license", + "MultiAZ": false, + "PendingModifiedValues": { + }, + "PerformanceInsightsEnabled": false, + "PreferredMaintenanceWindow": "mon:07:37-mon:08:07", + "ReadReplicaDBInstanceIdentifiers": [ + + ] + } + }, + "comments": { + "input": { + }, + "output": { + "DBInstance": "Some output ommitted." + } + }, + "description": "The following example creates a new DB instance named db7-new-instance with the db.t3.small DB instance class from the specified DB snapshot. The source DB instance from which the snapshot was taken uses a deprecated DB instance class, so you can't upgrade it.", + "id": "to-restore-a-db-instance-from-a-db-snapshot-1680093236214", + "title": "To restore a DB instance from a DB snapshot" } ], "RestoreDBInstanceToPointInTime": [ { "input": { - "RestoreTime": "2016-09-13T18:45:00Z", - "SourceDBInstanceIdentifier": "mysql-sample", - "TargetDBInstanceIdentifier": "mysql-sample-restored" + "RestoreTime": "2018-07-30T23:45:00.000Z", + "SourceDBInstanceIdentifier": "test-instance", + "TargetDBInstanceIdentifier": "restored-test-instance" }, "output": { "DBInstance": { @@ -1837,9 +4749,9 @@ "BackupRetentionPeriod": 7, "CACertificateIdentifier": "rds-ca-2015", "CopyTagsToSnapshot": false, - "DBInstanceArn": "arn:aws:rds:us-west-2:123456789012:db:mysql-sample-restored", + "DBInstanceArn": "arn:aws:rds:us-west-2:123456789012:db:restored-test-instance", "DBInstanceClass": "db.t2.small", - "DBInstanceIdentifier": "mysql-sample-restored", + "DBInstanceIdentifier": "restored-test-instance", "DBInstanceStatus": "available", "DBName": "sample", "DBParameterGroups": [ @@ -1921,9 +4833,9 @@ "output": { } }, - "description": "The following example restores a DB instance to a new DB instance at a point in time from the source DB instance.", - "id": "to-restore-a-db-instance-to-a-point-in-time-1473962652154", - "title": "To restore a DB instance to a point in time." + "description": "The following example restores test-instance to a new DB instance named restored-test-instance, as of the specified time.", + "id": "to-restore-a-db-instance-to-a-point-in-time-1680036021951", + "title": "To restore a DB instance to a point in time" } ], "RevokeDBSecurityGroupIngress": [ @@ -1946,6 +4858,414 @@ "id": "revoke-db-security-group-ingress-ce5b2c1c-bd4e-4809-b04a-6d78ec448813", "title": "To revoke ingress for a DB security group" } + ], + "StartActivityStream": [ + { + "input": { + "ApplyImmediately": true, + "KmsKeyId": "arn:aws:kms:us-east-1:1234567890123:key/a12c345d-6ef7-890g-h123-456i789jk0l1", + "Mode": "async", + "ResourceArn": "arn:aws:rds:us-east-1:1234567890123:cluster:my-pg-cluster" + }, + "output": { + "ApplyImmediately": true, + "KinesisStreamName": "aws-rds-das-cluster-0ABCDEFGHI1JKLM2NOPQ3R4S", + "KmsKeyId": "arn:aws:kms:us-east-1:1234567890123:key/a12c345d-6ef7-890g-h123-456i789jk0l1", + "Mode": "async", + "Status": "starting" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example starts an asynchronous activity stream to monitor an Aurora cluster named my-pg-cluster.", + "id": "to-start-a-database-activity-stream-1680035656463", + "title": "To start a database activity stream" + } + ], + "StartDBCluster": [ + { + "input": { + "DBClusterIdentifier": "mydbcluster" + }, + "output": { + "DBCluster": { + "AllocatedStorage": 1, + "AvailabilityZones": [ + "us-east-1a", + "us-east-1e", + "us-east-1b" + ], + "BackupRetentionPeriod": 1, + "DBClusterIdentifier": "mydbcluster", + "DatabaseName": "mydb" + } + }, + "comments": { + "input": { + }, + "output": { + "DBCluster": "Some output ommitted." + } + }, + "description": "The following example starts a DB cluster and its DB instances.", + "id": "to-start-a-db-cluster-1680035521632", + "title": "To start a DB cluster" + } + ], + "StartDBInstance": [ + { + "input": { + "DBInstanceIdentifier": "test-instance" + }, + "output": { + "DBInstance": { + "DBInstanceStatus": "starting" + } + }, + "comments": { + "input": { + }, + "output": { + "DBInstance": "Some output ommitted." + } + }, + "description": "The following example starts the specified DB instance.", + "id": "to-start-a-db-instance-1679951967681", + "title": "To start a DB instance" + } + ], + "StartDBInstanceAutomatedBackupsReplication": [ + { + "input": { + "BackupRetentionPeriod": 14, + "SourceDBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:new-orcl-db" + }, + "output": { + "DBInstanceAutomatedBackup": { + "AllocatedStorage": 20, + "BackupRetentionPeriod": 14, + "DBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:new-orcl-db", + "DBInstanceAutomatedBackupsArn": "arn:aws:rds:us-west-2:123456789012:auto-backup:ab-jkib2gfq5rv7replzadausbrktni2bn4example", + "DBInstanceIdentifier": "new-orcl-db", + "DbiResourceId": "db-JKIB2GFQ5RV7REPLZA4EXAMPLE", + "Encrypted": false, + "Engine": "oracle-se2", + "EngineVersion": "12.1.0.2.v21", + "IAMDatabaseAuthenticationEnabled": false, + "InstanceCreateTime": "2020-12-04T15:28:31Z", + "LicenseModel": "bring-your-own-license", + "MasterUsername": "admin", + "OptionGroupName": "default:oracle-se2-12-1", + "Port": 1521, + "Region": "us-east-1", + "RestoreWindow": { + }, + "Status": "pending", + "StorageType": "gp2" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example replicates automated backups from a DB instance in the US East (N. Virginia) Region. The backup retention period is 14 days.", + "id": "to-enable-cross-region-automated-backups-1680033438352", + "title": "To enable cross-Region automated backups" + } + ], + "StartExportTask": [ + { + "input": { + "ExportTaskIdentifier": "my-s3-export", + "IamRoleArn": "arn:aws:iam::123456789012:role/service-role/ExportRole", + "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/abcd0000-7fca-4128-82f2-aabbccddeeff", + "S3BucketName": "mybucket", + "SourceArn": "arn:aws:rds:us-west-2:123456789012:snapshot:db5-snapshot-test" + }, + "output": { + "ExportTaskIdentifier": "my-s3-export", + "IamRoleArn": "arn:aws:iam::123456789012:role/service-role/ExportRole", + "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/abcd0000-7fca-4128-82f2-aabbccddeeff", + "PercentProgress": 0, + "S3Bucket": "mybucket", + "SnapshotTime": "2020-03-27T20:48:42.023Z", + "SourceArn": "arn:aws:rds:us-west-2:123456789012:snapshot:db5-snapshot-test", + "Status": "STARTING", + "TotalExtractedDataInGB": 0 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example exports a DB snapshot named db5-snapshot-test to the Amazon S3 bucket named mybucket.", + "id": "to-export-a-snapshot-to-amazon-s3-1679950669718", + "title": "To export a snapshot to Amazon S3" + } + ], + "StopActivityStream": [ + { + "input": { + "ApplyImmediately": true, + "ResourceArn": "arn:aws:rds:us-east-1:1234567890123:cluster:my-pg-cluster" + }, + "output": { + "KinesisStreamName": "aws-rds-das-cluster-0ABCDEFGHI1JKLM2NOPQ3R4S", + "KmsKeyId": "arn:aws:kms:us-east-1:1234567890123:key/a12c345d-6ef7-890g-h123-456i789jk0l1", + "Status": "stopping" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example stops an activity stream in an Aurora cluster named my-pg-cluster.", + "id": "to-stop-a-database-activity-stream-1679945843823", + "title": "To stop a database activity stream" + } + ], + "StopDBCluster": [ + { + "input": { + "DBClusterIdentifier": "mydbcluster" + }, + "output": { + "DBCluster": { + "AllocatedStorage": 1, + "AvailabilityZones": [ + "us-east-1a", + "us-east-1e", + "us-east-1b" + ], + "BackupRetentionPeriod": 1, + "DBClusterIdentifier": "mydbcluster", + "DatabaseName": "mydb" + } + }, + "comments": { + "input": { + }, + "output": { + "DBCluster": "Some output ommitted." + } + }, + "description": "The following example stops a DB cluster and its DB instances.", + "id": "to-stop-a-db-cluster-1679701988603", + "title": "To stop a DB cluster" + } + ], + "StopDBInstance": [ + { + "input": { + "DBInstanceIdentifier": "test-instance" + }, + "output": { + "DBInstance": { + "DBInstanceStatus": "stopping" + } + }, + "comments": { + "input": { + }, + "output": { + "DBInstance": "Some output ommitted." + } + }, + "description": "The following example stops the specified DB instance.", + "id": "to-stop-a-db-instance-1679701630959", + "title": "To stop a DB instance" + } + ], + "StopDBInstanceAutomatedBackupsReplication": [ + { + "input": { + "SourceDBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:new-orcl-db" + }, + "output": { + "DBInstanceAutomatedBackup": { + "AllocatedStorage": 20, + "BackupRetentionPeriod": 7, + "DBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:new-orcl-db", + "DBInstanceAutomatedBackupsArn": "arn:aws:rds:us-west-2:123456789012:auto-backup:ab-jkib2gfq5rv7replzadausbrktni2bn4example", + "DBInstanceIdentifier": "new-orcl-db", + "DbiResourceId": "db-JKIB2GFQ5RV7REPLZA4EXAMPLE", + "Encrypted": false, + "Engine": "oracle-se2", + "EngineVersion": "12.1.0.2.v21", + "IAMDatabaseAuthenticationEnabled": false, + "InstanceCreateTime": "2020-12-04T15:28:31Z", + "LicenseModel": "bring-your-own-license", + "MasterUsername": "admin", + "OptionGroupName": "default:oracle-se2-12-1", + "Port": 1521, + "Region": "us-east-1", + "RestoreWindow": { + "EarliestTime": "2020-12-04T23:13:21.030Z", + "LatestTime": "2020-12-07T19:59:57Z" + }, + "Status": "replicating", + "StorageType": "gp2" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example ends replication of automated backups. Replicated backups are retained according to the set backup retention period.", + "id": "to-stop-replicating-automated-backups-1679701787115", + "title": "To stop replicating automated backups" + } + ], + "SwitchoverBlueGreenDeployment": [ + { + "input": { + "BlueGreenDeploymentIdentifier": "bgd-wi89nwzglccsfake", + "SwitchoverTimeout": 300 + }, + "output": { + "BlueGreenDeployment": { + "BlueGreenDeploymentIdentifier": "bgd-v53303651eexfake", + "BlueGreenDeploymentName": "bgd-cli-test-instance", + "CreateTime": "2022-02-25T22:33:22.225000+00:00", + "Source": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance", + "Status": "SWITCHOVER_IN_PROGRESS", + "SwitchoverDetails": [ + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-green-blhi1e" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-1", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-1-green-k5fv7u" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-2", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-2-green-ggsh8m" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-3", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-3-green-o2vwm0" + } + ], + "Target": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance-green-blhi1e", + "Tasks": [ + { + "Name": "CREATING_READ_REPLICA_OF_SOURCE", + "Status": "COMPLETED" + }, + { + "Name": "DB_ENGINE_VERSION_UPGRADE", + "Status": "COMPLETED" + }, + { + "Name": "CONFIGURE_BACKUPS", + "Status": "COMPLETED" + }, + { + "Name": "CREATING_TOPOLOGY_OF_SOURCE", + "Status": "COMPLETED" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example promotes the specified green environment as the new production environment.", + "id": "to-switch-a-bluegreen-deployment-for-an-rds-db-instance-1679699425237", + "title": "To switch a blue/green deployment for an RDS DB instance" + }, + { + "input": { + "BlueGreenDeploymentIdentifier": "bgd-wi89nwzglccsfake", + "SwitchoverTimeout": 300 + }, + "output": { + "BlueGreenDeployment": { + "BlueGreenDeploymentIdentifier": "bgd-wi89nwzglccsfake", + "BlueGreenDeploymentName": "my-blue-green-deployment", + "CreateTime": "2022-02-25T22:38:49.522000+00:00", + "Source": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster", + "Status": "SWITCHOVER_IN_PROGRESS", + "SwitchoverDetails": [ + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster-green-3ud8z6" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-1", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-1-green-bvxc73" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-2", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-2-green-7wc4ie" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-3", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-3-green-p4xxkz" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-excluded-member-endpoint", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-excluded-member-endpoint-green-np1ikl" + }, + { + "SourceMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-reader-endpoint", + "Status": "AVAILABLE", + "TargetMember": "arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-reader-endpoint-green-miszlf" + } + ], + "Target": "arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster-green-3ud8z6", + "Tasks": [ + { + "Name": "CREATING_READ_REPLICA_OF_SOURCE", + "Status": "COMPLETED" + }, + { + "Name": "DB_ENGINE_VERSION_UPGRADE", + "Status": "COMPLETED" + }, + { + "Name": "CREATE_DB_INSTANCES_FOR_CLUSTER", + "Status": "COMPLETED" + }, + { + "Name": "CREATE_CUSTOM_ENDPOINTS", + "Status": "COMPLETED" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example promotes the specified green environment as the new production environment.", + "id": "to-promote-a-bluegreen-deployment-for-an-aurora-mysql-db-cluster-1679700197409", + "title": "To promote a blue/green deployment for an Aurora MySQL DB cluster" + } ] } } diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 49f53b8f556..ede35911aeb 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -1069,6 +1069,7 @@ "ap-northeast-2" : { }, "ap-northeast-3" : { }, "ap-south-1" : { }, + "ap-south-2" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ap-southeast-3" : { }, @@ -7124,8 +7125,10 @@ "ap-southeast-3" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-central-2" : { }, "eu-north-1" : { }, "eu-south-1" : { }, + "eu-south-2" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -8671,13 +8674,16 @@ "ap-northeast-2" : { }, "ap-northeast-3" : { }, "ap-south-1" : { }, + "ap-south-2" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ap-southeast-3" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-central-2" : { }, "eu-north-1" : { }, "eu-south-1" : { }, + "eu-south-2" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -11325,6 +11331,7 @@ "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, + "ap-northeast-3" : { }, "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, diff --git a/service/cloudformation/waiters.go b/service/cloudformation/waiters.go index 183720d485a..28977d0a137 100644 --- a/service/cloudformation/waiters.go +++ b/service/cloudformation/waiters.go @@ -203,6 +203,11 @@ func (c *CloudFormation) WaitUntilStackDeleteCompleteWithContext(ctx aws.Context Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", Expected: "UPDATE_ROLLBACK_COMPLETE", }, + { + State: request.FailureWaiterState, + Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", + Expected: "UPDATE_COMPLETE", + }, }, Logger: c.Config.Logger, NewRequest: func(opts []request.Option) (*request.Request, error) { diff --git a/service/greengrassv2/api.go b/service/greengrassv2/api.go index 11182f386db..c73d0a53855 100644 --- a/service/greengrassv2/api.go +++ b/service/greengrassv2/api.go @@ -6001,6 +6001,24 @@ type EffectiveDeployment struct { // The status of the deployment job on the Greengrass core device. // + // * IN_PROGRESS – The deployment job is running. + // + // * QUEUED – The deployment job is in the job queue and waiting to run. + // + // * FAILED – The deployment failed. For more information, see the statusDetails + // field. + // + // * COMPLETED – The deployment to an IoT thing was completed successfully. + // + // * TIMED_OUT – The deployment didn't complete in the allotted time. + // + // * CANCELED – The deployment was canceled by the user. + // + // * REJECTED – The deployment was rejected. For more information, see + // the statusDetails field. + // + // * SUCCEEDED – The deployment to an IoT thing group was completed successfully. + // // CoreDeviceExecutionStatus is a required field CoreDeviceExecutionStatus *string `locationName:"coreDeviceExecutionStatus" type:"string" required:"true" enum:"EffectiveDeploymentExecutionStatus"` @@ -6930,10 +6948,13 @@ type InstalledComponent struct { // core device. For a thing group deployment or thing deployment, the source // will be the The ID of the deployment. and for local deployments it will be // LOCAL. + // + // Any deployment will attempt to reinstall currently broken components on the + // device, which will update the last installation source. LastInstallationSource *string `locationName:"lastInstallationSource" min:"1" type:"string"` - // The last time the Greengrass core device sent a message containing a certain - // component to the Amazon Web Services Cloud. + // The last time the Greengrass core device sent a message containing a component's + // state to the Amazon Web Services Cloud. // // A component does not need to see a state change for this field to update. LastReportedTimestamp *time.Time `locationName:"lastReportedTimestamp" type:"timestamp"` @@ -10223,6 +10244,9 @@ const ( // EffectiveDeploymentExecutionStatusRejected is a EffectiveDeploymentExecutionStatus enum value EffectiveDeploymentExecutionStatusRejected = "REJECTED" + + // EffectiveDeploymentExecutionStatusSucceeded is a EffectiveDeploymentExecutionStatus enum value + EffectiveDeploymentExecutionStatusSucceeded = "SUCCEEDED" ) // EffectiveDeploymentExecutionStatus_Values returns all elements of the EffectiveDeploymentExecutionStatus enum @@ -10235,6 +10259,7 @@ func EffectiveDeploymentExecutionStatus_Values() []string { EffectiveDeploymentExecutionStatusTimedOut, EffectiveDeploymentExecutionStatusCanceled, EffectiveDeploymentExecutionStatusRejected, + EffectiveDeploymentExecutionStatusSucceeded, } } diff --git a/service/proton/api.go b/service/proton/api.go index d9baa9f013b..e5f3a2540f1 100644 --- a/service/proton/api.go +++ b/service/proton/api.go @@ -1286,6 +1286,197 @@ func (c *Proton) CreateServiceWithContext(ctx aws.Context, input *CreateServiceI return out, req.Send() } +const opCreateServiceInstance = "CreateServiceInstance" + +// CreateServiceInstanceRequest generates a "aws/request.Request" representing the +// client's request for the CreateServiceInstance 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 CreateServiceInstance for more information on using the CreateServiceInstance +// 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 CreateServiceInstanceRequest method. +// req, resp := client.CreateServiceInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateServiceInstance +func (c *Proton) CreateServiceInstanceRequest(input *CreateServiceInstanceInput) (req *request.Request, output *CreateServiceInstanceOutput) { + op := &request.Operation{ + Name: opCreateServiceInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateServiceInstanceInput{} + } + + output = &CreateServiceInstanceOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateServiceInstance API operation for AWS Proton. +// +// Create a service 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 AWS Proton's +// API operation CreateServiceInstance for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input is invalid or an out-of-range value was supplied for the input +// parameter. +// +// - AccessDeniedException +// There isn't sufficient access for performing this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ConflictException +// The request couldn't be made due to a conflicting operation or resource. +// +// - ResourceNotFoundException +// The requested resource wasn't found. +// +// - InternalServerException +// The request failed to register with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateServiceInstance +func (c *Proton) CreateServiceInstance(input *CreateServiceInstanceInput) (*CreateServiceInstanceOutput, error) { + req, out := c.CreateServiceInstanceRequest(input) + return out, req.Send() +} + +// CreateServiceInstanceWithContext is the same as CreateServiceInstance with the addition of +// the ability to pass a context and additional request options. +// +// See CreateServiceInstance 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 *Proton) CreateServiceInstanceWithContext(ctx aws.Context, input *CreateServiceInstanceInput, opts ...request.Option) (*CreateServiceInstanceOutput, error) { + req, out := c.CreateServiceInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateServiceSyncConfig = "CreateServiceSyncConfig" + +// CreateServiceSyncConfigRequest generates a "aws/request.Request" representing the +// client's request for the CreateServiceSyncConfig 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 CreateServiceSyncConfig for more information on using the CreateServiceSyncConfig +// 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 CreateServiceSyncConfigRequest method. +// req, resp := client.CreateServiceSyncConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateServiceSyncConfig +func (c *Proton) CreateServiceSyncConfigRequest(input *CreateServiceSyncConfigInput) (req *request.Request, output *CreateServiceSyncConfigOutput) { + op := &request.Operation{ + Name: opCreateServiceSyncConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateServiceSyncConfigInput{} + } + + output = &CreateServiceSyncConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateServiceSyncConfig API operation for AWS Proton. +// +// Create the Proton Ops configuration file. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Proton's +// API operation CreateServiceSyncConfig for usage and error information. +// +// Returned Error Types: +// +// - ServiceQuotaExceededException +// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) +// in the Proton User Guide. +// +// - ValidationException +// The input is invalid or an out-of-range value was supplied for the input +// parameter. +// +// - AccessDeniedException +// There isn't sufficient access for performing this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ConflictException +// The request couldn't be made due to a conflicting operation or resource. +// +// - InternalServerException +// The request failed to register with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateServiceSyncConfig +func (c *Proton) CreateServiceSyncConfig(input *CreateServiceSyncConfigInput) (*CreateServiceSyncConfigOutput, error) { + req, out := c.CreateServiceSyncConfigRequest(input) + return out, req.Send() +} + +// CreateServiceSyncConfigWithContext is the same as CreateServiceSyncConfig with the addition of +// the ability to pass a context and additional request options. +// +// See CreateServiceSyncConfig 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 *Proton) CreateServiceSyncConfigWithContext(ctx aws.Context, input *CreateServiceSyncConfigInput, opts ...request.Option) (*CreateServiceSyncConfigOutput, error) { + req, out := c.CreateServiceSyncConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateServiceTemplate = "CreateServiceTemplate" // CreateServiceTemplateRequest generates a "aws/request.Request" representing the @@ -2288,6 +2479,101 @@ func (c *Proton) DeleteServiceWithContext(ctx aws.Context, input *DeleteServiceI return out, req.Send() } +const opDeleteServiceSyncConfig = "DeleteServiceSyncConfig" + +// DeleteServiceSyncConfigRequest generates a "aws/request.Request" representing the +// client's request for the DeleteServiceSyncConfig 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 DeleteServiceSyncConfig for more information on using the DeleteServiceSyncConfig +// 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 DeleteServiceSyncConfigRequest method. +// req, resp := client.DeleteServiceSyncConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteServiceSyncConfig +func (c *Proton) DeleteServiceSyncConfigRequest(input *DeleteServiceSyncConfigInput) (req *request.Request, output *DeleteServiceSyncConfigOutput) { + op := &request.Operation{ + Name: opDeleteServiceSyncConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteServiceSyncConfigInput{} + } + + output = &DeleteServiceSyncConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteServiceSyncConfig API operation for AWS Proton. +// +// Delete the Proton Ops file. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Proton's +// API operation DeleteServiceSyncConfig for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input is invalid or an out-of-range value was supplied for the input +// parameter. +// +// - AccessDeniedException +// There isn't sufficient access for performing this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ConflictException +// The request couldn't be made due to a conflicting operation or resource. +// +// - ResourceNotFoundException +// The requested resource wasn't found. +// +// - InternalServerException +// The request failed to register with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteServiceSyncConfig +func (c *Proton) DeleteServiceSyncConfig(input *DeleteServiceSyncConfigInput) (*DeleteServiceSyncConfigOutput, error) { + req, out := c.DeleteServiceSyncConfigRequest(input) + return out, req.Send() +} + +// DeleteServiceSyncConfigWithContext is the same as DeleteServiceSyncConfig with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteServiceSyncConfig 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 *Proton) DeleteServiceSyncConfigWithContext(ctx aws.Context, input *DeleteServiceSyncConfigInput, opts ...request.Option) (*DeleteServiceSyncConfigOutput, error) { + req, out := c.DeleteServiceSyncConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteServiceTemplate = "DeleteServiceTemplate" // DeleteServiceTemplateRequest generates a "aws/request.Request" representing the @@ -3389,8 +3675,8 @@ func (c *Proton) GetResourcesSummaryRequest(input *GetResourcesSummaryInput) (re // behind a template major version, or behind a template minor version), the // total number of resources, and the number of resources that are in a failed // state, grouped by resource type. Components, environments, and service templates -// are exceptions—see the components, environments, and serviceTemplates field -// descriptions. +// return less information - see the components, environments, and serviceTemplates +// field descriptions. // // For context, the action also returns the total number of each type of Proton // template in the Amazon Web Services account. @@ -3627,57 +3913,57 @@ func (c *Proton) GetServiceInstanceWithContext(ctx aws.Context, input *GetServic return out, req.Send() } -const opGetServiceTemplate = "GetServiceTemplate" +const opGetServiceInstanceSyncStatus = "GetServiceInstanceSyncStatus" -// GetServiceTemplateRequest generates a "aws/request.Request" representing the -// client's request for the GetServiceTemplate operation. The "output" return +// GetServiceInstanceSyncStatusRequest generates a "aws/request.Request" representing the +// client's request for the GetServiceInstanceSyncStatus 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 GetServiceTemplate for more information on using the GetServiceTemplate +// See GetServiceInstanceSyncStatus for more information on using the GetServiceInstanceSyncStatus // 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 GetServiceTemplateRequest method. -// req, resp := client.GetServiceTemplateRequest(params) +// // Example sending a request using the GetServiceInstanceSyncStatusRequest method. +// req, resp := client.GetServiceInstanceSyncStatusRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceTemplate -func (c *Proton) GetServiceTemplateRequest(input *GetServiceTemplateInput) (req *request.Request, output *GetServiceTemplateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceInstanceSyncStatus +func (c *Proton) GetServiceInstanceSyncStatusRequest(input *GetServiceInstanceSyncStatusInput) (req *request.Request, output *GetServiceInstanceSyncStatusOutput) { op := &request.Operation{ - Name: opGetServiceTemplate, + Name: opGetServiceInstanceSyncStatus, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetServiceTemplateInput{} + input = &GetServiceInstanceSyncStatusInput{} } - output = &GetServiceTemplateOutput{} + output = &GetServiceInstanceSyncStatusOutput{} req = c.newRequest(op, input, output) return } -// GetServiceTemplate API operation for AWS Proton. +// GetServiceInstanceSyncStatus API operation for AWS Proton. // -// Get detailed data for a service template. +// Get the status of the synced service 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 AWS Proton's -// API operation GetServiceTemplate for usage and error information. +// API operation GetServiceInstanceSyncStatus for usage and error information. // // Returned Error Types: // @@ -3697,70 +3983,346 @@ func (c *Proton) GetServiceTemplateRequest(input *GetServiceTemplateInput) (req // - InternalServerException // The request failed to register with the service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceTemplate -func (c *Proton) GetServiceTemplate(input *GetServiceTemplateInput) (*GetServiceTemplateOutput, error) { - req, out := c.GetServiceTemplateRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceInstanceSyncStatus +func (c *Proton) GetServiceInstanceSyncStatus(input *GetServiceInstanceSyncStatusInput) (*GetServiceInstanceSyncStatusOutput, error) { + req, out := c.GetServiceInstanceSyncStatusRequest(input) return out, req.Send() } -// GetServiceTemplateWithContext is the same as GetServiceTemplate with the addition of +// GetServiceInstanceSyncStatusWithContext is the same as GetServiceInstanceSyncStatus with the addition of // the ability to pass a context and additional request options. // -// See GetServiceTemplate for details on how to use this API operation. +// See GetServiceInstanceSyncStatus 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 *Proton) GetServiceTemplateWithContext(ctx aws.Context, input *GetServiceTemplateInput, opts ...request.Option) (*GetServiceTemplateOutput, error) { - req, out := c.GetServiceTemplateRequest(input) +func (c *Proton) GetServiceInstanceSyncStatusWithContext(ctx aws.Context, input *GetServiceInstanceSyncStatusInput, opts ...request.Option) (*GetServiceInstanceSyncStatusOutput, error) { + req, out := c.GetServiceInstanceSyncStatusRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetServiceTemplateVersion = "GetServiceTemplateVersion" +const opGetServiceSyncBlockerSummary = "GetServiceSyncBlockerSummary" -// GetServiceTemplateVersionRequest generates a "aws/request.Request" representing the -// client's request for the GetServiceTemplateVersion operation. The "output" return +// GetServiceSyncBlockerSummaryRequest generates a "aws/request.Request" representing the +// client's request for the GetServiceSyncBlockerSummary 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 GetServiceTemplateVersion for more information on using the GetServiceTemplateVersion +// See GetServiceSyncBlockerSummary for more information on using the GetServiceSyncBlockerSummary // 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 GetServiceTemplateVersionRequest method. -// req, resp := client.GetServiceTemplateVersionRequest(params) +// // Example sending a request using the GetServiceSyncBlockerSummaryRequest method. +// req, resp := client.GetServiceSyncBlockerSummaryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceTemplateVersion -func (c *Proton) GetServiceTemplateVersionRequest(input *GetServiceTemplateVersionInput) (req *request.Request, output *GetServiceTemplateVersionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceSyncBlockerSummary +func (c *Proton) GetServiceSyncBlockerSummaryRequest(input *GetServiceSyncBlockerSummaryInput) (req *request.Request, output *GetServiceSyncBlockerSummaryOutput) { op := &request.Operation{ - Name: opGetServiceTemplateVersion, + Name: opGetServiceSyncBlockerSummary, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetServiceTemplateVersionInput{} + input = &GetServiceSyncBlockerSummaryInput{} } - output = &GetServiceTemplateVersionOutput{} + output = &GetServiceSyncBlockerSummaryOutput{} req = c.newRequest(op, input, output) return } -// GetServiceTemplateVersion API operation for AWS Proton. +// GetServiceSyncBlockerSummary API operation for AWS Proton. +// +// Get detailed data for the service sync blocker summary. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Proton's +// API operation GetServiceSyncBlockerSummary for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input is invalid or an out-of-range value was supplied for the input +// parameter. +// +// - AccessDeniedException +// There isn't sufficient access for performing this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ResourceNotFoundException +// The requested resource wasn't found. +// +// - InternalServerException +// The request failed to register with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceSyncBlockerSummary +func (c *Proton) GetServiceSyncBlockerSummary(input *GetServiceSyncBlockerSummaryInput) (*GetServiceSyncBlockerSummaryOutput, error) { + req, out := c.GetServiceSyncBlockerSummaryRequest(input) + return out, req.Send() +} + +// GetServiceSyncBlockerSummaryWithContext is the same as GetServiceSyncBlockerSummary with the addition of +// the ability to pass a context and additional request options. +// +// See GetServiceSyncBlockerSummary 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 *Proton) GetServiceSyncBlockerSummaryWithContext(ctx aws.Context, input *GetServiceSyncBlockerSummaryInput, opts ...request.Option) (*GetServiceSyncBlockerSummaryOutput, error) { + req, out := c.GetServiceSyncBlockerSummaryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetServiceSyncConfig = "GetServiceSyncConfig" + +// GetServiceSyncConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetServiceSyncConfig 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 GetServiceSyncConfig for more information on using the GetServiceSyncConfig +// 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 GetServiceSyncConfigRequest method. +// req, resp := client.GetServiceSyncConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceSyncConfig +func (c *Proton) GetServiceSyncConfigRequest(input *GetServiceSyncConfigInput) (req *request.Request, output *GetServiceSyncConfigOutput) { + op := &request.Operation{ + Name: opGetServiceSyncConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetServiceSyncConfigInput{} + } + + output = &GetServiceSyncConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetServiceSyncConfig API operation for AWS Proton. +// +// Get detailed information for the service sync configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Proton's +// API operation GetServiceSyncConfig for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input is invalid or an out-of-range value was supplied for the input +// parameter. +// +// - AccessDeniedException +// There isn't sufficient access for performing this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ResourceNotFoundException +// The requested resource wasn't found. +// +// - InternalServerException +// The request failed to register with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceSyncConfig +func (c *Proton) GetServiceSyncConfig(input *GetServiceSyncConfigInput) (*GetServiceSyncConfigOutput, error) { + req, out := c.GetServiceSyncConfigRequest(input) + return out, req.Send() +} + +// GetServiceSyncConfigWithContext is the same as GetServiceSyncConfig with the addition of +// the ability to pass a context and additional request options. +// +// See GetServiceSyncConfig 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 *Proton) GetServiceSyncConfigWithContext(ctx aws.Context, input *GetServiceSyncConfigInput, opts ...request.Option) (*GetServiceSyncConfigOutput, error) { + req, out := c.GetServiceSyncConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetServiceTemplate = "GetServiceTemplate" + +// GetServiceTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetServiceTemplate 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 GetServiceTemplate for more information on using the GetServiceTemplate +// 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 GetServiceTemplateRequest method. +// req, resp := client.GetServiceTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceTemplate +func (c *Proton) GetServiceTemplateRequest(input *GetServiceTemplateInput) (req *request.Request, output *GetServiceTemplateOutput) { + op := &request.Operation{ + Name: opGetServiceTemplate, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetServiceTemplateInput{} + } + + output = &GetServiceTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetServiceTemplate API operation for AWS Proton. +// +// Get detailed data for a service template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Proton's +// API operation GetServiceTemplate for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input is invalid or an out-of-range value was supplied for the input +// parameter. +// +// - AccessDeniedException +// There isn't sufficient access for performing this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ResourceNotFoundException +// The requested resource wasn't found. +// +// - InternalServerException +// The request failed to register with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceTemplate +func (c *Proton) GetServiceTemplate(input *GetServiceTemplateInput) (*GetServiceTemplateOutput, error) { + req, out := c.GetServiceTemplateRequest(input) + return out, req.Send() +} + +// GetServiceTemplateWithContext is the same as GetServiceTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See GetServiceTemplate 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 *Proton) GetServiceTemplateWithContext(ctx aws.Context, input *GetServiceTemplateInput, opts ...request.Option) (*GetServiceTemplateOutput, error) { + req, out := c.GetServiceTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetServiceTemplateVersion = "GetServiceTemplateVersion" + +// GetServiceTemplateVersionRequest generates a "aws/request.Request" representing the +// client's request for the GetServiceTemplateVersion 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 GetServiceTemplateVersion for more information on using the GetServiceTemplateVersion +// 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 GetServiceTemplateVersionRequest method. +// req, resp := client.GetServiceTemplateVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceTemplateVersion +func (c *Proton) GetServiceTemplateVersionRequest(input *GetServiceTemplateVersionInput) (req *request.Request, output *GetServiceTemplateVersionOutput) { + op := &request.Operation{ + Name: opGetServiceTemplateVersion, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetServiceTemplateVersionInput{} + } + + output = &GetServiceTemplateVersionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetServiceTemplateVersion API operation for AWS Proton. // // Get detailed data for a major or minor version of a service template. // @@ -8362,40 +8924,230 @@ func (c *Proton) UpdateServicePipelineWithContext(ctx aws.Context, input *Update return out, req.Send() } -const opUpdateServiceTemplate = "UpdateServiceTemplate" +const opUpdateServiceSyncBlocker = "UpdateServiceSyncBlocker" -// UpdateServiceTemplateRequest generates a "aws/request.Request" representing the -// client's request for the UpdateServiceTemplate operation. The "output" return +// UpdateServiceSyncBlockerRequest generates a "aws/request.Request" representing the +// client's request for the UpdateServiceSyncBlocker 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 UpdateServiceTemplate for more information on using the UpdateServiceTemplate +// See UpdateServiceSyncBlocker for more information on using the UpdateServiceSyncBlocker // 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 UpdateServiceTemplateRequest method. -// req, resp := client.UpdateServiceTemplateRequest(params) +// // Example sending a request using the UpdateServiceSyncBlockerRequest method. +// req, resp := client.UpdateServiceSyncBlockerRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateServiceTemplate -func (c *Proton) UpdateServiceTemplateRequest(input *UpdateServiceTemplateInput) (req *request.Request, output *UpdateServiceTemplateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateServiceSyncBlocker +func (c *Proton) UpdateServiceSyncBlockerRequest(input *UpdateServiceSyncBlockerInput) (req *request.Request, output *UpdateServiceSyncBlockerOutput) { op := &request.Operation{ - Name: opUpdateServiceTemplate, + Name: opUpdateServiceSyncBlocker, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateServiceTemplateInput{} + input = &UpdateServiceSyncBlockerInput{} + } + + output = &UpdateServiceSyncBlockerOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateServiceSyncBlocker API operation for AWS Proton. +// +// Update the service sync blocker by resolving it. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Proton's +// API operation UpdateServiceSyncBlocker for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input is invalid or an out-of-range value was supplied for the input +// parameter. +// +// - AccessDeniedException +// There isn't sufficient access for performing this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ConflictException +// The request couldn't be made due to a conflicting operation or resource. +// +// - ResourceNotFoundException +// The requested resource wasn't found. +// +// - InternalServerException +// The request failed to register with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateServiceSyncBlocker +func (c *Proton) UpdateServiceSyncBlocker(input *UpdateServiceSyncBlockerInput) (*UpdateServiceSyncBlockerOutput, error) { + req, out := c.UpdateServiceSyncBlockerRequest(input) + return out, req.Send() +} + +// UpdateServiceSyncBlockerWithContext is the same as UpdateServiceSyncBlocker with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateServiceSyncBlocker 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 *Proton) UpdateServiceSyncBlockerWithContext(ctx aws.Context, input *UpdateServiceSyncBlockerInput, opts ...request.Option) (*UpdateServiceSyncBlockerOutput, error) { + req, out := c.UpdateServiceSyncBlockerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateServiceSyncConfig = "UpdateServiceSyncConfig" + +// UpdateServiceSyncConfigRequest generates a "aws/request.Request" representing the +// client's request for the UpdateServiceSyncConfig 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 UpdateServiceSyncConfig for more information on using the UpdateServiceSyncConfig +// 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 UpdateServiceSyncConfigRequest method. +// req, resp := client.UpdateServiceSyncConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateServiceSyncConfig +func (c *Proton) UpdateServiceSyncConfigRequest(input *UpdateServiceSyncConfigInput) (req *request.Request, output *UpdateServiceSyncConfigOutput) { + op := &request.Operation{ + Name: opUpdateServiceSyncConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateServiceSyncConfigInput{} + } + + output = &UpdateServiceSyncConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateServiceSyncConfig API operation for AWS Proton. +// +// Update the Proton Ops config file. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Proton's +// API operation UpdateServiceSyncConfig for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input is invalid or an out-of-range value was supplied for the input +// parameter. +// +// - AccessDeniedException +// There isn't sufficient access for performing this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ConflictException +// The request couldn't be made due to a conflicting operation or resource. +// +// - ResourceNotFoundException +// The requested resource wasn't found. +// +// - InternalServerException +// The request failed to register with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateServiceSyncConfig +func (c *Proton) UpdateServiceSyncConfig(input *UpdateServiceSyncConfigInput) (*UpdateServiceSyncConfigOutput, error) { + req, out := c.UpdateServiceSyncConfigRequest(input) + return out, req.Send() +} + +// UpdateServiceSyncConfigWithContext is the same as UpdateServiceSyncConfig with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateServiceSyncConfig 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 *Proton) UpdateServiceSyncConfigWithContext(ctx aws.Context, input *UpdateServiceSyncConfigInput, opts ...request.Option) (*UpdateServiceSyncConfigOutput, error) { + req, out := c.UpdateServiceSyncConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateServiceTemplate = "UpdateServiceTemplate" + +// UpdateServiceTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateServiceTemplate 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 UpdateServiceTemplate for more information on using the UpdateServiceTemplate +// 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 UpdateServiceTemplateRequest method. +// req, resp := client.UpdateServiceTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateServiceTemplate +func (c *Proton) UpdateServiceTemplateRequest(input *UpdateServiceTemplateInput) (req *request.Request, output *UpdateServiceTemplateOutput) { + op := &request.Operation{ + Name: opUpdateServiceTemplate, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateServiceTemplateInput{} } output = &UpdateServiceTemplateOutput{} @@ -9351,6 +10103,9 @@ type Component struct { // EnvironmentName is a required field EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"` + // The last token the client requested. + LastClientRequestToken *string `locationName:"lastClientRequestToken" type:"string"` + // The time when a deployment of the component was last attempted. LastDeploymentAttemptedAt *time.Time `locationName:"lastDeploymentAttemptedAt" type:"timestamp"` @@ -9438,6 +10193,12 @@ func (s *Component) SetEnvironmentName(v string) *Component { return s } +// SetLastClientRequestToken sets the LastClientRequestToken field's value. +func (s *Component) SetLastClientRequestToken(v string) *Component { + s.LastClientRequestToken = &v + return s +} + // SetLastDeploymentAttemptedAt sets the LastDeploymentAttemptedAt field's value. func (s *Component) SetLastDeploymentAttemptedAt(v time.Time) *Component { s.LastDeploymentAttemptedAt = &v @@ -9704,6 +10465,7 @@ type CountsSummary struct { Components *ResourceCountsSummary `locationName:"components" type:"structure"` // The total number of environment templates in the Amazon Web Services account. + // The environmentTemplates object will only contain total members. EnvironmentTemplates *ResourceCountsSummary `locationName:"environmentTemplates" type:"structure"` // The staleness counts for Proton environments in the Amazon Web Services account. @@ -9788,6 +10550,9 @@ func (s *CountsSummary) SetServices(v *ResourceCountsSummary) *CountsSummary { type CreateComponentInput struct { _ struct{} `type:"structure"` + // The client token for the created component. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + // An optional customer-provided description of the component. // // Description is a sensitive parameter and its value will be @@ -9923,6 +10688,12 @@ func (s *CreateComponentInput) Validate() error { return nil } +// SetClientToken sets the ClientToken field's value. +func (s *CreateComponentInput) SetClientToken(v string) *CreateComponentInput { + s.ClientToken = &v + return s +} + // SetDescription sets the Description field's value. func (s *CreateComponentInput) SetDescription(v string) *CreateComponentInput { s.Description = &v @@ -11142,6 +11913,183 @@ func (s *CreateServiceInput) SetTemplateName(v string) *CreateServiceInput { return s } +type CreateServiceInstanceInput struct { + _ struct{} `type:"structure"` + + // The client token of the service instance to create. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // The name of the service instance to create. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The name of the service the service instance is added to. + // + // ServiceName is a required field + ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"` + + // The spec for the service instance you want to create. + // + // Spec is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateServiceInstanceInput's + // String and GoString methods. + // + // Spec is a required field + Spec *string `locationName:"spec" min:"1" type:"string" required:"true" sensitive:"true"` + + // An optional list of metadata items that you can associate with the Proton + // service instance. A tag is a key-value pair. + // + // For more information, see Proton resources and tagging (https://docs.aws.amazon.com/proton/latest/userguide/resources.html) + // in the Proton User Guide. + Tags []*Tag `locationName:"tags" type:"list"` + + // To create a new major and minor version of the service template, exclude + // major Version. + TemplateMajorVersion *string `locationName:"templateMajorVersion" min:"1" type:"string"` + + // To create a new minor version of the service template, include a major Version. + TemplateMinorVersion *string `locationName:"templateMinorVersion" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateServiceInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateServiceInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateServiceInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateServiceInstanceInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.ServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceName")) + } + if s.ServiceName != nil && len(*s.ServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.Spec != nil && len(*s.Spec) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Spec", 1)) + } + if s.TemplateMajorVersion != nil && len(*s.TemplateMajorVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateMajorVersion", 1)) + } + if s.TemplateMinorVersion != nil && len(*s.TemplateMinorVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateMinorVersion", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateServiceInstanceInput) SetClientToken(v string) *CreateServiceInstanceInput { + s.ClientToken = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateServiceInstanceInput) SetName(v string) *CreateServiceInstanceInput { + s.Name = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *CreateServiceInstanceInput) SetServiceName(v string) *CreateServiceInstanceInput { + s.ServiceName = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *CreateServiceInstanceInput) SetSpec(v string) *CreateServiceInstanceInput { + s.Spec = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateServiceInstanceInput) SetTags(v []*Tag) *CreateServiceInstanceInput { + s.Tags = v + return s +} + +// SetTemplateMajorVersion sets the TemplateMajorVersion field's value. +func (s *CreateServiceInstanceInput) SetTemplateMajorVersion(v string) *CreateServiceInstanceInput { + s.TemplateMajorVersion = &v + return s +} + +// SetTemplateMinorVersion sets the TemplateMinorVersion field's value. +func (s *CreateServiceInstanceInput) SetTemplateMinorVersion(v string) *CreateServiceInstanceInput { + s.TemplateMinorVersion = &v + return s +} + +type CreateServiceInstanceOutput struct { + _ struct{} `type:"structure"` + + // The detailed data of the service instance being created. + // + // ServiceInstance is a required field + ServiceInstance *ServiceInstance `locationName:"serviceInstance" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateServiceInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateServiceInstanceOutput) GoString() string { + return s.String() +} + +// SetServiceInstance sets the ServiceInstance field's value. +func (s *CreateServiceInstanceOutput) SetServiceInstance(v *ServiceInstance) *CreateServiceInstanceOutput { + s.ServiceInstance = v + return s +} + type CreateServiceOutput struct { _ struct{} `type:"structure"` @@ -11175,6 +12123,151 @@ func (s *CreateServiceOutput) SetService(v *Service) *CreateServiceOutput { return s } +type CreateServiceSyncConfigInput struct { + _ struct{} `type:"structure"` + + // The repository branch for your Proton Ops file. + // + // Branch is a required field + Branch *string `locationName:"branch" min:"1" type:"string" required:"true"` + + // The path to the Proton Ops file. + // + // FilePath is a required field + FilePath *string `locationName:"filePath" min:"1" type:"string" required:"true"` + + // The repository name. + // + // RepositoryName is a required field + RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` + + // The provider type for your repository. + // + // RepositoryProvider is a required field + RepositoryProvider *string `locationName:"repositoryProvider" type:"string" required:"true" enum:"RepositoryProvider"` + + // The name of the service the Proton Ops file is for. + // + // ServiceName is a required field + ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateServiceSyncConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateServiceSyncConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateServiceSyncConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateServiceSyncConfigInput"} + if s.Branch == nil { + invalidParams.Add(request.NewErrParamRequired("Branch")) + } + if s.Branch != nil && len(*s.Branch) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Branch", 1)) + } + if s.FilePath == nil { + invalidParams.Add(request.NewErrParamRequired("FilePath")) + } + if s.FilePath != nil && len(*s.FilePath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FilePath", 1)) + } + if s.RepositoryName == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryName")) + } + if s.RepositoryName != nil && len(*s.RepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1)) + } + if s.RepositoryProvider == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryProvider")) + } + if s.ServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceName")) + } + if s.ServiceName != nil && len(*s.ServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBranch sets the Branch field's value. +func (s *CreateServiceSyncConfigInput) SetBranch(v string) *CreateServiceSyncConfigInput { + s.Branch = &v + return s +} + +// SetFilePath sets the FilePath field's value. +func (s *CreateServiceSyncConfigInput) SetFilePath(v string) *CreateServiceSyncConfigInput { + s.FilePath = &v + return s +} + +// SetRepositoryName sets the RepositoryName field's value. +func (s *CreateServiceSyncConfigInput) SetRepositoryName(v string) *CreateServiceSyncConfigInput { + s.RepositoryName = &v + return s +} + +// SetRepositoryProvider sets the RepositoryProvider field's value. +func (s *CreateServiceSyncConfigInput) SetRepositoryProvider(v string) *CreateServiceSyncConfigInput { + s.RepositoryProvider = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *CreateServiceSyncConfigInput) SetServiceName(v string) *CreateServiceSyncConfigInput { + s.ServiceName = &v + return s +} + +type CreateServiceSyncConfigOutput struct { + _ struct{} `type:"structure"` + + // The detailed data of the Proton Ops file. + ServiceSyncConfig *ServiceSyncConfig `locationName:"serviceSyncConfig" 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 CreateServiceSyncConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateServiceSyncConfigOutput) GoString() string { + return s.String() +} + +// SetServiceSyncConfig sets the ServiceSyncConfig field's value. +func (s *CreateServiceSyncConfigOutput) SetServiceSyncConfig(v *ServiceSyncConfig) *CreateServiceSyncConfigOutput { + s.ServiceSyncConfig = v + return s +} + type CreateServiceTemplateInput struct { _ struct{} `type:"structure"` @@ -12262,17 +13355,98 @@ func (s *DeleteServiceInput) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *DeleteServiceInput) SetName(v string) *DeleteServiceInput { - s.Name = &v +// SetName sets the Name field's value. +func (s *DeleteServiceInput) SetName(v string) *DeleteServiceInput { + s.Name = &v + return s +} + +type DeleteServiceOutput struct { + _ struct{} `type:"structure"` + + // The detailed data of the service being deleted. + Service *Service `locationName:"service" 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 DeleteServiceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteServiceOutput) GoString() string { + return s.String() +} + +// SetService sets the Service field's value. +func (s *DeleteServiceOutput) SetService(v *Service) *DeleteServiceOutput { + s.Service = v + return s +} + +type DeleteServiceSyncConfigInput struct { + _ struct{} `type:"structure"` + + // The name of the service that you want to delete the service sync configuration + // for. + // + // ServiceName is a required field + ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteServiceSyncConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteServiceSyncConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteServiceSyncConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteServiceSyncConfigInput"} + if s.ServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceName")) + } + if s.ServiceName != nil && len(*s.ServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetServiceName sets the ServiceName field's value. +func (s *DeleteServiceSyncConfigInput) SetServiceName(v string) *DeleteServiceSyncConfigInput { + s.ServiceName = &v return s } -type DeleteServiceOutput struct { +type DeleteServiceSyncConfigOutput struct { _ struct{} `type:"structure"` - // The detailed data of the service being deleted. - Service *Service `locationName:"service" type:"structure"` + // The detailed data for the service sync config. + ServiceSyncConfig *ServiceSyncConfig `locationName:"serviceSyncConfig" type:"structure"` } // String returns the string representation. @@ -12280,7 +13454,7 @@ type DeleteServiceOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteServiceOutput) String() string { +func (s DeleteServiceSyncConfigOutput) String() string { return awsutil.Prettify(s) } @@ -12289,13 +13463,13 @@ func (s DeleteServiceOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteServiceOutput) GoString() string { +func (s DeleteServiceSyncConfigOutput) GoString() string { return s.String() } -// SetService sets the Service field's value. -func (s *DeleteServiceOutput) SetService(v *Service) *DeleteServiceOutput { - s.Service = v +// SetServiceSyncConfig sets the ServiceSyncConfig field's value. +func (s *DeleteServiceSyncConfigOutput) SetServiceSyncConfig(v *ServiceSyncConfig) *DeleteServiceSyncConfigOutput { + s.ServiceSyncConfig = v return s } @@ -12669,7 +13843,7 @@ type Environment struct { // The linked repository that you use to host your rendered infrastructure templates // for self-managed provisioning. A linked repository is a repository that has - // been registered with Proton. For more information, see CreateRepository. + // been registered with Proton. For more information, see CreateRepository (https://docs.aws.amazon.com/proton/latest/APIReference/API_CreateRepository.html). ProvisioningRepository *RepositoryBranch `locationName:"provisioningRepository" type:"structure"` // The environment spec. @@ -14744,7 +15918,7 @@ type GetServiceInstanceInput struct { // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The name of the service that the service instance belongs to. + // The name of the service that you want the service instance input for. // // ServiceName is a required field ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"` @@ -14796,19 +15970,294 @@ func (s *GetServiceInstanceInput) SetName(v string) *GetServiceInstanceInput { return s } -// SetServiceName sets the ServiceName field's value. -func (s *GetServiceInstanceInput) SetServiceName(v string) *GetServiceInstanceInput { - s.ServiceName = &v +// SetServiceName sets the ServiceName field's value. +func (s *GetServiceInstanceInput) SetServiceName(v string) *GetServiceInstanceInput { + s.ServiceName = &v + return s +} + +type GetServiceInstanceOutput struct { + _ struct{} `type:"structure"` + + // The detailed data of the requested service instance. + // + // ServiceInstance is a required field + ServiceInstance *ServiceInstance `locationName:"serviceInstance" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetServiceInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetServiceInstanceOutput) GoString() string { + return s.String() +} + +// SetServiceInstance sets the ServiceInstance field's value. +func (s *GetServiceInstanceOutput) SetServiceInstance(v *ServiceInstance) *GetServiceInstanceOutput { + s.ServiceInstance = v + return s +} + +type GetServiceInstanceSyncStatusInput struct { + _ struct{} `type:"structure"` + + // The name of the service instance that you want the sync status input for. + // + // ServiceInstanceName is a required field + ServiceInstanceName *string `locationName:"serviceInstanceName" min:"1" type:"string" required:"true"` + + // The name of the service that the service instance belongs to. + // + // ServiceName is a required field + ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetServiceInstanceSyncStatusInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetServiceInstanceSyncStatusInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetServiceInstanceSyncStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetServiceInstanceSyncStatusInput"} + if s.ServiceInstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceInstanceName")) + } + if s.ServiceInstanceName != nil && len(*s.ServiceInstanceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceInstanceName", 1)) + } + if s.ServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceName")) + } + if s.ServiceName != nil && len(*s.ServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetServiceInstanceName sets the ServiceInstanceName field's value. +func (s *GetServiceInstanceSyncStatusInput) SetServiceInstanceName(v string) *GetServiceInstanceSyncStatusInput { + s.ServiceInstanceName = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *GetServiceInstanceSyncStatusInput) SetServiceName(v string) *GetServiceInstanceSyncStatusInput { + s.ServiceName = &v + return s +} + +type GetServiceInstanceSyncStatusOutput struct { + _ struct{} `type:"structure"` + + // The service instance sync desired state that's returned by Proton + DesiredState *Revision `locationName:"desiredState" type:"structure"` + + // The detailed data of the latest successful sync with the service instance. + LatestSuccessfulSync *ResourceSyncAttempt `locationName:"latestSuccessfulSync" type:"structure"` + + // The detailed data of the latest sync with the service instance. + LatestSync *ResourceSyncAttempt `locationName:"latestSync" 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 GetServiceInstanceSyncStatusOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetServiceInstanceSyncStatusOutput) GoString() string { + return s.String() +} + +// SetDesiredState sets the DesiredState field's value. +func (s *GetServiceInstanceSyncStatusOutput) SetDesiredState(v *Revision) *GetServiceInstanceSyncStatusOutput { + s.DesiredState = v + return s +} + +// SetLatestSuccessfulSync sets the LatestSuccessfulSync field's value. +func (s *GetServiceInstanceSyncStatusOutput) SetLatestSuccessfulSync(v *ResourceSyncAttempt) *GetServiceInstanceSyncStatusOutput { + s.LatestSuccessfulSync = v + return s +} + +// SetLatestSync sets the LatestSync field's value. +func (s *GetServiceInstanceSyncStatusOutput) SetLatestSync(v *ResourceSyncAttempt) *GetServiceInstanceSyncStatusOutput { + s.LatestSync = v + return s +} + +type GetServiceOutput struct { + _ struct{} `type:"structure"` + + // The detailed data of the requested service. + Service *Service `locationName:"service" 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 GetServiceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetServiceOutput) GoString() string { + return s.String() +} + +// SetService sets the Service field's value. +func (s *GetServiceOutput) SetService(v *Service) *GetServiceOutput { + s.Service = v + return s +} + +type GetServiceSyncBlockerSummaryInput struct { + _ struct{} `type:"structure"` + + // The name of the service instance that you want to get the service sync blocker + // summary for. If given bothe the instance name and the service name, only + // the instance is blocked. + ServiceInstanceName *string `locationName:"serviceInstanceName" min:"1" type:"string"` + + // The name of the service that you want to get the service sync blocker summary + // for. If given only the service name, all instances are blocked. + // + // ServiceName is a required field + ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetServiceSyncBlockerSummaryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetServiceSyncBlockerSummaryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetServiceSyncBlockerSummaryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetServiceSyncBlockerSummaryInput"} + if s.ServiceInstanceName != nil && len(*s.ServiceInstanceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceInstanceName", 1)) + } + if s.ServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceName")) + } + if s.ServiceName != nil && len(*s.ServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetServiceInstanceName sets the ServiceInstanceName field's value. +func (s *GetServiceSyncBlockerSummaryInput) SetServiceInstanceName(v string) *GetServiceSyncBlockerSummaryInput { + s.ServiceInstanceName = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *GetServiceSyncBlockerSummaryInput) SetServiceName(v string) *GetServiceSyncBlockerSummaryInput { + s.ServiceName = &v + return s +} + +type GetServiceSyncBlockerSummaryOutput struct { + _ struct{} `type:"structure"` + + // The detailed data of the requested service sync blocker summary. + ServiceSyncBlockerSummary *ServiceSyncBlockerSummary `locationName:"serviceSyncBlockerSummary" 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 GetServiceSyncBlockerSummaryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetServiceSyncBlockerSummaryOutput) GoString() string { + return s.String() +} + +// SetServiceSyncBlockerSummary sets the ServiceSyncBlockerSummary field's value. +func (s *GetServiceSyncBlockerSummaryOutput) SetServiceSyncBlockerSummary(v *ServiceSyncBlockerSummary) *GetServiceSyncBlockerSummaryOutput { + s.ServiceSyncBlockerSummary = v return s } -type GetServiceInstanceOutput struct { +type GetServiceSyncConfigInput struct { _ struct{} `type:"structure"` - // The detailed data of the requested service instance. + // The name of the service that you want to get the service sync configuration + // for. // - // ServiceInstance is a required field - ServiceInstance *ServiceInstance `locationName:"serviceInstance" type:"structure" required:"true"` + // ServiceName is a required field + ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -14816,7 +16265,7 @@ type GetServiceInstanceOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetServiceInstanceOutput) String() string { +func (s GetServiceSyncConfigInput) String() string { return awsutil.Prettify(s) } @@ -14825,21 +16274,37 @@ func (s GetServiceInstanceOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetServiceInstanceOutput) GoString() string { +func (s GetServiceSyncConfigInput) GoString() string { return s.String() } -// SetServiceInstance sets the ServiceInstance field's value. -func (s *GetServiceInstanceOutput) SetServiceInstance(v *ServiceInstance) *GetServiceInstanceOutput { - s.ServiceInstance = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetServiceSyncConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetServiceSyncConfigInput"} + if s.ServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceName")) + } + if s.ServiceName != nil && len(*s.ServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetServiceName sets the ServiceName field's value. +func (s *GetServiceSyncConfigInput) SetServiceName(v string) *GetServiceSyncConfigInput { + s.ServiceName = &v return s } -type GetServiceOutput struct { +type GetServiceSyncConfigOutput struct { _ struct{} `type:"structure"` - // The detailed data of the requested service. - Service *Service `locationName:"service" type:"structure"` + // The detailed data of the requested service sync configuration. + ServiceSyncConfig *ServiceSyncConfig `locationName:"serviceSyncConfig" type:"structure"` } // String returns the string representation. @@ -14847,7 +16312,7 @@ type GetServiceOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetServiceOutput) String() string { +func (s GetServiceSyncConfigOutput) String() string { return awsutil.Prettify(s) } @@ -14856,13 +16321,13 @@ func (s GetServiceOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetServiceOutput) GoString() string { +func (s GetServiceSyncConfigOutput) GoString() string { return s.String() } -// SetService sets the Service field's value. -func (s *GetServiceOutput) SetService(v *Service) *GetServiceOutput { - s.Service = v +// SetServiceSyncConfig sets the ServiceSyncConfig field's value. +func (s *GetServiceSyncConfigOutput) SetServiceSyncConfig(v *ServiceSyncConfig) *GetServiceSyncConfigOutput { + s.ServiceSyncConfig = v return s } @@ -18242,6 +19707,12 @@ type RepositorySummary struct { // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the of your connection that connects Proton + // to your repository. + // + // ConnectionArn is a required field + ConnectionArn *string `locationName:"connectionArn" min:"1" type:"string" required:"true"` + // The repository name. // // Name is a required field @@ -18277,6 +19748,12 @@ func (s *RepositorySummary) SetArn(v string) *RepositorySummary { return s } +// SetConnectionArn sets the ConnectionArn field's value. +func (s *RepositorySummary) SetConnectionArn(v string) *RepositorySummary { + s.ConnectionArn = &v + return s +} + // SetName sets the Name field's value. func (s *RepositorySummary) SetName(v string) *RepositorySummary { s.Name = &v @@ -19118,6 +20595,9 @@ type ServiceInstance struct { // EnvironmentName is a required field EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"` + // The last client request token received. + LastClientRequestToken *string `locationName:"lastClientRequestToken" type:"string"` + // The time when a deployment of the service instance was last attempted. // // LastDeploymentAttemptedAt is a required field @@ -19211,6 +20691,12 @@ func (s *ServiceInstance) SetEnvironmentName(v string) *ServiceInstance { return s } +// SetLastClientRequestToken sets the LastClientRequestToken field's value. +func (s *ServiceInstance) SetLastClientRequestToken(v string) *ServiceInstance { + s.LastClientRequestToken = &v + return s +} + // SetLastDeploymentAttemptedAt sets the LastDeploymentAttemptedAt field's value. func (s *ServiceInstance) SetLastDeploymentAttemptedAt(v time.Time) *ServiceInstance { s.LastDeploymentAttemptedAt = &v @@ -19738,6 +21224,151 @@ func (s *ServiceSummary) SetTemplateName(v string) *ServiceSummary { return s } +// If a service instance is manually updated, Proton wants to prevent accidentally +// overriding a manual change. +// +// A blocker is created because of the manual update or deletion of a service +// instance. The summary describes the blocker as being active or resolved. +type ServiceSyncBlockerSummary struct { + _ struct{} `type:"structure"` + + // The latest active blockers for the synced service. + LatestBlockers []*SyncBlocker `locationName:"latestBlockers" type:"list"` + + // The name of the service instance that you want sync your service configuration + // with. + ServiceInstanceName *string `locationName:"serviceInstanceName" type:"string"` + + // The name of the service that you want to get the sync blocker summary for. + // If given a service instance name and a service name, it will return the blockers + // only applying to the instance that is blocked. + // + // If given only a service name, it will return the blockers that apply to all + // of the instances. In order to get the blockers for a single instance, you + // will need to make two distinct calls, one to get the sync blocker summary + // for the service and the other to get the sync blocker for the service instance. + // + // ServiceName is a required field + ServiceName *string `locationName:"serviceName" 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 ServiceSyncBlockerSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceSyncBlockerSummary) GoString() string { + return s.String() +} + +// SetLatestBlockers sets the LatestBlockers field's value. +func (s *ServiceSyncBlockerSummary) SetLatestBlockers(v []*SyncBlocker) *ServiceSyncBlockerSummary { + s.LatestBlockers = v + return s +} + +// SetServiceInstanceName sets the ServiceInstanceName field's value. +func (s *ServiceSyncBlockerSummary) SetServiceInstanceName(v string) *ServiceSyncBlockerSummary { + s.ServiceInstanceName = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *ServiceSyncBlockerSummary) SetServiceName(v string) *ServiceSyncBlockerSummary { + s.ServiceName = &v + return s +} + +// Detailed data of the service sync configuration. +type ServiceSyncConfig struct { + _ struct{} `type:"structure"` + + // The name of the code repository branch that holds the service code Proton + // will sync with. + // + // Branch is a required field + Branch *string `locationName:"branch" min:"1" type:"string" required:"true"` + + // The file path to the service sync configuration file. + // + // FilePath is a required field + FilePath *string `locationName:"filePath" min:"1" type:"string" required:"true"` + + // The name of the code repository that holds the service code Proton will sync + // with. + // + // RepositoryName is a required field + RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` + + // The name of the repository provider that holds the repository Proton will + // sync with. + // + // RepositoryProvider is a required field + RepositoryProvider *string `locationName:"repositoryProvider" type:"string" required:"true" enum:"RepositoryProvider"` + + // The name of the service that the service instance is added to. + // + // ServiceName is a required field + ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceSyncConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceSyncConfig) GoString() string { + return s.String() +} + +// SetBranch sets the Branch field's value. +func (s *ServiceSyncConfig) SetBranch(v string) *ServiceSyncConfig { + s.Branch = &v + return s +} + +// SetFilePath sets the FilePath field's value. +func (s *ServiceSyncConfig) SetFilePath(v string) *ServiceSyncConfig { + s.FilePath = &v + return s +} + +// SetRepositoryName sets the RepositoryName field's value. +func (s *ServiceSyncConfig) SetRepositoryName(v string) *ServiceSyncConfig { + s.RepositoryName = &v + return s +} + +// SetRepositoryProvider sets the RepositoryProvider field's value. +func (s *ServiceSyncConfig) SetRepositoryProvider(v string) *ServiceSyncConfig { + s.RepositoryProvider = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *ServiceSyncConfig) SetServiceName(v string) *ServiceSyncConfig { + s.ServiceName = &v + return s +} + // Detailed data of an Proton service template resource. type ServiceTemplate struct { _ struct{} `type:"structure"` @@ -20264,21 +21895,171 @@ func (s *ServiceTemplateVersionSummary) SetRecommendedMinorVersion(v string) *Se return s } -// SetStatus sets the Status field's value. -func (s *ServiceTemplateVersionSummary) SetStatus(v string) *ServiceTemplateVersionSummary { - s.Status = &v - return s +// SetStatus sets the Status field's value. +func (s *ServiceTemplateVersionSummary) SetStatus(v string) *ServiceTemplateVersionSummary { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *ServiceTemplateVersionSummary) SetStatusMessage(v string) *ServiceTemplateVersionSummary { + s.StatusMessage = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *ServiceTemplateVersionSummary) SetTemplateName(v string) *ServiceTemplateVersionSummary { + s.TemplateName = &v + return s +} + +// Detailed data of the sync blocker. +type SyncBlocker struct { + _ struct{} `type:"structure"` + + // The contexts for the sync blocker. + Contexts []*SyncBlockerContext `locationName:"contexts" type:"list"` + + // The time when the sync blocker was created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // The reason why the sync blocker was created. + // + // CreatedReason is a required field + CreatedReason *string `locationName:"createdReason" type:"string" required:"true"` + + // The ID of the sync blocker. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // The time the sync blocker was resolved. + ResolvedAt *time.Time `locationName:"resolvedAt" type:"timestamp"` + + // The reason the sync blocker was resolved. + ResolvedReason *string `locationName:"resolvedReason" type:"string"` + + // The status of the sync blocker. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"BlockerStatus"` + + // The type of the sync blocker. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"BlockerType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SyncBlocker) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SyncBlocker) GoString() string { + return s.String() +} + +// SetContexts sets the Contexts field's value. +func (s *SyncBlocker) SetContexts(v []*SyncBlockerContext) *SyncBlocker { + s.Contexts = v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *SyncBlocker) SetCreatedAt(v time.Time) *SyncBlocker { + s.CreatedAt = &v + return s +} + +// SetCreatedReason sets the CreatedReason field's value. +func (s *SyncBlocker) SetCreatedReason(v string) *SyncBlocker { + s.CreatedReason = &v + return s +} + +// SetId sets the Id field's value. +func (s *SyncBlocker) SetId(v string) *SyncBlocker { + s.Id = &v + return s +} + +// SetResolvedAt sets the ResolvedAt field's value. +func (s *SyncBlocker) SetResolvedAt(v time.Time) *SyncBlocker { + s.ResolvedAt = &v + return s +} + +// SetResolvedReason sets the ResolvedReason field's value. +func (s *SyncBlocker) SetResolvedReason(v string) *SyncBlocker { + s.ResolvedReason = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *SyncBlocker) SetStatus(v string) *SyncBlocker { + s.Status = &v + return s +} + +// SetType sets the Type field's value. +func (s *SyncBlocker) SetType(v string) *SyncBlocker { + s.Type = &v + return s +} + +// Detailed data of the context of the sync blocker. +type SyncBlockerContext struct { + _ struct{} `type:"structure"` + + // The key for the sync blocker context. + // + // Key is a required field + Key *string `locationName:"key" type:"string" required:"true"` + + // The value of the sync blocker context. + // + // Value is a required field + Value *string `locationName:"value" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SyncBlockerContext) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SyncBlockerContext) GoString() string { + return s.String() } -// SetStatusMessage sets the StatusMessage field's value. -func (s *ServiceTemplateVersionSummary) SetStatusMessage(v string) *ServiceTemplateVersionSummary { - s.StatusMessage = &v +// SetKey sets the Key field's value. +func (s *SyncBlockerContext) SetKey(v string) *SyncBlockerContext { + s.Key = &v return s } -// SetTemplateName sets the TemplateName field's value. -func (s *ServiceTemplateVersionSummary) SetTemplateName(v string) *ServiceTemplateVersionSummary { - s.TemplateName = &v +// SetValue sets the Value field's value. +func (s *SyncBlockerContext) SetValue(v string) *SyncBlockerContext { + s.Value = &v return s } @@ -20852,6 +22633,9 @@ func (s *UpdateAccountSettingsOutput) SetAccountSettings(v *AccountSettings) *Up type UpdateComponentInput struct { _ struct{} `type:"structure"` + // The client token for the updated component. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + // The deployment type. It defines the mode for updating a component, as follows: // // NONE @@ -20957,6 +22741,12 @@ func (s *UpdateComponentInput) Validate() error { return nil } +// SetClientToken sets the ClientToken field's value. +func (s *UpdateComponentInput) SetClientToken(v string) *UpdateComponentInput { + s.ClientToken = &v + return s +} + // SetDeploymentType sets the DeploymentType field's value. func (s *UpdateComponentInput) SetDeploymentType(v string) *UpdateComponentInput { s.DeploymentType = &v @@ -21745,6 +23535,9 @@ func (s *UpdateServiceInput) SetSpec(v string) *UpdateServiceInput { type UpdateServiceInstanceInput struct { _ struct{} `type:"structure"` + // The client token of the service instance to update. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + // The deployment type. It defines the mode for updating a service instance, // as follows: // @@ -21852,6 +23645,12 @@ func (s *UpdateServiceInstanceInput) Validate() error { return nil } +// SetClientToken sets the ClientToken field's value. +func (s *UpdateServiceInstanceInput) SetClientToken(v string) *UpdateServiceInstanceInput { + s.ClientToken = &v + return s +} + // SetDeploymentType sets the DeploymentType field's value. func (s *UpdateServiceInstanceInput) SetDeploymentType(v string) *UpdateServiceInstanceInput { s.DeploymentType = &v @@ -22125,6 +23924,266 @@ func (s *UpdateServicePipelineOutput) SetPipeline(v *ServicePipeline) *UpdateSer return s } +type UpdateServiceSyncBlockerInput struct { + _ struct{} `type:"structure"` + + // The ID of the service sync blocker. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // The reason the service sync blocker was resolved. + // + // ResolvedReason is a required field + ResolvedReason *string `locationName:"resolvedReason" 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 UpdateServiceSyncBlockerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateServiceSyncBlockerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateServiceSyncBlockerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateServiceSyncBlockerInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.ResolvedReason == nil { + invalidParams.Add(request.NewErrParamRequired("ResolvedReason")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *UpdateServiceSyncBlockerInput) SetId(v string) *UpdateServiceSyncBlockerInput { + s.Id = &v + return s +} + +// SetResolvedReason sets the ResolvedReason field's value. +func (s *UpdateServiceSyncBlockerInput) SetResolvedReason(v string) *UpdateServiceSyncBlockerInput { + s.ResolvedReason = &v + return s +} + +type UpdateServiceSyncBlockerOutput struct { + _ struct{} `type:"structure"` + + // The name of the service instance that you want to update the service sync + // blocker for. + ServiceInstanceName *string `locationName:"serviceInstanceName" min:"1" type:"string"` + + // The name of the service that you want to update the service sync blocker + // for. + // + // ServiceName is a required field + ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"` + + // The detailed data on the service sync blocker that was updated. + // + // ServiceSyncBlocker is a required field + ServiceSyncBlocker *SyncBlocker `locationName:"serviceSyncBlocker" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateServiceSyncBlockerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateServiceSyncBlockerOutput) GoString() string { + return s.String() +} + +// SetServiceInstanceName sets the ServiceInstanceName field's value. +func (s *UpdateServiceSyncBlockerOutput) SetServiceInstanceName(v string) *UpdateServiceSyncBlockerOutput { + s.ServiceInstanceName = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *UpdateServiceSyncBlockerOutput) SetServiceName(v string) *UpdateServiceSyncBlockerOutput { + s.ServiceName = &v + return s +} + +// SetServiceSyncBlocker sets the ServiceSyncBlocker field's value. +func (s *UpdateServiceSyncBlockerOutput) SetServiceSyncBlocker(v *SyncBlocker) *UpdateServiceSyncBlockerOutput { + s.ServiceSyncBlocker = v + return s +} + +type UpdateServiceSyncConfigInput struct { + _ struct{} `type:"structure"` + + // The name of the code repository branch where the Proton Ops file is found. + // + // Branch is a required field + Branch *string `locationName:"branch" min:"1" type:"string" required:"true"` + + // The path to the Proton Ops file. + // + // FilePath is a required field + FilePath *string `locationName:"filePath" min:"1" type:"string" required:"true"` + + // The name of the repository where the Proton Ops file is found. + // + // RepositoryName is a required field + RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` + + // The name of the repository provider where the Proton Ops file is found. + // + // RepositoryProvider is a required field + RepositoryProvider *string `locationName:"repositoryProvider" type:"string" required:"true" enum:"RepositoryProvider"` + + // The name of the service the Proton Ops file is for. + // + // ServiceName is a required field + ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateServiceSyncConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateServiceSyncConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateServiceSyncConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateServiceSyncConfigInput"} + if s.Branch == nil { + invalidParams.Add(request.NewErrParamRequired("Branch")) + } + if s.Branch != nil && len(*s.Branch) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Branch", 1)) + } + if s.FilePath == nil { + invalidParams.Add(request.NewErrParamRequired("FilePath")) + } + if s.FilePath != nil && len(*s.FilePath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FilePath", 1)) + } + if s.RepositoryName == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryName")) + } + if s.RepositoryName != nil && len(*s.RepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1)) + } + if s.RepositoryProvider == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryProvider")) + } + if s.ServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceName")) + } + if s.ServiceName != nil && len(*s.ServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBranch sets the Branch field's value. +func (s *UpdateServiceSyncConfigInput) SetBranch(v string) *UpdateServiceSyncConfigInput { + s.Branch = &v + return s +} + +// SetFilePath sets the FilePath field's value. +func (s *UpdateServiceSyncConfigInput) SetFilePath(v string) *UpdateServiceSyncConfigInput { + s.FilePath = &v + return s +} + +// SetRepositoryName sets the RepositoryName field's value. +func (s *UpdateServiceSyncConfigInput) SetRepositoryName(v string) *UpdateServiceSyncConfigInput { + s.RepositoryName = &v + return s +} + +// SetRepositoryProvider sets the RepositoryProvider field's value. +func (s *UpdateServiceSyncConfigInput) SetRepositoryProvider(v string) *UpdateServiceSyncConfigInput { + s.RepositoryProvider = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *UpdateServiceSyncConfigInput) SetServiceName(v string) *UpdateServiceSyncConfigInput { + s.ServiceName = &v + return s +} + +type UpdateServiceSyncConfigOutput struct { + _ struct{} `type:"structure"` + + // The detailed data of the Proton Ops file. + ServiceSyncConfig *ServiceSyncConfig `locationName:"serviceSyncConfig" 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 UpdateServiceSyncConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateServiceSyncConfigOutput) GoString() string { + return s.String() +} + +// SetServiceSyncConfig sets the ServiceSyncConfig field's value. +func (s *UpdateServiceSyncConfigOutput) SetServiceSyncConfig(v *ServiceSyncConfig) *UpdateServiceSyncConfigOutput { + s.ServiceSyncConfig = v + return s +} + type UpdateServiceTemplateInput struct { _ struct{} `type:"structure"` @@ -22639,6 +24698,34 @@ func (s *ValidationException) RequestID() string { return s.RespMetadata.RequestID } +const ( + // BlockerStatusActive is a BlockerStatus enum value + BlockerStatusActive = "ACTIVE" + + // BlockerStatusResolved is a BlockerStatus enum value + BlockerStatusResolved = "RESOLVED" +) + +// BlockerStatus_Values returns all elements of the BlockerStatus enum +func BlockerStatus_Values() []string { + return []string{ + BlockerStatusActive, + BlockerStatusResolved, + } +} + +const ( + // BlockerTypeAutomated is a BlockerType enum value + BlockerTypeAutomated = "AUTOMATED" +) + +// BlockerType_Values returns all elements of the BlockerType enum +func BlockerType_Values() []string { + return []string{ + BlockerTypeAutomated, + } +} + const ( // ComponentDeploymentUpdateTypeNone is a ComponentDeploymentUpdateType enum value ComponentDeploymentUpdateTypeNone = "NONE" @@ -23056,12 +25143,16 @@ func SortOrder_Values() []string { const ( // SyncTypeTemplateSync is a SyncType enum value SyncTypeTemplateSync = "TEMPLATE_SYNC" + + // SyncTypeServiceSync is a SyncType enum value + SyncTypeServiceSync = "SERVICE_SYNC" ) // SyncType_Values returns all elements of the SyncType enum func SyncType_Values() []string { return []string{ SyncTypeTemplateSync, + SyncTypeServiceSync, } } diff --git a/service/proton/protoniface/interface.go b/service/proton/protoniface/interface.go index 1851ba88da6..4ce4c2df105 100644 --- a/service/proton/protoniface/interface.go +++ b/service/proton/protoniface/interface.go @@ -108,6 +108,14 @@ type ProtonAPI interface { CreateServiceWithContext(aws.Context, *proton.CreateServiceInput, ...request.Option) (*proton.CreateServiceOutput, error) CreateServiceRequest(*proton.CreateServiceInput) (*request.Request, *proton.CreateServiceOutput) + CreateServiceInstance(*proton.CreateServiceInstanceInput) (*proton.CreateServiceInstanceOutput, error) + CreateServiceInstanceWithContext(aws.Context, *proton.CreateServiceInstanceInput, ...request.Option) (*proton.CreateServiceInstanceOutput, error) + CreateServiceInstanceRequest(*proton.CreateServiceInstanceInput) (*request.Request, *proton.CreateServiceInstanceOutput) + + CreateServiceSyncConfig(*proton.CreateServiceSyncConfigInput) (*proton.CreateServiceSyncConfigOutput, error) + CreateServiceSyncConfigWithContext(aws.Context, *proton.CreateServiceSyncConfigInput, ...request.Option) (*proton.CreateServiceSyncConfigOutput, error) + CreateServiceSyncConfigRequest(*proton.CreateServiceSyncConfigInput) (*request.Request, *proton.CreateServiceSyncConfigOutput) + CreateServiceTemplate(*proton.CreateServiceTemplateInput) (*proton.CreateServiceTemplateOutput, error) CreateServiceTemplateWithContext(aws.Context, *proton.CreateServiceTemplateInput, ...request.Option) (*proton.CreateServiceTemplateOutput, error) CreateServiceTemplateRequest(*proton.CreateServiceTemplateInput) (*request.Request, *proton.CreateServiceTemplateOutput) @@ -148,6 +156,10 @@ type ProtonAPI interface { DeleteServiceWithContext(aws.Context, *proton.DeleteServiceInput, ...request.Option) (*proton.DeleteServiceOutput, error) DeleteServiceRequest(*proton.DeleteServiceInput) (*request.Request, *proton.DeleteServiceOutput) + DeleteServiceSyncConfig(*proton.DeleteServiceSyncConfigInput) (*proton.DeleteServiceSyncConfigOutput, error) + DeleteServiceSyncConfigWithContext(aws.Context, *proton.DeleteServiceSyncConfigInput, ...request.Option) (*proton.DeleteServiceSyncConfigOutput, error) + DeleteServiceSyncConfigRequest(*proton.DeleteServiceSyncConfigInput) (*request.Request, *proton.DeleteServiceSyncConfigOutput) + DeleteServiceTemplate(*proton.DeleteServiceTemplateInput) (*proton.DeleteServiceTemplateOutput, error) DeleteServiceTemplateWithContext(aws.Context, *proton.DeleteServiceTemplateInput, ...request.Option) (*proton.DeleteServiceTemplateOutput, error) DeleteServiceTemplateRequest(*proton.DeleteServiceTemplateInput) (*request.Request, *proton.DeleteServiceTemplateOutput) @@ -204,6 +216,18 @@ type ProtonAPI interface { GetServiceInstanceWithContext(aws.Context, *proton.GetServiceInstanceInput, ...request.Option) (*proton.GetServiceInstanceOutput, error) GetServiceInstanceRequest(*proton.GetServiceInstanceInput) (*request.Request, *proton.GetServiceInstanceOutput) + GetServiceInstanceSyncStatus(*proton.GetServiceInstanceSyncStatusInput) (*proton.GetServiceInstanceSyncStatusOutput, error) + GetServiceInstanceSyncStatusWithContext(aws.Context, *proton.GetServiceInstanceSyncStatusInput, ...request.Option) (*proton.GetServiceInstanceSyncStatusOutput, error) + GetServiceInstanceSyncStatusRequest(*proton.GetServiceInstanceSyncStatusInput) (*request.Request, *proton.GetServiceInstanceSyncStatusOutput) + + GetServiceSyncBlockerSummary(*proton.GetServiceSyncBlockerSummaryInput) (*proton.GetServiceSyncBlockerSummaryOutput, error) + GetServiceSyncBlockerSummaryWithContext(aws.Context, *proton.GetServiceSyncBlockerSummaryInput, ...request.Option) (*proton.GetServiceSyncBlockerSummaryOutput, error) + GetServiceSyncBlockerSummaryRequest(*proton.GetServiceSyncBlockerSummaryInput) (*request.Request, *proton.GetServiceSyncBlockerSummaryOutput) + + GetServiceSyncConfig(*proton.GetServiceSyncConfigInput) (*proton.GetServiceSyncConfigOutput, error) + GetServiceSyncConfigWithContext(aws.Context, *proton.GetServiceSyncConfigInput, ...request.Option) (*proton.GetServiceSyncConfigOutput, error) + GetServiceSyncConfigRequest(*proton.GetServiceSyncConfigInput) (*request.Request, *proton.GetServiceSyncConfigOutput) + GetServiceTemplate(*proton.GetServiceTemplateInput) (*proton.GetServiceTemplateOutput, error) GetServiceTemplateWithContext(aws.Context, *proton.GetServiceTemplateInput, ...request.Option) (*proton.GetServiceTemplateOutput, error) GetServiceTemplateRequest(*proton.GetServiceTemplateInput) (*request.Request, *proton.GetServiceTemplateOutput) @@ -412,6 +436,14 @@ type ProtonAPI interface { UpdateServicePipelineWithContext(aws.Context, *proton.UpdateServicePipelineInput, ...request.Option) (*proton.UpdateServicePipelineOutput, error) UpdateServicePipelineRequest(*proton.UpdateServicePipelineInput) (*request.Request, *proton.UpdateServicePipelineOutput) + UpdateServiceSyncBlocker(*proton.UpdateServiceSyncBlockerInput) (*proton.UpdateServiceSyncBlockerOutput, error) + UpdateServiceSyncBlockerWithContext(aws.Context, *proton.UpdateServiceSyncBlockerInput, ...request.Option) (*proton.UpdateServiceSyncBlockerOutput, error) + UpdateServiceSyncBlockerRequest(*proton.UpdateServiceSyncBlockerInput) (*request.Request, *proton.UpdateServiceSyncBlockerOutput) + + UpdateServiceSyncConfig(*proton.UpdateServiceSyncConfigInput) (*proton.UpdateServiceSyncConfigOutput, error) + UpdateServiceSyncConfigWithContext(aws.Context, *proton.UpdateServiceSyncConfigInput, ...request.Option) (*proton.UpdateServiceSyncConfigOutput, error) + UpdateServiceSyncConfigRequest(*proton.UpdateServiceSyncConfigInput) (*request.Request, *proton.UpdateServiceSyncConfigOutput) + UpdateServiceTemplate(*proton.UpdateServiceTemplateInput) (*proton.UpdateServiceTemplateOutput, error) UpdateServiceTemplateWithContext(aws.Context, *proton.UpdateServiceTemplateInput, ...request.Option) (*proton.UpdateServiceTemplateOutput, error) UpdateServiceTemplateRequest(*proton.UpdateServiceTemplateInput) (*request.Request, *proton.UpdateServiceTemplateOutput) diff --git a/service/rds/api.go b/service/rds/api.go index 676127c1dae..ccbac36570c 100644 --- a/service/rds/api.go +++ b/service/rds/api.go @@ -21401,13 +21401,15 @@ type CreateDBInstanceInput struct { // // * aurora-postgresql // - // * custom-oracle-ee (for RDS Custom for Oracle instances) + // * custom-oracle-ee (for RDS Custom for Oracle DB instances) // - // * custom-sqlserver-ee (for RDS Custom for SQL Server instances) + // * custom-oracle-ee-cdb (for RDS Custom for Oracle DB instances) // - // * custom-sqlserver-se (for RDS Custom for SQL Server instances) + // * custom-sqlserver-ee (for RDS Custom for SQL Server DB instances) // - // * custom-sqlserver-web (for RDS Custom for SQL Server instances) + // * custom-sqlserver-se (for RDS Custom for SQL Server DB instances) + // + // * custom-sqlserver-web (for RDS Custom for SQL Server DB instances) // // * mariadb // @@ -22442,9 +22444,6 @@ type CreateDBInstanceReadReplicaInput struct { // // Constraints: // - // * Can only be specified if the source DB instance identifier specifies - // a DB instance in another Amazon Web Services Region. - // // * If supplied, must match the name of an existing DBSubnetGroup. // // * The specified DB subnet group must be in the same Amazon Web Services @@ -24250,7 +24249,8 @@ type CreateGlobalClusterInput struct { // The engine version of the Aurora global database. EngineVersion *string `type:"string"` - // The cluster identifier of the new global database cluster. + // The cluster identifier of the new global database cluster. This parameter + // is stored as a lowercase string. GlobalClusterIdentifier *string `type:"string"` // The Amazon Resource Name (ARN) to use as the primary cluster of the global @@ -29404,7 +29404,8 @@ func (s *DeleteBlueGreenDeploymentOutput) SetBlueGreenDeployment(v *BlueGreenDep type DeleteCustomDBEngineVersionInput struct { _ struct{} `type:"structure"` - // The database engine. The only supported engine is custom-oracle-ee. + // The database engine. The only supported engines are custom-oracle-ee and + // custom-oracle-ee-cdb. // // Engine is a required field Engine *string `min:"1" type:"string" required:"true"` @@ -32586,6 +32587,10 @@ type DescribeDBClustersInput struct { // Resource Names (ARNs). The results list only includes information about // the DB clusters identified by these ARNs. // + // * db-cluster-resource-id - Accepts DB cluster resource identifiers. The + // results list will only include information about the DB clusters identified + // by these DB cluster resource identifiers. + // // * domain - Accepts Active Directory directory IDs. The results list only // includes information about the DB clusters associated with these domains. // @@ -39448,7 +39453,7 @@ type ModifyCustomDBEngineVersionInput struct { // An optional description of your CEV. Description *string `min:"1" type:"string"` - // The DB engine. The only supported value is custom-oracle-ee. + // The DB engine. The only supported values are custom-oracle-ee and custom-oracle-ee-cdb. // // Engine is a required field Engine *string `min:"1" type:"string" required:"true"` @@ -40127,12 +40132,10 @@ type ModifyDBClusterInput struct { // is disabled, changes to the DB cluster are applied during the next maintenance // window. // - // The ApplyImmediately parameter only affects the EnableIAMDatabaseAuthentication, - // MasterUserPassword, and NewDBClusterIdentifier values. If the ApplyImmediately - // parameter is disabled, then changes to the EnableIAMDatabaseAuthentication, - // MasterUserPassword, and NewDBClusterIdentifier values are applied during - // the next maintenance window. All other changes are applied immediately, regardless - // of the value of the ApplyImmediately parameter. + // 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. // diff --git a/service/rds/examples_test.go b/service/rds/examples_test.go index 93eed41923b..4b26845315b 100644 --- a/service/rds/examples_test.go +++ b/service/rds/examples_test.go @@ -25,13 +25,84 @@ func parseTime(layout, value string) *time.Time { return &t } -// To add a source identifier to an event notification subscription -// This example add a source identifier to an event notification subscription. +// To associate an AWS Identity and Access Management (IAM) role with a DB cluster +// The following example associates a role with a DB cluster. +func ExampleRDS_AddRoleToDBCluster_shared00() { + svc := rds.New(session.New()) + input := &rds.AddRoleToDBClusterInput{ + DBClusterIdentifier: aws.String("mydbcluster"), + RoleArn: aws.String("arn:aws:iam::123456789012:role/RDSLoadFromS3"), + } + + result, err := svc.AddRoleToDBCluster(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeDBClusterRoleAlreadyExistsFault: + fmt.Println(rds.ErrCodeDBClusterRoleAlreadyExistsFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + case rds.ErrCodeDBClusterRoleQuotaExceededFault: + fmt.Println(rds.ErrCodeDBClusterRoleQuotaExceededFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To associate an AWS Identity and Access Management (IAM) role with a DB instance +// The following example adds the role to a DB instance named test-instance. +func ExampleRDS_AddRoleToDBInstance_shared00() { + svc := rds.New(session.New()) + input := &rds.AddRoleToDBInstanceInput{ + DBInstanceIdentifier: aws.String("test-instance"), + FeatureName: aws.String("S3_INTEGRATION"), + RoleArn: aws.String("arn:aws:iam::111122223333:role/rds-s3-integration-role"), + } + + result, err := svc.AddRoleToDBInstance(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBInstanceNotFoundFault: + fmt.Println(rds.ErrCodeDBInstanceNotFoundFault, aerr.Error()) + case rds.ErrCodeDBInstanceRoleAlreadyExistsFault: + fmt.Println(rds.ErrCodeDBInstanceRoleAlreadyExistsFault, aerr.Error()) + case rds.ErrCodeInvalidDBInstanceStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + case rds.ErrCodeDBInstanceRoleQuotaExceededFault: + fmt.Println(rds.ErrCodeDBInstanceRoleQuotaExceededFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To add a source identifier to a subscription +// The following example adds another source identifier to an existing subscription. func ExampleRDS_AddSourceIdentifierToSubscription_shared00() { svc := rds.New(session.New()) input := &rds.AddSourceIdentifierToSubscriptionInput{ - SourceIdentifier: aws.String("mymysqlinstance"), - SubscriptionName: aws.String("mymysqleventsubscription"), + SourceIdentifier: aws.String("test-instance-repl"), + SubscriptionName: aws.String("my-instance-events"), } result, err := svc.AddSourceIdentifierToSubscription(input) @@ -100,14 +171,14 @@ func ExampleRDS_AddTagsToResource_shared00() { fmt.Println(result) } -// To apply a pending maintenance action -// This example immediately applies a pending system update to a DB instance. +// To apply pending maintenance actions +// The following example applies the pending maintenance actions for a DB cluster. func ExampleRDS_ApplyPendingMaintenanceAction_shared00() { svc := rds.New(session.New()) input := &rds.ApplyPendingMaintenanceActionInput{ ApplyAction: aws.String("system-update"), OptInType: aws.String("immediate"), - ResourceIdentifier: aws.String("arn:aws:rds:us-east-1:992648334831:db:mymysqlinstance"), + ResourceIdentifier: aws.String("arn:aws:rds:us-east-1:123456789012:cluster:my-db-cluster"), } result, err := svc.ApplyPendingMaintenanceAction(input) @@ -170,6 +241,37 @@ func ExampleRDS_AuthorizeDBSecurityGroupIngress_shared00() { fmt.Println(result) } +// To cancel a snapshot export to Amazon S3 +// The following example cancels an export task in progress that is exporting a snapshot +// to Amazon S3. +func ExampleRDS_CancelExportTask_shared00() { + svc := rds.New(session.New()) + input := &rds.CancelExportTaskInput{ + ExportTaskIdentifier: aws.String("my-s3-export-1"), + } + + result, err := svc.CancelExportTask(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeExportTaskNotFoundFault: + fmt.Println(rds.ErrCodeExportTaskNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidExportTaskStateFault: + fmt.Println(rds.ErrCodeInvalidExportTaskStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + // To copy a DB cluster parameter group // This example copies a DB cluster parameter group. func ExampleRDS_CopyDBClusterParameterGroup_shared00() { @@ -205,13 +307,13 @@ func ExampleRDS_CopyDBClusterParameterGroup_shared00() { } // To copy a DB cluster snapshot -// The following example copies an automated snapshot of a DB cluster to a new DB cluster -// snapshot. +// The following example creates a copy of a DB cluster snapshot, including its tags. func ExampleRDS_CopyDBClusterSnapshot_shared00() { svc := rds.New(session.New()) input := &rds.CopyDBClusterSnapshotInput{ - SourceDBClusterSnapshotIdentifier: aws.String("rds:sample-cluster-2016-09-14-10-38"), - TargetDBClusterSnapshotIdentifier: aws.String("cluster-snapshot-copy-1"), + CopyTags: aws.Bool(true), + SourceDBClusterSnapshotIdentifier: aws.String("arn:aws:rds:us-east-1:123456789012:cluster-snapshot:rds:myaurora-2019-06-04-09-16"), + TargetDBClusterSnapshotIdentifier: aws.String("myclustersnapshotcopy"), } result, err := svc.CopyDBClusterSnapshot(input) @@ -245,13 +347,13 @@ func ExampleRDS_CopyDBClusterSnapshot_shared00() { } // To copy a DB parameter group -// This example copies a DB parameter group. +// The following example makes a copy of a DB parameter group. func ExampleRDS_CopyDBParameterGroup_shared00() { svc := rds.New(session.New()) input := &rds.CopyDBParameterGroupInput{ - SourceDBParameterGroupIdentifier: aws.String("mymysqlparametergroup"), - TargetDBParameterGroupDescription: aws.String("My MySQL parameter group copy"), - TargetDBParameterGroupIdentifier: aws.String("mymysqlparametergroup-copy"), + SourceDBParameterGroupIdentifier: aws.String("mydbpg"), + TargetDBParameterGroupDescription: aws.String("Copy of mydbpg parameter group"), + TargetDBParameterGroupIdentifier: aws.String("mydbpgcopy"), } result, err := svc.CopyDBParameterGroup(input) @@ -279,12 +381,12 @@ func ExampleRDS_CopyDBParameterGroup_shared00() { } // To copy a DB snapshot -// This example copies a DB snapshot. +// The following example creates a copy of a DB snapshot. func ExampleRDS_CopyDBSnapshot_shared00() { svc := rds.New(session.New()) input := &rds.CopyDBSnapshotInput{ - SourceDBSnapshotIdentifier: aws.String("mydbsnapshot"), - TargetDBSnapshotIdentifier: aws.String("mydbsnapshot-copy"), + SourceDBSnapshotIdentifier: aws.String("rds:database-mysql-2019-06-06-08-38"), + TargetDBSnapshotIdentifier: aws.String("mydbsnapshotcopy"), } result, err := svc.CopyDBSnapshot(input) @@ -318,13 +420,13 @@ func ExampleRDS_CopyDBSnapshot_shared00() { } // To copy an option group -// This example copies an option group. +// The following example makes a copy of an option group. func ExampleRDS_CopyOptionGroup_shared00() { svc := rds.New(session.New()) input := &rds.CopyOptionGroupInput{ - SourceOptionGroupIdentifier: aws.String("mymysqloptiongroup"), - TargetOptionGroupDescription: aws.String("My MySQL option group copy"), - TargetOptionGroupIdentifier: aws.String("mymysqloptiongroup-copy"), + SourceOptionGroupIdentifier: aws.String("myoptiongroup"), + TargetOptionGroupDescription: aws.String("My option group copy"), + TargetOptionGroupIdentifier: aws.String("new-option-group"), } result, err := svc.CopyOptionGroup(input) @@ -351,24 +453,192 @@ func ExampleRDS_CopyOptionGroup_shared00() { fmt.Println(result) } -// To create a DB cluster -// This example creates a DB cluster. +// To create a blue/green deployment for an RDS for MySQL DB instance +// The following example creates a blue/green deployment for a MySQL DB instance. +func ExampleRDS_CreateBlueGreenDeployment_shared00() { + svc := rds.New(session.New()) + input := &rds.CreateBlueGreenDeploymentInput{ + BlueGreenDeploymentName: aws.String("bgd-test-instance"), + Source: aws.String("arn:aws:rds:us-east-1:123456789012:db:my-db-instance"), + TargetDBParameterGroupName: aws.String("mysql-80-group"), + TargetEngineVersion: aws.String("8.0"), + } + + result, err := svc.CreateBlueGreenDeployment(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBInstanceNotFoundFault: + fmt.Println(rds.ErrCodeDBInstanceNotFoundFault, aerr.Error()) + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeSourceDatabaseNotSupportedFault: + fmt.Println(rds.ErrCodeSourceDatabaseNotSupportedFault, aerr.Error()) + case rds.ErrCodeSourceClusterNotSupportedFault: + fmt.Println(rds.ErrCodeSourceClusterNotSupportedFault, aerr.Error()) + case rds.ErrCodeBlueGreenDeploymentAlreadyExistsFault: + fmt.Println(rds.ErrCodeBlueGreenDeploymentAlreadyExistsFault, aerr.Error()) + case rds.ErrCodeDBParameterGroupNotFoundFault: + fmt.Println(rds.ErrCodeDBParameterGroupNotFoundFault, aerr.Error()) + case rds.ErrCodeDBClusterParameterGroupNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterParameterGroupNotFoundFault, aerr.Error()) + case rds.ErrCodeInstanceQuotaExceededFault: + fmt.Println(rds.ErrCodeInstanceQuotaExceededFault, aerr.Error()) + case rds.ErrCodeDBClusterQuotaExceededFault: + fmt.Println(rds.ErrCodeDBClusterQuotaExceededFault, aerr.Error()) + case rds.ErrCodeInvalidDBInstanceStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To create a blue/green deployment for an Aurora MySQL DB cluster +// The following example creates a blue/green deployment for an Aurora MySQL DB cluster. +func ExampleRDS_CreateBlueGreenDeployment_shared01() { + svc := rds.New(session.New()) + input := &rds.CreateBlueGreenDeploymentInput{ + BlueGreenDeploymentName: aws.String("my-blue-green-deployment"), + Source: aws.String("arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster"), + TargetDBClusterParameterGroupName: aws.String("mysql-80-cluster-group"), + TargetDBParameterGroupName: aws.String("ams-80-binlog-enabled"), + TargetEngineVersion: aws.String("8.0"), + } + + result, err := svc.CreateBlueGreenDeployment(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBInstanceNotFoundFault: + fmt.Println(rds.ErrCodeDBInstanceNotFoundFault, aerr.Error()) + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeSourceDatabaseNotSupportedFault: + fmt.Println(rds.ErrCodeSourceDatabaseNotSupportedFault, aerr.Error()) + case rds.ErrCodeSourceClusterNotSupportedFault: + fmt.Println(rds.ErrCodeSourceClusterNotSupportedFault, aerr.Error()) + case rds.ErrCodeBlueGreenDeploymentAlreadyExistsFault: + fmt.Println(rds.ErrCodeBlueGreenDeploymentAlreadyExistsFault, aerr.Error()) + case rds.ErrCodeDBParameterGroupNotFoundFault: + fmt.Println(rds.ErrCodeDBParameterGroupNotFoundFault, aerr.Error()) + case rds.ErrCodeDBClusterParameterGroupNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterParameterGroupNotFoundFault, aerr.Error()) + case rds.ErrCodeInstanceQuotaExceededFault: + fmt.Println(rds.ErrCodeInstanceQuotaExceededFault, aerr.Error()) + case rds.ErrCodeDBClusterQuotaExceededFault: + fmt.Println(rds.ErrCodeDBClusterQuotaExceededFault, aerr.Error()) + case rds.ErrCodeInvalidDBInstanceStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To create a MySQL 5.7--compatible DB cluster +// The following example create a MySQL 5.7-compatible DB cluster. func ExampleRDS_CreateDBCluster_shared00() { svc := rds.New(session.New()) input := &rds.CreateDBClusterInput{ - AvailabilityZones: []*string{ - aws.String("us-east-1a"), + DBClusterIdentifier: aws.String("sample-cluster"), + DBSubnetGroupName: aws.String("default"), + Engine: aws.String("aurora-mysql"), + EngineVersion: aws.String("5.7.12"), + MasterUserPassword: aws.String("mypassword"), + MasterUsername: aws.String("admin"), + VpcSecurityGroupIds: []*string{ + aws.String("sg-0b91305example"), + }, + } + + result, err := svc.CreateDBCluster(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBClusterAlreadyExistsFault: + fmt.Println(rds.ErrCodeDBClusterAlreadyExistsFault, aerr.Error()) + case rds.ErrCodeInsufficientStorageClusterCapacityFault: + fmt.Println(rds.ErrCodeInsufficientStorageClusterCapacityFault, aerr.Error()) + case rds.ErrCodeDBClusterQuotaExceededFault: + fmt.Println(rds.ErrCodeDBClusterQuotaExceededFault, aerr.Error()) + case rds.ErrCodeStorageQuotaExceededFault: + fmt.Println(rds.ErrCodeStorageQuotaExceededFault, aerr.Error()) + case rds.ErrCodeDBSubnetGroupNotFoundFault: + fmt.Println(rds.ErrCodeDBSubnetGroupNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidVPCNetworkStateFault: + fmt.Println(rds.ErrCodeInvalidVPCNetworkStateFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + case rds.ErrCodeInvalidDBSubnetGroupStateFault: + fmt.Println(rds.ErrCodeInvalidDBSubnetGroupStateFault, aerr.Error()) + case rds.ErrCodeInvalidSubnet: + fmt.Println(rds.ErrCodeInvalidSubnet, aerr.Error()) + case rds.ErrCodeInvalidDBInstanceStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + case rds.ErrCodeDBClusterParameterGroupNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterParameterGroupNotFoundFault, aerr.Error()) + case rds.ErrCodeKMSKeyNotAccessibleFault: + fmt.Println(rds.ErrCodeKMSKeyNotAccessibleFault, aerr.Error()) + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeDBInstanceNotFoundFault: + fmt.Println(rds.ErrCodeDBInstanceNotFoundFault, aerr.Error()) + case rds.ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs: + fmt.Println(rds.ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs, aerr.Error()) + case rds.ErrCodeGlobalClusterNotFoundFault: + fmt.Println(rds.ErrCodeGlobalClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidGlobalClusterStateFault: + fmt.Println(rds.ErrCodeInvalidGlobalClusterStateFault, aerr.Error()) + case rds.ErrCodeDomainNotFoundFault: + fmt.Println(rds.ErrCodeDomainNotFoundFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To create a PostgreSQL--compatible DB cluster +// The following creates a PostgreSQL-compatible DB cluster. +func ExampleRDS_CreateDBCluster_shared01() { + svc := rds.New(session.New()) + input := &rds.CreateDBClusterInput{ + DBClusterIdentifier: aws.String("sample-pg-cluster"), + DBSubnetGroupName: aws.String("default"), + Engine: aws.String("aurora-postgresql"), + MasterUserPassword: aws.String("mypassword"), + MasterUsername: aws.String("admin"), + VpcSecurityGroupIds: []*string{ + aws.String("sg-0b91305example"), }, - BackupRetentionPeriod: aws.Int64(1), - DBClusterIdentifier: aws.String("mydbcluster"), - DBClusterParameterGroupName: aws.String("mydbclusterparametergroup"), - DatabaseName: aws.String("myauroradb"), - Engine: aws.String("aurora"), - EngineVersion: aws.String("5.6.10a"), - MasterUserPassword: aws.String("mypassword"), - MasterUsername: aws.String("myuser"), - Port: aws.Int64(3306), - StorageEncrypted: aws.Bool(true), } result, err := svc.CreateDBCluster(input) @@ -425,14 +695,59 @@ func ExampleRDS_CreateDBCluster_shared00() { fmt.Println(result) } +// To create a custom DB cluster endpoint +// The following example creates a custom DB cluster endpoint and associate it with +// the specified Aurora DB cluster. +func ExampleRDS_CreateDBClusterEndpoint_shared00() { + svc := rds.New(session.New()) + input := &rds.CreateDBClusterEndpointInput{ + DBClusterEndpointIdentifier: aws.String("mycustomendpoint"), + DBClusterIdentifier: aws.String("mydbcluster"), + EndpointType: aws.String("reader"), + StaticMembers: []*string{ + aws.String("dbinstance1"), + aws.String("dbinstance2"), + }, + } + + result, err := svc.CreateDBClusterEndpoint(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBClusterEndpointQuotaExceededFault: + fmt.Println(rds.ErrCodeDBClusterEndpointQuotaExceededFault, aerr.Error()) + case rds.ErrCodeDBClusterEndpointAlreadyExistsFault: + fmt.Println(rds.ErrCodeDBClusterEndpointAlreadyExistsFault, aerr.Error()) + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + case rds.ErrCodeDBInstanceNotFoundFault: + fmt.Println(rds.ErrCodeDBInstanceNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidDBInstanceStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + // To create a DB cluster parameter group -// This example creates a DB cluster parameter group. +// The following example creates a DB cluster parameter group. func ExampleRDS_CreateDBClusterParameterGroup_shared00() { svc := rds.New(session.New()) input := &rds.CreateDBClusterParameterGroupInput{ DBClusterParameterGroupName: aws.String("mydbclusterparametergroup"), DBParameterGroupFamily: aws.String("aurora5.6"), - Description: aws.String("My DB cluster parameter group"), + Description: aws.String("My new cluster parameter group"), } result, err := svc.CreateDBClusterParameterGroup(input) @@ -458,12 +773,12 @@ func ExampleRDS_CreateDBClusterParameterGroup_shared00() { } // To create a DB cluster snapshot -// This example creates a DB cluster snapshot. +// The following example creates a DB cluster snapshot. func ExampleRDS_CreateDBClusterSnapshot_shared00() { svc := rds.New(session.New()) input := &rds.CreateDBClusterSnapshotInput{ - DBClusterIdentifier: aws.String("mydbcluster"), - DBClusterSnapshotIdentifier: aws.String("mydbclustersnapshot"), + DBClusterIdentifier: aws.String("mydbclustersnapshot"), + DBClusterSnapshotIdentifier: aws.String("mydbcluster"), } result, err := svc.CreateDBClusterSnapshot(input) @@ -494,17 +809,17 @@ func ExampleRDS_CreateDBClusterSnapshot_shared00() { fmt.Println(result) } -// To create a DB instance. -// This example creates a DB instance. +// To create a DB instance +// The following example uses the required options to launch a new DB instance. func ExampleRDS_CreateDBInstance_shared00() { svc := rds.New(session.New()) input := &rds.CreateDBInstanceInput{ - AllocatedStorage: aws.Int64(5), - DBInstanceClass: aws.String("db.t2.micro"), - DBInstanceIdentifier: aws.String("mymysqlinstance"), - Engine: aws.String("MySQL"), - MasterUserPassword: aws.String("MyPassword"), - MasterUsername: aws.String("MyUser"), + AllocatedStorage: aws.Int64(20), + DBInstanceClass: aws.String("db.t3.micro"), + DBInstanceIdentifier: aws.String("test-mysql-instance"), + Engine: aws.String("mysql"), + MasterUserPassword: aws.String("secret99"), + MasterUsername: aws.String("admin"), } result, err := svc.CreateDBInstance(input) @@ -567,24 +882,14 @@ func ExampleRDS_CreateDBInstance_shared00() { fmt.Println(result) } -// To create a DB instance read replica. -// This example creates a DB instance read replica. +// To create a DB instance read replica +// This example creates a read replica of an existing DB instance named test-instance. +// The read replica is named test-instance-repl. func ExampleRDS_CreateDBInstanceReadReplica_shared00() { svc := rds.New(session.New()) input := &rds.CreateDBInstanceReadReplicaInput{ - AvailabilityZone: aws.String("us-east-1a"), - CopyTagsToSnapshot: aws.Bool(true), - DBInstanceClass: aws.String("db.t2.micro"), - DBInstanceIdentifier: aws.String("mydbreadreplica"), - PubliclyAccessible: aws.Bool(true), - SourceDBInstanceIdentifier: aws.String("mymysqlinstance"), - StorageType: aws.String("gp2"), - Tags: []*rds.Tag{ - { - Key: aws.String("mydbreadreplicakey"), - Value: aws.String("mydbreadreplicavalue"), - }, - }, + DBInstanceIdentifier: aws.String("test-instance-repl"), + SourceDBInstanceIdentifier: aws.String("test-instance"), } result, err := svc.CreateDBInstanceReadReplica(input) @@ -649,14 +954,14 @@ func ExampleRDS_CreateDBInstanceReadReplica_shared00() { fmt.Println(result) } -// To create a DB parameter group. -// This example creates a DB parameter group. +// To create a DB parameter group +// The following example creates a DB parameter group. func ExampleRDS_CreateDBParameterGroup_shared00() { svc := rds.New(session.New()) input := &rds.CreateDBParameterGroupInput{ - DBParameterGroupFamily: aws.String("mysql5.6"), - DBParameterGroupName: aws.String("mymysqlparametergroup"), - Description: aws.String("My MySQL parameter group"), + DBParameterGroupFamily: aws.String("MySQL8.0"), + DBParameterGroupName: aws.String("mydbparametergroup"), + Description: aws.String("My new parameter group"), } result, err := svc.CreateDBParameterGroup(input) @@ -714,13 +1019,13 @@ func ExampleRDS_CreateDBSecurityGroup_shared00() { fmt.Println(result) } -// To create a DB snapshot. -// This example creates a DB snapshot. +// To create a DB snapshot +// The following example creates a DB snapshot. func ExampleRDS_CreateDBSnapshot_shared00() { svc := rds.New(session.New()) input := &rds.CreateDBSnapshotInput{ - DBInstanceIdentifier: aws.String("mymysqlinstance"), - DBSnapshotIdentifier: aws.String("mydbsnapshot"), + DBInstanceIdentifier: aws.String("mydbsnapshot"), + DBSnapshotIdentifier: aws.String("database-mysql"), } result, err := svc.CreateDBSnapshot(input) @@ -749,16 +1054,18 @@ func ExampleRDS_CreateDBSnapshot_shared00() { fmt.Println(result) } -// To create a DB subnet group. -// This example creates a DB subnet group. +// To create a DB subnet group +// The following example creates a DB subnet group called mysubnetgroup using existing +// subnets. func ExampleRDS_CreateDBSubnetGroup_shared00() { svc := rds.New(session.New()) input := &rds.CreateDBSubnetGroupInput{ - DBSubnetGroupDescription: aws.String("My DB subnet group"), - DBSubnetGroupName: aws.String("mydbsubnetgroup"), + DBSubnetGroupDescription: aws.String("test DB subnet group"), + DBSubnetGroupName: aws.String("mysubnetgroup"), SubnetIds: []*string{ - aws.String("subnet-1fab8a69"), - aws.String("subnet-d43a468c"), + aws.String("subnet-0a1dc4e1a6f123456"), + aws.String("subnet-070dd7ecb3aaaaaaa"), + aws.String("subnet-00f5b198bc0abcdef"), }, } @@ -790,21 +1097,20 @@ func ExampleRDS_CreateDBSubnetGroup_shared00() { fmt.Println(result) } -// To create an event notification subscription -// This example creates an event notification subscription. +// To create an event subscription +// The following example creates a subscription for backup and recovery events for DB +// instances in the current AWS account. Notifications are sent to an Amazon Simple +// Notification Service topic. func ExampleRDS_CreateEventSubscription_shared00() { svc := rds.New(session.New()) input := &rds.CreateEventSubscriptionInput{ - Enabled: aws.Bool(true), EventCategories: []*string{ - aws.String("availability"), - }, - SnsTopicArn: aws.String("arn:aws:sns:us-east-1:992648334831:MyDemoSNSTopic"), - SourceIds: []*string{ - aws.String("mymysqlinstance"), + aws.String("backup"), + aws.String("recovery"), }, + SnsTopicArn: aws.String("arn:aws:sns:us-east-1:123456789012:interesting-events"), SourceType: aws.String("db-instance"), - SubscriptionName: aws.String("mymysqleventsubscription"), + SubscriptionName: aws.String("my-instance-events"), } result, err := svc.CreateEventSubscription(input) @@ -839,25 +1145,27 @@ func ExampleRDS_CreateEventSubscription_shared00() { fmt.Println(result) } -// To create an option group -// This example creates an option group. -func ExampleRDS_CreateOptionGroup_shared00() { +// To create a global DB cluster +// The following example creates a new Aurora MySQL-compatible global DB cluster. +func ExampleRDS_CreateGlobalCluster_shared00() { svc := rds.New(session.New()) - input := &rds.CreateOptionGroupInput{ - EngineName: aws.String("MySQL"), - MajorEngineVersion: aws.String("5.6"), - OptionGroupDescription: aws.String("My MySQL 5.6 option group"), - OptionGroupName: aws.String("mymysqloptiongroup"), + input := &rds.CreateGlobalClusterInput{ + Engine: aws.String("aurora-mysql"), + GlobalClusterIdentifier: aws.String("myglobalcluster"), } - result, err := svc.CreateOptionGroup(input) + result, err := svc.CreateGlobalCluster(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { - case rds.ErrCodeOptionGroupAlreadyExistsFault: - fmt.Println(rds.ErrCodeOptionGroupAlreadyExistsFault, aerr.Error()) - case rds.ErrCodeOptionGroupQuotaExceededFault: - fmt.Println(rds.ErrCodeOptionGroupQuotaExceededFault, aerr.Error()) + case rds.ErrCodeGlobalClusterAlreadyExistsFault: + fmt.Println(rds.ErrCodeGlobalClusterAlreadyExistsFault, aerr.Error()) + case rds.ErrCodeGlobalClusterQuotaExceededFault: + fmt.Println(rds.ErrCodeGlobalClusterQuotaExceededFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -872,13 +1180,114 @@ func ExampleRDS_CreateOptionGroup_shared00() { fmt.Println(result) } -// To delete a DB cluster. -// This example deletes the specified DB cluster. -func ExampleRDS_DeleteDBCluster_shared00() { +// To Create an Amazon RDS option group +// The following example creates a new Amazon RDS option group for Oracle MySQL version +// 8,0 named MyOptionGroup. +func ExampleRDS_CreateOptionGroup_shared00() { svc := rds.New(session.New()) - input := &rds.DeleteDBClusterInput{ - DBClusterIdentifier: aws.String("mydbcluster"), - SkipFinalSnapshot: aws.Bool(true), + input := &rds.CreateOptionGroupInput{ + EngineName: aws.String("mysql"), + MajorEngineVersion: aws.String("8.0"), + OptionGroupDescription: aws.String("MySQL 8.0 option group"), + OptionGroupName: aws.String("MyOptionGroup"), + } + + result, err := svc.CreateOptionGroup(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeOptionGroupAlreadyExistsFault: + fmt.Println(rds.ErrCodeOptionGroupAlreadyExistsFault, aerr.Error()) + case rds.ErrCodeOptionGroupQuotaExceededFault: + fmt.Println(rds.ErrCodeOptionGroupQuotaExceededFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To delete resources in green environment for an RDS for MySQL DB instance +// The following example deletes the resources in a green environment for an RDS for +// MySQL DB instance. +func ExampleRDS_DeleteBlueGreenDeployment_shared00() { + svc := rds.New(session.New()) + input := &rds.DeleteBlueGreenDeploymentInput{ + BlueGreenDeploymentIdentifier: aws.String("bgd-v53303651eexfake"), + DeleteTarget: aws.Bool(true), + } + + result, err := svc.DeleteBlueGreenDeployment(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeBlueGreenDeploymentNotFoundFault: + fmt.Println(rds.ErrCodeBlueGreenDeploymentNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidBlueGreenDeploymentStateFault: + fmt.Println(rds.ErrCodeInvalidBlueGreenDeploymentStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To delete resources in green environment for an Aurora MySQL DB cluster +// The following example deletes the resources in a green environment for an Aurora +// MySQL DB cluster. +func ExampleRDS_DeleteBlueGreenDeployment_shared01() { + svc := rds.New(session.New()) + input := &rds.DeleteBlueGreenDeploymentInput{ + BlueGreenDeploymentIdentifier: aws.String("bgd-wi89nwzglccsfake"), + DeleteTarget: aws.Bool(true), + } + + result, err := svc.DeleteBlueGreenDeployment(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeBlueGreenDeploymentNotFoundFault: + fmt.Println(rds.ErrCodeBlueGreenDeploymentNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidBlueGreenDeploymentStateFault: + fmt.Println(rds.ErrCodeInvalidBlueGreenDeploymentStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To delete a DB cluster +// The following example deletes the DB cluster named mycluster and takes a final snapshot +// named mycluster-final-snapshot. The status of the DB cluster is available while the +// snapshot is being taken. +func ExampleRDS_DeleteDBCluster_shared00() { + svc := rds.New(session.New()) + input := &rds.DeleteDBClusterInput{ + DBClusterIdentifier: aws.String("mycluster"), + FinalDBSnapshotIdentifier: aws.String("mycluster-final-snapshot"), + SkipFinalSnapshot: aws.Bool(false), } result, err := svc.DeleteDBCluster(input) @@ -909,8 +1318,40 @@ func ExampleRDS_DeleteDBCluster_shared00() { fmt.Println(result) } -// To delete a DB cluster parameter group. -// This example deletes the specified DB cluster parameter group. +// To delete a custom DB cluster endpoint +// The following example deletes the specified custom DB cluster endpoint. +func ExampleRDS_DeleteDBClusterEndpoint_shared00() { + svc := rds.New(session.New()) + input := &rds.DeleteDBClusterEndpointInput{ + DBClusterEndpointIdentifier: aws.String("mycustomendpoint"), + } + + result, err := svc.DeleteDBClusterEndpoint(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeInvalidDBClusterEndpointStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterEndpointStateFault, aerr.Error()) + case rds.ErrCodeDBClusterEndpointNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterEndpointNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To delete a DB cluster parameter group +// The following example deletes the specified DB cluster parameter group. func ExampleRDS_DeleteDBClusterParameterGroup_shared00() { svc := rds.New(session.New()) input := &rds.DeleteDBClusterParameterGroupInput{ @@ -939,8 +1380,9 @@ func ExampleRDS_DeleteDBClusterParameterGroup_shared00() { fmt.Println(result) } -// To delete a DB cluster snapshot. -// This example deletes the specified DB cluster snapshot. +// To delete a DB cluster snapshot +// + func ExampleRDS_DeleteDBClusterSnapshot_shared00() { svc := rds.New(session.New()) input := &rds.DeleteDBClusterSnapshotInput{ @@ -969,13 +1411,15 @@ func ExampleRDS_DeleteDBClusterSnapshot_shared00() { fmt.Println(result) } -// To delete a DB instance. -// This example deletes the specified DB instance. +// To delete a DB instance +// The following example deletes the specified DB instance after creating a final DB +// snapshot named test-instance-final-snap. func ExampleRDS_DeleteDBInstance_shared00() { svc := rds.New(session.New()) input := &rds.DeleteDBInstanceInput{ - DBInstanceIdentifier: aws.String("mymysqlinstance"), - SkipFinalSnapshot: aws.Bool(true), + DBInstanceIdentifier: aws.String("test-instance"), + FinalDBSnapshotIdentifier: aws.String("test-instance-final-snap"), + SkipFinalSnapshot: aws.Bool(false), } result, err := svc.DeleteDBInstance(input) @@ -1008,12 +1452,43 @@ func ExampleRDS_DeleteDBInstance_shared00() { fmt.Println(result) } +// To delete a replicated automated backup from a Region +// The following example deletes the automated backup with the specified Amazon Resource +// Name (ARN). +func ExampleRDS_DeleteDBInstanceAutomatedBackup_shared00() { + svc := rds.New(session.New()) + input := &rds.DeleteDBInstanceAutomatedBackupInput{ + DBInstanceAutomatedBackupsArn: aws.String("arn:aws:rds:us-west-2:123456789012:auto-backup:ab-jkib2gfq5rv7replzadausbrktni2bn4example"), + } + + result, err := svc.DeleteDBInstanceAutomatedBackup(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeInvalidDBInstanceAutomatedBackupStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceAutomatedBackupStateFault, aerr.Error()) + case rds.ErrCodeDBInstanceAutomatedBackupNotFoundFault: + fmt.Println(rds.ErrCodeDBInstanceAutomatedBackupNotFoundFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + // To delete a DB parameter group // The following example deletes a DB parameter group. func ExampleRDS_DeleteDBParameterGroup_shared00() { svc := rds.New(session.New()) input := &rds.DeleteDBParameterGroupInput{ - DBParameterGroupName: aws.String("mydbparamgroup3"), + DBParameterGroupName: aws.String("mydbparametergroup"), } result, err := svc.DeleteDBParameterGroup(input) @@ -1068,8 +1543,8 @@ func ExampleRDS_DeleteDBSecurityGroup_shared00() { fmt.Println(result) } -// To delete a DB cluster snapshot. -// This example deletes the specified DB snapshot. +// To delete a DB snapshot +// The following example deletes the specified DB snapshot. func ExampleRDS_DeleteDBSnapshot_shared00() { svc := rds.New(session.New()) input := &rds.DeleteDBSnapshotInput{ @@ -1098,12 +1573,12 @@ func ExampleRDS_DeleteDBSnapshot_shared00() { fmt.Println(result) } -// To delete a DB subnet group. -// This example deletes the specified DB subnetgroup. +// To delete a DB subnet group +// The following example deletes the DB subnet group called mysubnetgroup. func ExampleRDS_DeleteDBSubnetGroup_shared00() { svc := rds.New(session.New()) input := &rds.DeleteDBSubnetGroupInput{ - DBSubnetGroupName: aws.String("mydbsubnetgroup"), + DBSubnetGroupName: aws.String("mysubnetgroup"), } result, err := svc.DeleteDBSubnetGroup(input) @@ -1130,12 +1605,12 @@ func ExampleRDS_DeleteDBSubnetGroup_shared00() { fmt.Println(result) } -// To delete a DB event subscription. -// This example deletes the specified DB event subscription. +// To delete an event subscription +// The following example deletes the specified event subscription. func ExampleRDS_DeleteEventSubscription_shared00() { svc := rds.New(session.New()) input := &rds.DeleteEventSubscriptionInput{ - SubscriptionName: aws.String("myeventsubscription"), + SubscriptionName: aws.String("my-instance-events"), } result, err := svc.DeleteEventSubscription(input) @@ -1160,12 +1635,42 @@ func ExampleRDS_DeleteEventSubscription_shared00() { fmt.Println(result) } -// To delete an option group. -// This example deletes the specified option group. +// To delete a global DB cluster +// The following example deletes an Aurora MySQL-compatible global DB cluster. +func ExampleRDS_DeleteGlobalCluster_shared00() { + svc := rds.New(session.New()) + input := &rds.DeleteGlobalClusterInput{ + GlobalClusterIdentifier: aws.String("myglobalcluster"), + } + + result, err := svc.DeleteGlobalCluster(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeGlobalClusterNotFoundFault: + fmt.Println(rds.ErrCodeGlobalClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidGlobalClusterStateFault: + fmt.Println(rds.ErrCodeInvalidGlobalClusterStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To delete an option group +// The following example deletes the specified option group. func ExampleRDS_DeleteOptionGroup_shared00() { svc := rds.New(session.New()) input := &rds.DeleteOptionGroupInput{ - OptionGroupName: aws.String("mydboptiongroup"), + OptionGroupName: aws.String("myoptiongroup"), } result, err := svc.DeleteOptionGroup(input) @@ -1190,8 +1695,8 @@ func ExampleRDS_DeleteOptionGroup_shared00() { fmt.Println(result) } -// To list account attributes -// This example lists account attributes. +// To describe account attributes +// The following example retrieves the attributes for the current AWS account. func ExampleRDS_DescribeAccountAttributes_shared00() { svc := rds.New(session.New()) input := &rds.DescribeAccountAttributesInput{} @@ -1214,21 +1719,21 @@ func ExampleRDS_DescribeAccountAttributes_shared00() { fmt.Println(result) } -// To list certificates -// This example lists up to 20 certificates for the specified certificate identifier. -func ExampleRDS_DescribeCertificates_shared00() { +// To describe a blue/green deployment of an RDS DB instance after creation completes +// The following example retrieves the details of a blue/green deployment after creation +// completes. +func ExampleRDS_DescribeBlueGreenDeployments_shared00() { svc := rds.New(session.New()) - input := &rds.DescribeCertificatesInput{ - CertificateIdentifier: aws.String("rds-ca-2015"), - MaxRecords: aws.Int64(20), + input := &rds.DescribeBlueGreenDeploymentsInput{ + BlueGreenDeploymentIdentifier: aws.String("bgd-v53303651eexfake"), } - result, err := svc.DescribeCertificates(input) + result, err := svc.DescribeBlueGreenDeployments(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { - case rds.ErrCodeCertificateNotFoundFault: - fmt.Println(rds.ErrCodeCertificateNotFoundFault, aerr.Error()) + case rds.ErrCodeBlueGreenDeploymentNotFoundFault: + fmt.Println(rds.ErrCodeBlueGreenDeploymentNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -1243,20 +1748,20 @@ func ExampleRDS_DescribeCertificates_shared00() { fmt.Println(result) } -// To list DB cluster parameter group settings -// This example lists settings for the specified DB cluster parameter group. -func ExampleRDS_DescribeDBClusterParameterGroups_shared00() { +// To describe a blue/green deployment for an Aurora MySQL DB cluster +// The following example retrieves the details of a blue/green deployment. +func ExampleRDS_DescribeBlueGreenDeployments_shared01() { svc := rds.New(session.New()) - input := &rds.DescribeDBClusterParameterGroupsInput{ - DBClusterParameterGroupName: aws.String("mydbclusterparametergroup"), + input := &rds.DescribeBlueGreenDeploymentsInput{ + BlueGreenDeploymentIdentifier: aws.String("bgd-wi89nwzglccsfake"), } - result, err := svc.DescribeDBClusterParameterGroups(input) + result, err := svc.DescribeBlueGreenDeployments(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { - case rds.ErrCodeDBParameterGroupNotFoundFault: - fmt.Println(rds.ErrCodeDBParameterGroupNotFoundFault, aerr.Error()) + case rds.ErrCodeBlueGreenDeploymentNotFoundFault: + fmt.Println(rds.ErrCodeBlueGreenDeploymentNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -1271,21 +1776,21 @@ func ExampleRDS_DescribeDBClusterParameterGroups_shared00() { fmt.Println(result) } -// To list DB cluster parameters -// This example lists system parameters for the specified DB cluster parameter group. -func ExampleRDS_DescribeDBClusterParameters_shared00() { +// To describe a blue/green deployment for an Aurora MySQL cluster after switchover +// The following example retrieves the details about a blue/green deployment after the +// green environment is promoted to be the production environment. +func ExampleRDS_DescribeBlueGreenDeployments_shared02() { svc := rds.New(session.New()) - input := &rds.DescribeDBClusterParametersInput{ - DBClusterParameterGroupName: aws.String("mydbclusterparametergroup"), - Source: aws.String("system"), + input := &rds.DescribeBlueGreenDeploymentsInput{ + BlueGreenDeploymentIdentifier: aws.String("bgd-wi89nwzglccsfake"), } - result, err := svc.DescribeDBClusterParameters(input) + result, err := svc.DescribeBlueGreenDeployments(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { - case rds.ErrCodeDBParameterGroupNotFoundFault: - fmt.Println(rds.ErrCodeDBParameterGroupNotFoundFault, aerr.Error()) + case rds.ErrCodeBlueGreenDeploymentNotFoundFault: + fmt.Println(rds.ErrCodeBlueGreenDeploymentNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -1300,20 +1805,19 @@ func ExampleRDS_DescribeDBClusterParameters_shared00() { fmt.Println(result) } -// To list DB cluster snapshot attributes -// This example lists attributes for the specified DB cluster snapshot. -func ExampleRDS_DescribeDBClusterSnapshotAttributes_shared00() { +// To describe certificates +// The following example retrieves the details of the certificate associated with the +// user's default region. +func ExampleRDS_DescribeCertificates_shared00() { svc := rds.New(session.New()) - input := &rds.DescribeDBClusterSnapshotAttributesInput{ - DBClusterSnapshotIdentifier: aws.String("mydbclustersnapshot"), - } + input := &rds.DescribeCertificatesInput{} - result, err := svc.DescribeDBClusterSnapshotAttributes(input) + result, err := svc.DescribeCertificates(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { - case rds.ErrCodeDBClusterSnapshotNotFoundFault: - fmt.Println(rds.ErrCodeDBClusterSnapshotNotFoundFault, aerr.Error()) + case rds.ErrCodeCertificateNotFoundFault: + fmt.Println(rds.ErrCodeCertificateNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -1328,21 +1832,22 @@ func ExampleRDS_DescribeDBClusterSnapshotAttributes_shared00() { fmt.Println(result) } -// To list DB cluster snapshots -// This example lists settings for the specified, manually-created cluster snapshot. -func ExampleRDS_DescribeDBClusterSnapshots_shared00() { +// To describe backtracks for a DB cluster +// The following example retrieves details about the specified DB cluster. +func ExampleRDS_DescribeDBClusterBacktracks_shared00() { svc := rds.New(session.New()) - input := &rds.DescribeDBClusterSnapshotsInput{ - DBClusterSnapshotIdentifier: aws.String("mydbclustersnapshot"), - SnapshotType: aws.String("manual"), + input := &rds.DescribeDBClusterBacktracksInput{ + DBClusterIdentifier: aws.String("mydbcluster"), } - result, err := svc.DescribeDBClusterSnapshots(input) + result, err := svc.DescribeDBClusterBacktracks(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { - case rds.ErrCodeDBClusterSnapshotNotFoundFault: - fmt.Println(rds.ErrCodeDBClusterSnapshotNotFoundFault, aerr.Error()) + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeDBClusterBacktrackNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterBacktrackNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -1357,15 +1862,16 @@ func ExampleRDS_DescribeDBClusterSnapshots_shared00() { fmt.Println(result) } -// To list DB clusters -// This example lists settings for the specified DB cluster. -func ExampleRDS_DescribeDBClusters_shared00() { +// To describe DB cluster endpoints +// The following example retrieves details for your DB cluster endpoints. The most common +// kinds of Aurora clusters have two endpoints. One endpoint has type WRITER. You can +// use this endpoint for all SQL statements. The other endpoint has type READER. You +// can use this endpoint only for SELECT and other read-only SQL statements. +func ExampleRDS_DescribeDBClusterEndpoints_shared00() { svc := rds.New(session.New()) - input := &rds.DescribeDBClustersInput{ - DBClusterIdentifier: aws.String("mynewdbcluster"), - } + input := &rds.DescribeDBClusterEndpointsInput{} - result, err := svc.DescribeDBClusters(input) + result, err := svc.DescribeDBClusterEndpoints(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { @@ -1385,22 +1891,22 @@ func ExampleRDS_DescribeDBClusters_shared00() { fmt.Println(result) } -// To list DB engine version settings -// This example lists settings for the specified DB engine version. -func ExampleRDS_DescribeDBEngineVersions_shared00() { +// To describe DB cluster endpoints of a single DB cluster +// The following example retrieves details for the DB cluster endpoints of a single +// specified DB cluster. Aurora Serverless clusters have only a single endpoint with +// a type of WRITER. +func ExampleRDS_DescribeDBClusterEndpoints_shared01() { svc := rds.New(session.New()) - input := &rds.DescribeDBEngineVersionsInput{ - DBParameterGroupFamily: aws.String("mysql5.6"), - DefaultOnly: aws.Bool(true), - Engine: aws.String("mysql"), - EngineVersion: aws.String("5.6"), - ListSupportedCharacterSets: aws.Bool(true), + input := &rds.DescribeDBClusterEndpointsInput{ + DBClusterIdentifier: aws.String("serverless-cluster"), } - result, err := svc.DescribeDBEngineVersions(input) + result, err := svc.DescribeDBClusterEndpoints(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -1415,20 +1921,18 @@ func ExampleRDS_DescribeDBEngineVersions_shared00() { fmt.Println(result) } -// To list DB instance settings -// This example lists settings for the specified DB instance. -func ExampleRDS_DescribeDBInstances_shared00() { +// To describe DB cluster parameter groups +// The following example retrieves details for your DB cluster parameter groups. +func ExampleRDS_DescribeDBClusterParameterGroups_shared00() { svc := rds.New(session.New()) - input := &rds.DescribeDBInstancesInput{ - DBInstanceIdentifier: aws.String("mymysqlinstance"), - } + input := &rds.DescribeDBClusterParameterGroupsInput{} - result, err := svc.DescribeDBInstances(input) + result, err := svc.DescribeDBClusterParameterGroups(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { - case rds.ErrCodeDBInstanceNotFoundFault: - fmt.Println(rds.ErrCodeDBInstanceNotFoundFault, aerr.Error()) + case rds.ErrCodeDBParameterGroupNotFoundFault: + fmt.Println(rds.ErrCodeDBParameterGroupNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -1443,24 +1947,21 @@ func ExampleRDS_DescribeDBInstances_shared00() { fmt.Println(result) } -// To list DB log file names -// This example lists matching log file names for the specified DB instance, file name -// pattern, last write date in POSIX time with milleseconds, and minimum file size. -func ExampleRDS_DescribeDBLogFiles_shared00() { +// To describe the parameters in a DB cluster parameter group +// The following example retrieves details about the parameters in a DB cluster parameter +// group. +func ExampleRDS_DescribeDBClusterParameters_shared00() { svc := rds.New(session.New()) - input := &rds.DescribeDBLogFilesInput{ - DBInstanceIdentifier: aws.String("mymysqlinstance"), - FileLastWritten: aws.Int64(1470873600000), - FileSize: aws.Int64(0), - FilenameContains: aws.String("error"), + input := &rds.DescribeDBClusterParametersInput{ + DBClusterParameterGroupName: aws.String("mydbclusterpg"), } - result, err := svc.DescribeDBLogFiles(input) + result, err := svc.DescribeDBClusterParameters(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { - case rds.ErrCodeDBInstanceNotFoundFault: - fmt.Println(rds.ErrCodeDBInstanceNotFoundFault, aerr.Error()) + case rds.ErrCodeDBParameterGroupNotFoundFault: + fmt.Println(rds.ErrCodeDBParameterGroupNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -1475,20 +1976,21 @@ func ExampleRDS_DescribeDBLogFiles_shared00() { fmt.Println(result) } -// To list information about DB parameter groups -// This example lists information about the specified DB parameter group. -func ExampleRDS_DescribeDBParameterGroups_shared00() { +// To describe the attribute names and values for a DB cluster snapshot +// The following example retrieves details of the attribute names and values for the +// specified DB cluster snapshot. +func ExampleRDS_DescribeDBClusterSnapshotAttributes_shared00() { svc := rds.New(session.New()) - input := &rds.DescribeDBParameterGroupsInput{ - DBParameterGroupName: aws.String("mymysqlparametergroup"), + input := &rds.DescribeDBClusterSnapshotAttributesInput{ + DBClusterSnapshotIdentifier: aws.String("myclustersnapshot"), } - result, err := svc.DescribeDBParameterGroups(input) + result, err := svc.DescribeDBClusterSnapshotAttributes(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { - case rds.ErrCodeDBParameterGroupNotFoundFault: - fmt.Println(rds.ErrCodeDBParameterGroupNotFoundFault, aerr.Error()) + case rds.ErrCodeDBClusterSnapshotNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterSnapshotNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -1503,23 +2005,21 @@ func ExampleRDS_DescribeDBParameterGroups_shared00() { fmt.Println(result) } -// To list information about DB parameters -// This example lists information for up to the first 20 system parameters for the specified -// DB parameter group. -func ExampleRDS_DescribeDBParameters_shared00() { +// To describe a DB cluster snapshot for a DB cluster +// The following example retrieves the details for the DB cluster snapshots for the +// specified DB cluster. +func ExampleRDS_DescribeDBClusterSnapshots_shared00() { svc := rds.New(session.New()) - input := &rds.DescribeDBParametersInput{ - DBParameterGroupName: aws.String("mymysqlparametergroup"), - MaxRecords: aws.Int64(20), - Source: aws.String("system"), + input := &rds.DescribeDBClusterSnapshotsInput{ + DBClusterIdentifier: aws.String("mydbcluster"), } - result, err := svc.DescribeDBParameters(input) + result, err := svc.DescribeDBClusterSnapshots(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { - case rds.ErrCodeDBParameterGroupNotFoundFault: - fmt.Println(rds.ErrCodeDBParameterGroupNotFoundFault, aerr.Error()) + case rds.ErrCodeDBClusterSnapshotNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterSnapshotNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -1534,20 +2034,20 @@ func ExampleRDS_DescribeDBParameters_shared00() { fmt.Println(result) } -// To list DB security group settings -// This example lists settings for the specified security group. -func ExampleRDS_DescribeDBSecurityGroups_shared00() { +// To describe a DB cluster +// The following example retrieves the details of the specified DB cluster. +func ExampleRDS_DescribeDBClusters_shared00() { svc := rds.New(session.New()) - input := &rds.DescribeDBSecurityGroupsInput{ - DBSecurityGroupName: aws.String("mydbsecuritygroup"), + input := &rds.DescribeDBClustersInput{ + DBClusterIdentifier: aws.String("mydbcluster"), } - result, err := svc.DescribeDBSecurityGroups(input) + result, err := svc.DescribeDBClusters(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { - case rds.ErrCodeDBSecurityGroupNotFoundFault: - fmt.Println(rds.ErrCodeDBSecurityGroupNotFoundFault, aerr.Error()) + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -1562,20 +2062,19 @@ func ExampleRDS_DescribeDBSecurityGroups_shared00() { fmt.Println(result) } -// To list DB snapshot attributes -// This example lists attributes for the specified DB snapshot. -func ExampleRDS_DescribeDBSnapshotAttributes_shared00() { +// To describe the DB engine versions for the MySQL DB engine +// The following example displays details about each of the DB engine versions for the +// specified DB engine. +func ExampleRDS_DescribeDBEngineVersions_shared00() { svc := rds.New(session.New()) - input := &rds.DescribeDBSnapshotAttributesInput{ - DBSnapshotIdentifier: aws.String("mydbsnapshot"), + input := &rds.DescribeDBEngineVersionsInput{ + Engine: aws.String("mysql"), } - result, err := svc.DescribeDBSnapshotAttributes(input) + result, err := svc.DescribeDBEngineVersions(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { - case rds.ErrCodeDBSnapshotNotFoundFault: - fmt.Println(rds.ErrCodeDBSnapshotNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -1590,15 +2089,208 @@ func ExampleRDS_DescribeDBSnapshotAttributes_shared00() { fmt.Println(result) } -// To list DB snapshot attributes -// This example lists all manually-created, shared snapshots for the specified DB instance. +// To describe the automated backups for a DB instance +// The following example displays details about the automated backups for the specified +// DB instance. The details include replicated automated backups in other AWS Regions. +func ExampleRDS_DescribeDBInstanceAutomatedBackups_shared00() { + svc := rds.New(session.New()) + input := &rds.DescribeDBInstanceAutomatedBackupsInput{ + DBInstanceIdentifier: aws.String("new-orcl-db"), + } + + result, err := svc.DescribeDBInstanceAutomatedBackups(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBInstanceAutomatedBackupNotFoundFault: + fmt.Println(rds.ErrCodeDBInstanceAutomatedBackupNotFoundFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To describe a DB instance +// The following example retrieves details about the specified DB instance. +func ExampleRDS_DescribeDBInstances_shared00() { + svc := rds.New(session.New()) + input := &rds.DescribeDBInstancesInput{ + DBInstanceIdentifier: aws.String("mydbinstancecf"), + } + + result, err := svc.DescribeDBInstances(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBInstanceNotFoundFault: + fmt.Println(rds.ErrCodeDBInstanceNotFoundFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To describe the log files for a DB instance +// The following example retrieves details about the log files for the specified DB +// instance. +func ExampleRDS_DescribeDBLogFiles_shared00() { + svc := rds.New(session.New()) + input := &rds.DescribeDBLogFilesInput{ + DBInstanceIdentifier: aws.String("test-instance"), + } + + result, err := svc.DescribeDBLogFiles(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBInstanceNotFoundFault: + fmt.Println(rds.ErrCodeDBInstanceNotFoundFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To describe your DB parameter groups +// The following example retrieves details about your DB parameter groups. +func ExampleRDS_DescribeDBParameterGroups_shared00() { + svc := rds.New(session.New()) + input := &rds.DescribeDBParameterGroupsInput{} + + result, err := svc.DescribeDBParameterGroups(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBParameterGroupNotFoundFault: + fmt.Println(rds.ErrCodeDBParameterGroupNotFoundFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To describe the parameters in a DB parameter group +// The following example retrieves the details of the specified DB parameter group. +func ExampleRDS_DescribeDBParameters_shared00() { + svc := rds.New(session.New()) + input := &rds.DescribeDBParametersInput{ + DBParameterGroupName: aws.String("mydbpg"), + } + + result, err := svc.DescribeDBParameters(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBParameterGroupNotFoundFault: + fmt.Println(rds.ErrCodeDBParameterGroupNotFoundFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To list DB security group settings +// This example lists settings for the specified security group. +func ExampleRDS_DescribeDBSecurityGroups_shared00() { + svc := rds.New(session.New()) + input := &rds.DescribeDBSecurityGroupsInput{ + DBSecurityGroupName: aws.String("mydbsecuritygroup"), + } + + result, err := svc.DescribeDBSecurityGroups(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBSecurityGroupNotFoundFault: + fmt.Println(rds.ErrCodeDBSecurityGroupNotFoundFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To describe the attribute names and values for a DB snapshot +// The following example describes the attribute names and values for a DB snapshot. +func ExampleRDS_DescribeDBSnapshotAttributes_shared00() { + svc := rds.New(session.New()) + input := &rds.DescribeDBSnapshotAttributesInput{ + DBSnapshotIdentifier: aws.String("mydbsnapshot"), + } + + result, err := svc.DescribeDBSnapshotAttributes(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBSnapshotNotFoundFault: + fmt.Println(rds.ErrCodeDBSnapshotNotFoundFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To describe a DB snapshot for a DB instance +// The following example retrieves the details of a DB snapshot for a DB instance. func ExampleRDS_DescribeDBSnapshots_shared00() { svc := rds.New(session.New()) input := &rds.DescribeDBSnapshotsInput{ - DBInstanceIdentifier: aws.String("mymysqlinstance"), - IncludePublic: aws.Bool(false), - IncludeShared: aws.Bool(true), - SnapshotType: aws.String("manual"), + DBSnapshotIdentifier: aws.String("mydbsnapshot"), } result, err := svc.DescribeDBSnapshots(input) @@ -1621,13 +2313,11 @@ func ExampleRDS_DescribeDBSnapshots_shared00() { fmt.Println(result) } -// To list information about DB subnet groups -// This example lists information about the specified DB subnet group. +// To describe a DB subnet group +// The following example retrieves the details of the specified DB subnet group. func ExampleRDS_DescribeDBSubnetGroups_shared00() { svc := rds.New(session.New()) - input := &rds.DescribeDBSubnetGroupsInput{ - DBSubnetGroupName: aws.String("mydbsubnetgroup"), - } + input := &rds.DescribeDBSubnetGroupsInput{} result, err := svc.DescribeDBSubnetGroups(input) if err != nil { @@ -1649,12 +2339,15 @@ func ExampleRDS_DescribeDBSubnetGroups_shared00() { fmt.Println(result) } -// To list default parameters for a DB cluster engine -// This example lists default parameters for the specified DB cluster engine. +// To describe the default engine and system parameter information for the Aurora database +// engine +// +// The following example retrieves the details of the default engine and system parameter +// information for Aurora DB clusters with MySQL 5.7 compatibility. func ExampleRDS_DescribeEngineDefaultClusterParameters_shared00() { svc := rds.New(session.New()) input := &rds.DescribeEngineDefaultClusterParametersInput{ - DBParameterGroupFamily: aws.String("aurora5.6"), + DBParameterGroupFamily: aws.String("aurora-mysql5.7"), } result, err := svc.DescribeEngineDefaultClusterParameters(input) @@ -1675,12 +2368,15 @@ func ExampleRDS_DescribeEngineDefaultClusterParameters_shared00() { fmt.Println(result) } -// To list default parameters for a DB engine -// This example lists default parameters for the specified DB engine. +// To describe the default engine and system parameter information for the database +// engine +// +// The following example retrieves details for the default engine and system parameter +// information for MySQL 5.7 DB instances. func ExampleRDS_DescribeEngineDefaultParameters_shared00() { svc := rds.New(session.New()) input := &rds.DescribeEngineDefaultParametersInput{ - DBParameterGroupFamily: aws.String("mysql5.6"), + DBParameterGroupFamily: aws.String("mysql5.7"), } result, err := svc.DescribeEngineDefaultParameters(input) @@ -1701,12 +2397,13 @@ func ExampleRDS_DescribeEngineDefaultParameters_shared00() { fmt.Println(result) } -// To list event categories. -// This example lists all DB instance event categories. +// To describe event categories +// The following example retrieves details about the event categories for all available +// event sources. func ExampleRDS_DescribeEventCategories_shared00() { svc := rds.New(session.New()) input := &rds.DescribeEventCategoriesInput{ - SourceType: aws.String("db-instance"), + SourceType: aws.String(""), } result, err := svc.DescribeEventCategories(input) @@ -1727,13 +2424,12 @@ func ExampleRDS_DescribeEventCategories_shared00() { fmt.Println(result) } -// To list information about DB event notification subscriptions -// This example lists information for the specified DB event notification subscription. +// To describe event subscriptions +// This example describes all of the Amazon RDS event subscriptions for the current +// AWS account. func ExampleRDS_DescribeEventSubscriptions_shared00() { svc := rds.New(session.New()) - input := &rds.DescribeEventSubscriptionsInput{ - SubscriptionName: aws.String("mymysqleventsubscription"), - } + input := &rds.DescribeEventSubscriptionsInput{} result, err := svc.DescribeEventSubscriptions(input) if err != nil { @@ -1755,17 +2451,13 @@ func ExampleRDS_DescribeEventSubscriptions_shared00() { fmt.Println(result) } -// To list information about events -// This example lists information for all backup-related events for the specified DB -// instance for the past 7 days (7 days * 24 hours * 60 minutes = 10,080 minutes). +// To describe events +// The following retrieves details for the events that have occurred for the specified +// DB instance. func ExampleRDS_DescribeEvents_shared00() { svc := rds.New(session.New()) input := &rds.DescribeEventsInput{ - Duration: aws.Int64(10080), - EventCategories: []*string{ - aws.String("backup"), - }, - SourceIdentifier: aws.String("mymysqlinstance"), + SourceIdentifier: aws.String("test-instance"), SourceType: aws.String("db-instance"), } @@ -1787,14 +2479,65 @@ func ExampleRDS_DescribeEvents_shared00() { fmt.Println(result) } -// To list information about DB option group options -// This example lists information for all option group options for the specified DB -// engine. +// To describe snapshot export tasks +// The following example returns information about snapshot exports to Amazon S3. +func ExampleRDS_DescribeExportTasks_shared00() { + svc := rds.New(session.New()) + input := &rds.DescribeExportTasksInput{} + + result, err := svc.DescribeExportTasks(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeExportTaskNotFoundFault: + fmt.Println(rds.ErrCodeExportTaskNotFoundFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To describe global DB clusters +// The following example lists Aurora global DB clusters in the current AWS Region. +func ExampleRDS_DescribeGlobalClusters_shared00() { + svc := rds.New(session.New()) + input := &rds.DescribeGlobalClustersInput{} + + result, err := svc.DescribeGlobalClusters(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeGlobalClusterNotFoundFault: + fmt.Println(rds.ErrCodeGlobalClusterNotFoundFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To describe all available options +// The following example lists the options for an RDS for MySQL version 8.0 DB instance. func ExampleRDS_DescribeOptionGroupOptions_shared00() { svc := rds.New(session.New()) input := &rds.DescribeOptionGroupOptionsInput{ EngineName: aws.String("mysql"), - MajorEngineVersion: aws.String("5.6"), + MajorEngineVersion: aws.String("8.0"), } result, err := svc.DescribeOptionGroupOptions(input) @@ -1815,13 +2558,13 @@ func ExampleRDS_DescribeOptionGroupOptions_shared00() { fmt.Println(result) } -// To list information about DB option groups -// This example lists information for all option groups for the specified DB engine. +// To describe the available option groups +// The following example lists the options groups for an Oracle Database 19c instance. func ExampleRDS_DescribeOptionGroups_shared00() { svc := rds.New(session.New()) input := &rds.DescribeOptionGroupsInput{ - EngineName: aws.String("mysql"), - MajorEngineVersion: aws.String("5.6"), + EngineName: aws.String("oracle-ee"), + MajorEngineVersion: aws.String("19"), } result, err := svc.DescribeOptionGroups(input) @@ -1844,17 +2587,13 @@ func ExampleRDS_DescribeOptionGroups_shared00() { fmt.Println(result) } -// To list information about orderable DB instance options -// This example lists information for all orderable DB instance options for the specified -// DB engine, engine version, DB instance class, license model, and VPC settings. +// To describe orderable DB instance options +// The following example retrieves details about the orderable options for a DB instances +// running the MySQL DB engine. func ExampleRDS_DescribeOrderableDBInstanceOptions_shared00() { svc := rds.New(session.New()) input := &rds.DescribeOrderableDBInstanceOptionsInput{ - DBInstanceClass: aws.String("db.t2.micro"), - Engine: aws.String("mysql"), - EngineVersion: aws.String("5.6.27"), - LicenseModel: aws.String("general-public-license"), - Vpc: aws.Bool(true), + Engine: aws.String("mysql"), } result, err := svc.DescribeOrderableDBInstanceOptions(input) @@ -1875,14 +2614,11 @@ func ExampleRDS_DescribeOrderableDBInstanceOptions_shared00() { fmt.Println(result) } -// To list information about pending maintenance actions -// This example lists information for all pending maintenance actions for the specified -// DB instance. +// To list resources with at least one pending maintenance action +// The following example lists the pending maintenace action for a DB instance. func ExampleRDS_DescribePendingMaintenanceActions_shared00() { svc := rds.New(session.New()) - input := &rds.DescribePendingMaintenanceActionsInput{ - ResourceIdentifier: aws.String("arn:aws:rds:us-east-1:992648334831:db:mymysqlinstance"), - } + input := &rds.DescribePendingMaintenanceActionsInput{} result, err := svc.DescribePendingMaintenanceActions(input) if err != nil { @@ -1904,18 +2640,12 @@ func ExampleRDS_DescribePendingMaintenanceActions_shared00() { fmt.Println(result) } -// To list information about reserved DB instances -// This example lists information for all reserved DB instances for the specified DB -// instance class, duration, product, offering type, and availability zone settings. +// To describe reserved DB instances +// The following example retrieves details about any reserved DB instances in the current +// AWS account. func ExampleRDS_DescribeReservedDBInstances_shared00() { svc := rds.New(session.New()) - input := &rds.DescribeReservedDBInstancesInput{ - DBInstanceClass: aws.String("db.t2.micro"), - Duration: aws.String("1y"), - MultiAZ: aws.Bool(false), - OfferingType: aws.String("No Upfront"), - ProductDescription: aws.String("mysql"), - } + input := &rds.DescribeReservedDBInstancesInput{} result, err := svc.DescribeReservedDBInstances(input) if err != nil { @@ -1937,17 +2667,13 @@ func ExampleRDS_DescribeReservedDBInstances_shared00() { fmt.Println(result) } -// To list information about reserved DB instance offerings -// This example lists information for all reserved DB instance offerings for the specified -// DB instance class, duration, product, offering type, and availability zone settings. +// To describe reserved DB instance offerings +// The following example retrieves details about reserved DB instance options for RDS +// for Oracle. func ExampleRDS_DescribeReservedDBInstancesOfferings_shared00() { svc := rds.New(session.New()) input := &rds.DescribeReservedDBInstancesOfferingsInput{ - DBInstanceClass: aws.String("db.t2.micro"), - Duration: aws.String("1y"), - MultiAZ: aws.Bool(false), - OfferingType: aws.String("No Upfront"), - ProductDescription: aws.String("mysql"), + ProductDescription: aws.String("oracle"), } result, err := svc.DescribeReservedDBInstancesOfferings(input) @@ -1970,11 +2696,16 @@ func ExampleRDS_DescribeReservedDBInstancesOfferings_shared00() { fmt.Println(result) } -// To describe source regions -// To list the AWS regions where a Read Replica can be created. +// To describe source Regions +// The following example retrieves details about all source AWS Regions where the current +// AWS Region can create a read replica, copy a DB snapshot from, or replicate automated +// backups from. It also shows that automated backups can be replicated only from US +// West (Oregon) to the destination AWS Region, US East (N. Virginia). func ExampleRDS_DescribeSourceRegions_shared00() { svc := rds.New(session.New()) - input := &rds.DescribeSourceRegionsInput{} + input := &rds.DescribeSourceRegionsInput{ + RegionName: aws.String("us-east-1"), + } result, err := svc.DescribeSourceRegions(input) if err != nil { @@ -1994,13 +2725,44 @@ func ExampleRDS_DescribeSourceRegions_shared00() { fmt.Println(result) } -// To list information about DB log files -// This example lists information for the specified log file for the specified DB instance. +// To describe valid modifications for a DB instance +// The following example retrieves details about the valid modifications for the specified +// DB instance. +func ExampleRDS_DescribeValidDBInstanceModifications_shared00() { + svc := rds.New(session.New()) + input := &rds.DescribeValidDBInstanceModificationsInput{ + DBInstanceIdentifier: aws.String("database-test1"), + } + + result, err := svc.DescribeValidDBInstanceModifications(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBInstanceNotFoundFault: + fmt.Println(rds.ErrCodeDBInstanceNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidDBInstanceStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To download a DB log file +// The following example downloads only the latest part of your log file. func ExampleRDS_DownloadDBLogFilePortion_shared00() { svc := rds.New(session.New()) input := &rds.DownloadDBLogFilePortionInput{ - DBInstanceIdentifier: aws.String("mymysqlinstance"), - LogFileName: aws.String("mysqlUpgrade"), + DBInstanceIdentifier: aws.String("test-instance"), + LogFileName: aws.String("log.txt"), } result, err := svc.DownloadDBLogFilePortion(input) @@ -2059,13 +2821,12 @@ func ExampleRDS_FailoverDBCluster_shared00() { fmt.Println(result) } -// To list information about tags associated with a resource -// This example lists information about all tags associated with the specified DB option -// group. +// To list tags on an Amazon RDS resource +// The following example lists all tags on a DB instance. func ExampleRDS_ListTagsForResource_shared00() { svc := rds.New(session.New()) input := &rds.ListTagsForResourceInput{ - ResourceName: aws.String("arn:aws:rds:us-east-1:992648334831:og:mymysqloptiongroup"), + ResourceName: aws.String("arn:aws:rds:us-east-1:123456789012:db:orcl1"), } result, err := svc.ListTagsForResource(input) @@ -2098,17 +2859,80 @@ func ExampleRDS_ListTagsForResource_shared00() { fmt.Println(result) } -// To change DB cluster settings -// This example changes the specified settings for the specified DB cluster. -func ExampleRDS_ModifyDBCluster_shared00() { +// To temporarily override the system-default SSL/TLS certificate for new DB instances +// The following example temporarily overrides the system-default SSL/TLS certificate +// for new DB instances. +func ExampleRDS_ModifyCertificates_shared00() { svc := rds.New(session.New()) - input := &rds.ModifyDBClusterInput{ - ApplyImmediately: aws.Bool(true), - DBClusterIdentifier: aws.String("mydbcluster"), - MasterUserPassword: aws.String("mynewpassword"), - NewDBClusterIdentifier: aws.String("mynewdbcluster"), - PreferredBackupWindow: aws.String("04:00-04:30"), - PreferredMaintenanceWindow: aws.String("Tue:05:00-Tue:05:30"), + input := &rds.ModifyCertificatesInput{ + CertificateIdentifier: aws.String("rds-ca-2019"), + } + + result, err := svc.ModifyCertificates(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeCertificateNotFoundFault: + fmt.Println(rds.ErrCodeCertificateNotFoundFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To scale the capacity of an Aurora Serverless DB cluster +// The following example scales the capacity of an Aurora Serverless DB cluster to 8. +func ExampleRDS_ModifyCurrentDBClusterCapacity_shared00() { + svc := rds.New(session.New()) + input := &rds.ModifyCurrentDBClusterCapacityInput{ + Capacity: aws.Int64(8), + DBClusterIdentifier: aws.String("mydbcluster"), + } + + result, err := svc.ModifyCurrentDBClusterCapacity(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterCapacityFault: + fmt.Println(rds.ErrCodeInvalidDBClusterCapacityFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To modify a DB cluster +// The following example changes the master user password for the DB cluster named cluster-2 +// and sets the backup retention period to 14 days. The ApplyImmediately parameter causes +// the changes to be made immediately, instead of waiting until the next maintenance +// window. +func ExampleRDS_ModifyDBCluster_shared00() { + svc := rds.New(session.New()) + input := &rds.ModifyDBClusterInput{ + ApplyImmediately: aws.Bool(true), + BackupRetentionPeriod: aws.Int64(14), + DBClusterIdentifier: aws.String("cluster-2"), + MasterUserPassword: aws.String("newpassword99"), } result, err := svc.ModifyDBCluster(input) @@ -2153,18 +2977,64 @@ func ExampleRDS_ModifyDBCluster_shared00() { fmt.Println(result) } -// To change DB cluster parameter group settings -// This example immediately changes the specified setting for the specified DB cluster -// parameter group. +// To modify a custom DB cluster endpoint +// The following example modifies the specified custom DB cluster endpoint. +func ExampleRDS_ModifyDBClusterEndpoint_shared00() { + svc := rds.New(session.New()) + input := &rds.ModifyDBClusterEndpointInput{ + DBClusterEndpointIdentifier: aws.String("mycustomendpoint"), + StaticMembers: []*string{ + aws.String("dbinstance1"), + aws.String("dbinstance2"), + aws.String("dbinstance3"), + }, + } + + result, err := svc.ModifyDBClusterEndpoint(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterEndpointStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterEndpointStateFault, aerr.Error()) + case rds.ErrCodeDBClusterEndpointNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterEndpointNotFoundFault, aerr.Error()) + case rds.ErrCodeDBInstanceNotFoundFault: + fmt.Println(rds.ErrCodeDBInstanceNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidDBInstanceStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To modify parameters in a DB cluster parameter group +// The following example modifies the values of parameters in a DB cluster parameter +// group. func ExampleRDS_ModifyDBClusterParameterGroup_shared00() { svc := rds.New(session.New()) input := &rds.ModifyDBClusterParameterGroupInput{ - DBClusterParameterGroupName: aws.String("mydbclusterparametergroup"), + DBClusterParameterGroupName: aws.String("mydbclusterpg"), Parameters: []*rds.Parameter{ { ApplyMethod: aws.String("immediate"), - ParameterName: aws.String("time_zone"), - ParameterValue: aws.String("America/Phoenix"), + ParameterName: aws.String("server_audit_logging"), + ParameterValue: aws.String("1"), + }, + { + ApplyMethod: aws.String("immediate"), + ParameterName: aws.String("server_audit_logs_upload"), + ParameterValue: aws.String("1"), }, }, } @@ -2191,21 +3061,16 @@ func ExampleRDS_ModifyDBClusterParameterGroup_shared00() { fmt.Println(result) } -// To add or remove access to a manual DB cluster snapshot -// The following example gives two AWS accounts access to a manual DB cluster snapshot -// and ensures that the DB cluster snapshot is private by removing the value "all". +// To modify a DB cluster snapshot attribute +// The following example makes changes to the specified DB cluster snapshot attribute. func ExampleRDS_ModifyDBClusterSnapshotAttribute_shared00() { svc := rds.New(session.New()) input := &rds.ModifyDBClusterSnapshotAttributeInput{ AttributeName: aws.String("restore"), - DBClusterSnapshotIdentifier: aws.String("manual-cluster-snapshot1"), + DBClusterSnapshotIdentifier: aws.String("myclustersnapshot"), ValuesToAdd: []*string{ - aws.String("123451234512"), aws.String("123456789012"), }, - ValuesToRemove: []*string{ - aws.String("all"), - }, } result, err := svc.ModifyDBClusterSnapshotAttribute(input) @@ -2232,19 +3097,18 @@ func ExampleRDS_ModifyDBClusterSnapshotAttribute_shared00() { fmt.Println(result) } -// To change DB instance settings -// This example immediately changes the specified settings for the specified DB instance. +// To modify parameters in a DB cluster parameter group +// The following example associates an option group and a parameter group with a compatible +// Microsoft SQL Server DB instance. The ApplyImmediately parameter causes the option +// and parameter groups to be associated immediately, instead of waiting until the next +// maintenance window. func ExampleRDS_ModifyDBInstance_shared00() { svc := rds.New(session.New()) input := &rds.ModifyDBInstanceInput{ - AllocatedStorage: aws.Int64(10), - ApplyImmediately: aws.Bool(true), - BackupRetentionPeriod: aws.Int64(1), - DBInstanceClass: aws.String("db.t2.small"), - DBInstanceIdentifier: aws.String("mymysqlinstance"), - MasterUserPassword: aws.String("mynewpassword"), - PreferredBackupWindow: aws.String("04:00-04:30"), - PreferredMaintenanceWindow: aws.String("Tue:05:00-Tue:05:30"), + ApplyImmediately: aws.Bool(true), + DBInstanceIdentifier: aws.String("database-2"), + DBParameterGroupName: aws.String("test-sqlserver-se-2017"), + OptionGroupName: aws.String("test-se-2017"), } result, err := svc.ModifyDBInstance(input) @@ -2305,18 +3169,19 @@ func ExampleRDS_ModifyDBInstance_shared00() { fmt.Println(result) } -// To change DB parameter group settings -// This example immediately changes the specified setting for the specified DB parameter -// group. +// To modify a DB parameter group +// The following example changes the value of the clr enabled parameter in a DB parameter +// group. The value of the ApplyMethod parameter causes the DB parameter group to be +// modified immediately, instead of waiting until the next maintenance window. func ExampleRDS_ModifyDBParameterGroup_shared00() { svc := rds.New(session.New()) input := &rds.ModifyDBParameterGroupInput{ - DBParameterGroupName: aws.String("mymysqlparametergroup"), + DBParameterGroupName: aws.String("test-sqlserver-se-2017"), Parameters: []*rds.Parameter{ { ApplyMethod: aws.String("immediate"), - ParameterName: aws.String("time_zone"), - ParameterValue: aws.String("America/Phoenix"), + ParameterName: aws.String("clr enabled"), + ParameterValue: aws.String("1"), }, }, } @@ -2343,15 +3208,85 @@ func ExampleRDS_ModifyDBParameterGroup_shared00() { fmt.Println(result) } -// To change DB snapshot attributes -// This example adds the specified attribute for the specified DB snapshot. +// To modify a DB snapshot +// The following example upgrades a PostgeSQL 10.6 snapshot named db5-snapshot-upg-test +// to PostgreSQL 11.7. The new DB engine version is shown after the snapshot has finished +// upgrading and its status is available. +func ExampleRDS_ModifyDBSnapshot_shared00() { + svc := rds.New(session.New()) + input := &rds.ModifyDBSnapshotInput{ + DBSnapshotIdentifier: aws.String("db5-snapshot-upg-test"), + EngineVersion: aws.String("11.7"), + } + + result, err := svc.ModifyDBSnapshot(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBSnapshotNotFoundFault: + fmt.Println(rds.ErrCodeDBSnapshotNotFoundFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To allow two AWS accounts to restore a DB snapshot +// The following example grants permission to two AWS accounts, with the identifiers +// 111122223333 and 444455556666, to restore the DB snapshot named mydbsnapshot. func ExampleRDS_ModifyDBSnapshotAttribute_shared00() { svc := rds.New(session.New()) input := &rds.ModifyDBSnapshotAttributeInput{ AttributeName: aws.String("restore"), DBSnapshotIdentifier: aws.String("mydbsnapshot"), ValuesToAdd: []*string{ - aws.String("all"), + aws.String("111122223333"), + aws.String("444455556666"), + }, + } + + result, err := svc.ModifyDBSnapshotAttribute(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBSnapshotNotFoundFault: + fmt.Println(rds.ErrCodeDBSnapshotNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidDBSnapshotStateFault: + fmt.Println(rds.ErrCodeInvalidDBSnapshotStateFault, aerr.Error()) + case rds.ErrCodeSharedSnapshotQuotaExceededFault: + fmt.Println(rds.ErrCodeSharedSnapshotQuotaExceededFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To prevent an AWS account from restoring a DB snapshot +// The following example removes permission from the AWS account with the identifier +// 444455556666 to restore the DB snapshot named mydbsnapshot. +func ExampleRDS_ModifyDBSnapshotAttribute_shared01() { + svc := rds.New(session.New()) + input := &rds.ModifyDBSnapshotAttributeInput{ + AttributeName: aws.String("restore"), + DBSnapshotIdentifier: aws.String("mydbsnapshot"), + ValuesToRemove: []*string{ + aws.String("444455556666"), }, } @@ -2379,15 +3314,21 @@ func ExampleRDS_ModifyDBSnapshotAttribute_shared00() { fmt.Println(result) } -// To change DB subnet group settings -// This example changes the specified setting for the specified DB subnet group. +// To modify a DB subnet group +// The following example adds a subnet with the ID subnet-08e41f9e230222222 to the DB +// subnet group named mysubnetgroup. To keep the existing subnets in the subnet group, +// include their IDs as values in the --subnet-ids option. Make sure to have subnets +// with at least two different Availability Zones in the DB subnet group. func ExampleRDS_ModifyDBSubnetGroup_shared00() { svc := rds.New(session.New()) input := &rds.ModifyDBSubnetGroupInput{ - DBSubnetGroupName: aws.String("mydbsubnetgroup"), + DBSubnetGroupDescription: aws.String(""), + DBSubnetGroupName: aws.String("mysubnetgroup"), SubnetIds: []*string{ - aws.String("subnet-70e1975a"), - aws.String("subnet-747a5c49"), + aws.String("subnet-0a1dc4e1a6f123456"), + aws.String("subnet-070dd7ecb3aaaaaaa"), + aws.String("subnet-00f5b198bc0abcdef"), + aws.String("subnet-08e41f9e230222222"), }, } @@ -2419,18 +3360,14 @@ func ExampleRDS_ModifyDBSubnetGroup_shared00() { fmt.Println(result) } -// To change event notification subscription settings -// This example changes the specified setting for the specified event notification subscription. +// To modify an event subscription +// The following example turns off the specified event subscription, so that it no longer +// publishes notifications to the specified Amazon Simple Notification Service topic. func ExampleRDS_ModifyEventSubscription_shared00() { svc := rds.New(session.New()) input := &rds.ModifyEventSubscriptionInput{ - Enabled: aws.Bool(true), - EventCategories: []*string{ - aws.String("deletion"), - aws.String("low storage"), - }, - SourceType: aws.String("db-instance"), - SubscriptionName: aws.String("mymysqleventsubscription"), + Enabled: aws.Bool(false), + SubscriptionName: aws.String("my-instance-events"), } result, err := svc.ModifyEventSubscription(input) @@ -2463,6 +3400,42 @@ func ExampleRDS_ModifyEventSubscription_shared00() { fmt.Println(result) } +// To modify a global database cluster +// The following example enables deletion protection for an Aurora MySQL-based global +// database cluster. +func ExampleRDS_ModifyGlobalCluster_shared00() { + svc := rds.New(session.New()) + input := &rds.ModifyGlobalClusterInput{ + DeletionProtection: aws.Bool(true), + GlobalClusterIdentifier: aws.String("myglobalcluster"), + } + + result, err := svc.ModifyGlobalCluster(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeGlobalClusterNotFoundFault: + fmt.Println(rds.ErrCodeGlobalClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidGlobalClusterStateFault: + fmt.Println(rds.ErrCodeInvalidGlobalClusterStateFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + case rds.ErrCodeInvalidDBInstanceStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + // To modify an option group // The following example adds an option to an option group. func ExampleRDS_ModifyOptionGroup_shared00() { @@ -2503,14 +3476,12 @@ func ExampleRDS_ModifyOptionGroup_shared00() { } // To promote a read replica -// This example promotes the specified read replica and sets its backup retention period -// and preferred backup window. +// The following example promotes the specified read replica to become a standalone +// DB instance. func ExampleRDS_PromoteReadReplica_shared00() { svc := rds.New(session.New()) input := &rds.PromoteReadReplicaInput{ - BackupRetentionPeriod: aws.Int64(1), - DBInstanceIdentifier: aws.String("mydbreadreplica"), - PreferredBackupWindow: aws.String("03:30-04:00"), + DBInstanceIdentifier: aws.String("test-instance-repl"), } result, err := svc.PromoteReadReplica(input) @@ -2535,14 +3506,14 @@ func ExampleRDS_PromoteReadReplica_shared00() { fmt.Println(result) } -// To purchase a reserved DB instance offering -// This example purchases a reserved DB instance offering that matches the specified -// settings. +// To purchase a reserved DB instance +// The following example shows how to buy the reserved DB instance offering from the +// previous example. func ExampleRDS_PurchaseReservedDBInstancesOffering_shared00() { svc := rds.New(session.New()) input := &rds.PurchaseReservedDBInstancesOfferingInput{ - ReservedDBInstanceId: aws.String("myreservationid"), - ReservedDBInstancesOfferingId: aws.String("fb29428a-646d-4390-850e-5fe89926e727"), + ReservedDBInstanceId: aws.String("8ba30be1-b9ec-447f-8f23-6114e3f4c7b4"), + ReservedDBInstancesOfferingId: aws.String(""), } result, err := svc.PurchaseReservedDBInstancesOffering(input) @@ -2570,12 +3541,11 @@ func ExampleRDS_PurchaseReservedDBInstancesOffering_shared00() { } // To reboot a DB instance -// This example reboots the specified DB instance without forcing a failover. +// The following example starts a reboot of the specified DB instance. func ExampleRDS_RebootDBInstance_shared00() { svc := rds.New(session.New()) input := &rds.RebootDBInstanceInput{ - DBInstanceIdentifier: aws.String("mymysqlinstance"), - ForceFailover: aws.Bool(false), + DBInstanceIdentifier: aws.String("test-mysql-instance"), } result, err := svc.RebootDBInstance(input) @@ -2600,14 +3570,81 @@ func ExampleRDS_RebootDBInstance_shared00() { fmt.Println(result) } -// To remove a source identifier from a DB event subscription -// This example removes the specified source identifier from the specified DB event -// subscription. +// To detach an Aurora secondary cluster from an Aurora global database cluster +// The following example detaches an Aurora secondary cluster from an Aurora global +// database cluster. The cluster changes from being read-only to a standalone cluster +// with read-write capability. +func ExampleRDS_RemoveFromGlobalCluster_shared00() { + svc := rds.New(session.New()) + input := &rds.RemoveFromGlobalClusterInput{ + DbClusterIdentifier: aws.String("arn:aws:rds:us-west-2:123456789012:cluster:DB-1"), + GlobalClusterIdentifier: aws.String("myglobalcluster"), + } + + result, err := svc.RemoveFromGlobalCluster(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeGlobalClusterNotFoundFault: + fmt.Println(rds.ErrCodeGlobalClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidGlobalClusterStateFault: + fmt.Println(rds.ErrCodeInvalidGlobalClusterStateFault, aerr.Error()) + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To disassociate an Identity and Access Management (IAM) role from a DB cluster +// The following example removes a role from a DB cluster. +func ExampleRDS_RemoveRoleFromDBCluster_shared00() { + svc := rds.New(session.New()) + input := &rds.RemoveRoleFromDBClusterInput{ + DBClusterIdentifier: aws.String("mydbcluster"), + RoleArn: aws.String("arn:aws:iam::123456789012:role/RDSLoadFromS3"), + } + + result, err := svc.RemoveRoleFromDBCluster(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeDBClusterRoleNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterRoleNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To remove a source identifier from a subscription +// The following example removes the specified source identifier from an existing subscription. func ExampleRDS_RemoveSourceIdentifierFromSubscription_shared00() { svc := rds.New(session.New()) input := &rds.RemoveSourceIdentifierFromSubscriptionInput{ - SourceIdentifier: aws.String("mymysqlinstance"), - SubscriptionName: aws.String("myeventsubscription"), + SourceIdentifier: aws.String("test-instance-repl"), + SubscriptionName: aws.String("my-instance-events"), } result, err := svc.RemoveSourceIdentifierFromSubscription(input) @@ -2633,13 +3670,14 @@ func ExampleRDS_RemoveSourceIdentifierFromSubscription_shared00() { } // To remove tags from a resource -// This example removes the specified tag associated with the specified DB option group. +// The following example removes tags from a resource. func ExampleRDS_RemoveTagsFromResource_shared00() { svc := rds.New(session.New()) input := &rds.RemoveTagsFromResourceInput{ - ResourceName: aws.String("arn:aws:rds:us-east-1:992648334831:og:mydboptiongroup"), + ResourceName: aws.String("arn:aws:rds:us-east-1:123456789012:db:mydbinstance"), TagKeys: []*string{ - aws.String("MyKey"), + aws.String("Name"), + aws.String("Environment"), }, } @@ -2673,13 +3711,13 @@ func ExampleRDS_RemoveTagsFromResource_shared00() { fmt.Println(result) } -// To reset the values of a DB cluster parameter group -// This example resets all parameters for the specified DB cluster parameter group to -// their default values. +// To reset all parameters to their default values +// The following example resets all parameter values in a customer-created DB cluster +// parameter group to their default values. func ExampleRDS_ResetDBClusterParameterGroup_shared00() { svc := rds.New(session.New()) input := &rds.ResetDBClusterParameterGroupInput{ - DBClusterParameterGroupName: aws.String("mydbclusterparametergroup"), + DBClusterParameterGroupName: aws.String("mydbclpg"), ResetAllParameters: aws.Bool(true), } @@ -2705,13 +3743,13 @@ func ExampleRDS_ResetDBClusterParameterGroup_shared00() { fmt.Println(result) } -// To reset the values of a DB parameter group -// This example resets all parameters for the specified DB parameter group to their -// default values. +// To reset all parameters to their default values +// The following example resets all parameter values in a customer-created DB parameter +// group to their default values. func ExampleRDS_ResetDBParameterGroup_shared00() { svc := rds.New(session.New()) input := &rds.ResetDBParameterGroupInput{ - DBParameterGroupName: aws.String("mydbparametergroup"), + DBParameterGroupName: aws.String("mypg"), ResetAllParameters: aws.Bool(true), } @@ -2737,17 +3775,24 @@ func ExampleRDS_ResetDBParameterGroup_shared00() { fmt.Println(result) } -// To restore an Amazon Aurora DB cluster from a DB cluster snapshot -// The following example restores an Amazon Aurora DB cluster from a DB cluster snapshot. -func ExampleRDS_RestoreDBClusterFromSnapshot_shared00() { +// To restore an Amazon Aurora DB cluster from Amazon S3 +// The following example restores an Amazon Aurora MySQL version 5.7-compatible DB cluster +// from a MySQL 5.7 DB backup file in Amazon S3. +func ExampleRDS_RestoreDBClusterFromS3_shared00() { svc := rds.New(session.New()) - input := &rds.RestoreDBClusterFromSnapshotInput{ - DBClusterIdentifier: aws.String("restored-cluster1"), - Engine: aws.String("aurora"), - SnapshotIdentifier: aws.String("sample-cluster-snapshot1"), - } - - result, err := svc.RestoreDBClusterFromSnapshot(input) + input := &rds.RestoreDBClusterFromS3Input{ + DBClusterIdentifier: aws.String("cluster-s3-restore"), + Engine: aws.String("aurora-mysql"), + MasterUserPassword: aws.String("mypassword"), + MasterUsername: aws.String("admin"), + S3BucketName: aws.String("mybucket"), + S3IngestionRoleArn: aws.String("arn:aws:iam::123456789012:role/service-role/TestBackup"), + S3Prefix: aws.String("test-backup"), + SourceEngine: aws.String("mysql"), + SourceEngineVersion: aws.String("5.7.28"), + } + + result, err := svc.RestoreDBClusterFromS3(input) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { @@ -2759,34 +3804,26 @@ func ExampleRDS_RestoreDBClusterFromSnapshot_shared00() { fmt.Println(rds.ErrCodeStorageQuotaExceededFault, aerr.Error()) case rds.ErrCodeDBSubnetGroupNotFoundFault: fmt.Println(rds.ErrCodeDBSubnetGroupNotFoundFault, aerr.Error()) - case rds.ErrCodeDBSnapshotNotFoundFault: - fmt.Println(rds.ErrCodeDBSnapshotNotFoundFault, aerr.Error()) - case rds.ErrCodeDBClusterSnapshotNotFoundFault: - fmt.Println(rds.ErrCodeDBClusterSnapshotNotFoundFault, aerr.Error()) - case rds.ErrCodeInsufficientDBClusterCapacityFault: - fmt.Println(rds.ErrCodeInsufficientDBClusterCapacityFault, aerr.Error()) - case rds.ErrCodeInsufficientStorageClusterCapacityFault: - fmt.Println(rds.ErrCodeInsufficientStorageClusterCapacityFault, aerr.Error()) - case rds.ErrCodeInvalidDBSnapshotStateFault: - fmt.Println(rds.ErrCodeInvalidDBSnapshotStateFault, aerr.Error()) - case rds.ErrCodeInvalidDBClusterSnapshotStateFault: - fmt.Println(rds.ErrCodeInvalidDBClusterSnapshotStateFault, aerr.Error()) case rds.ErrCodeInvalidVPCNetworkStateFault: fmt.Println(rds.ErrCodeInvalidVPCNetworkStateFault, aerr.Error()) - case rds.ErrCodeInvalidRestoreFault: - fmt.Println(rds.ErrCodeInvalidRestoreFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + case rds.ErrCodeInvalidDBSubnetGroupStateFault: + fmt.Println(rds.ErrCodeInvalidDBSubnetGroupStateFault, aerr.Error()) case rds.ErrCodeInvalidSubnet: fmt.Println(rds.ErrCodeInvalidSubnet, aerr.Error()) - case rds.ErrCodeOptionGroupNotFoundFault: - fmt.Println(rds.ErrCodeOptionGroupNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidS3BucketFault: + fmt.Println(rds.ErrCodeInvalidS3BucketFault, aerr.Error()) + case rds.ErrCodeDBClusterParameterGroupNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterParameterGroupNotFoundFault, aerr.Error()) case rds.ErrCodeKMSKeyNotAccessibleFault: fmt.Println(rds.ErrCodeKMSKeyNotAccessibleFault, aerr.Error()) + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) case rds.ErrCodeDomainNotFoundFault: fmt.Println(rds.ErrCodeDomainNotFoundFault, aerr.Error()) - case rds.ErrCodeDBClusterParameterGroupNotFoundFault: - fmt.Println(rds.ErrCodeDBClusterParameterGroupNotFoundFault, aerr.Error()) - case rds.ErrCodeInvalidDBInstanceStateFault: - fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + case rds.ErrCodeInsufficientStorageClusterCapacityFault: + fmt.Println(rds.ErrCodeInsufficientStorageClusterCapacityFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -2801,15 +3838,83 @@ func ExampleRDS_RestoreDBClusterFromSnapshot_shared00() { fmt.Println(result) } -// To restore a DB cluster to a point in time. -// The following example restores a DB cluster to a new DB cluster at a point in time -// from the source DB cluster. +// To restore a DB cluster from a snapshot +// The following example restores an Aurora PostgreSQL DB cluster compatible with PostgreSQL +// version 10.7 from a DB cluster snapshot named test-instance-snapshot. +func ExampleRDS_RestoreDBClusterFromSnapshot_shared00() { + svc := rds.New(session.New()) + input := &rds.RestoreDBClusterFromSnapshotInput{ + DBClusterIdentifier: aws.String("newdbcluster"), + Engine: aws.String("aurora-postgresql"), + EngineVersion: aws.String("10.7"), + SnapshotIdentifier: aws.String("test-instance-snapshot"), + } + + result, err := svc.RestoreDBClusterFromSnapshot(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBClusterAlreadyExistsFault: + fmt.Println(rds.ErrCodeDBClusterAlreadyExistsFault, aerr.Error()) + case rds.ErrCodeDBClusterQuotaExceededFault: + fmt.Println(rds.ErrCodeDBClusterQuotaExceededFault, aerr.Error()) + case rds.ErrCodeStorageQuotaExceededFault: + fmt.Println(rds.ErrCodeStorageQuotaExceededFault, aerr.Error()) + case rds.ErrCodeDBSubnetGroupNotFoundFault: + fmt.Println(rds.ErrCodeDBSubnetGroupNotFoundFault, aerr.Error()) + case rds.ErrCodeDBSnapshotNotFoundFault: + fmt.Println(rds.ErrCodeDBSnapshotNotFoundFault, aerr.Error()) + case rds.ErrCodeDBClusterSnapshotNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterSnapshotNotFoundFault, aerr.Error()) + case rds.ErrCodeInsufficientDBClusterCapacityFault: + fmt.Println(rds.ErrCodeInsufficientDBClusterCapacityFault, aerr.Error()) + case rds.ErrCodeInsufficientStorageClusterCapacityFault: + fmt.Println(rds.ErrCodeInsufficientStorageClusterCapacityFault, aerr.Error()) + case rds.ErrCodeInvalidDBSnapshotStateFault: + fmt.Println(rds.ErrCodeInvalidDBSnapshotStateFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterSnapshotStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterSnapshotStateFault, aerr.Error()) + case rds.ErrCodeInvalidVPCNetworkStateFault: + fmt.Println(rds.ErrCodeInvalidVPCNetworkStateFault, aerr.Error()) + case rds.ErrCodeInvalidRestoreFault: + fmt.Println(rds.ErrCodeInvalidRestoreFault, aerr.Error()) + case rds.ErrCodeInvalidSubnet: + fmt.Println(rds.ErrCodeInvalidSubnet, aerr.Error()) + case rds.ErrCodeOptionGroupNotFoundFault: + fmt.Println(rds.ErrCodeOptionGroupNotFoundFault, aerr.Error()) + case rds.ErrCodeKMSKeyNotAccessibleFault: + fmt.Println(rds.ErrCodeKMSKeyNotAccessibleFault, aerr.Error()) + case rds.ErrCodeDomainNotFoundFault: + fmt.Println(rds.ErrCodeDomainNotFoundFault, aerr.Error()) + case rds.ErrCodeDBClusterParameterGroupNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterParameterGroupNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidDBInstanceStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To restore a DB cluster to a specified time +// The following example restores the DB cluster named database-4 to the latest possible +// time. Using copy-on-write as the restore type restores the new DB cluster as a clone +// of the source DB cluster. func ExampleRDS_RestoreDBClusterToPointInTime_shared00() { svc := rds.New(session.New()) input := &rds.RestoreDBClusterToPointInTimeInput{ - DBClusterIdentifier: aws.String("sample-restored-cluster1"), - RestoreToTime: parseTime("2006-01-02T15:04:05.999999999Z", "2016-09-13T18:45:00Z"), - SourceDBClusterIdentifier: aws.String("sample-cluster1"), + DBClusterIdentifier: aws.String("sample-cluster-clone"), + RestoreType: aws.String("copy-on-write"), + SourceDBClusterIdentifier: aws.String("database-4"), + UseLatestRestorableTime: aws.Bool(true), } result, err := svc.RestoreDBClusterToPointInTime(input) @@ -2866,13 +3971,17 @@ func ExampleRDS_RestoreDBClusterToPointInTime_shared00() { fmt.Println(result) } -// To restore a DB instance from a DB snapshot. -// The following example restores a DB instance from a DB snapshot. +// To restore a DB instance from a DB snapshot +// The following example creates a new DB instance named db7-new-instance with the db.t3.small +// DB instance class from the specified DB snapshot. The source DB instance from which +// the snapshot was taken uses a deprecated DB instance class, so you can't upgrade +// it. func ExampleRDS_RestoreDBInstanceFromDBSnapshot_shared00() { svc := rds.New(session.New()) input := &rds.RestoreDBInstanceFromDBSnapshotInput{ - DBInstanceIdentifier: aws.String("mysqldb-restored"), - DBSnapshotIdentifier: aws.String("rds:mysqldb-2014-04-22-08-15"), + DBInstanceClass: aws.String("db.t3.small"), + DBInstanceIdentifier: aws.String("db7-new-instance"), + DBSnapshotIdentifier: aws.String("db7-test-snapshot"), } result, err := svc.RestoreDBInstanceFromDBSnapshot(input) @@ -2937,15 +4046,15 @@ func ExampleRDS_RestoreDBInstanceFromDBSnapshot_shared00() { fmt.Println(result) } -// To restore a DB instance to a point in time. -// The following example restores a DB instance to a new DB instance at a point in time -// from the source DB instance. +// To restore a DB instance to a point in time +// The following example restores test-instance to a new DB instance named restored-test-instance, +// as of the specified time. func ExampleRDS_RestoreDBInstanceToPointInTime_shared00() { svc := rds.New(session.New()) input := &rds.RestoreDBInstanceToPointInTimeInput{ - RestoreTime: parseTime("2006-01-02T15:04:05.999999999Z", "2016-09-13T18:45:00Z"), - SourceDBInstanceIdentifier: aws.String("mysql-sample"), - TargetDBInstanceIdentifier: aws.String("mysql-sample-restored"), + RestoreTime: parseTime("2006-01-02T15:04:05.999999999Z", "2018-07-30T23:45:00.000Z"), + SourceDBInstanceIdentifier: aws.String("test-instance"), + TargetDBInstanceIdentifier: aws.String("restored-test-instance"), } result, err := svc.RestoreDBInstanceToPointInTime(input) @@ -3045,3 +4154,414 @@ func ExampleRDS_RevokeDBSecurityGroupIngress_shared00() { fmt.Println(result) } + +// To start a database activity stream +// The following example starts an asynchronous activity stream to monitor an Aurora +// cluster named my-pg-cluster. +func ExampleRDS_StartActivityStream_shared00() { + svc := rds.New(session.New()) + input := &rds.StartActivityStreamInput{ + ApplyImmediately: aws.Bool(true), + KmsKeyId: aws.String("arn:aws:kms:us-east-1:1234567890123:key/a12c345d-6ef7-890g-h123-456i789jk0l1"), + Mode: aws.String("async"), + ResourceArn: aws.String("arn:aws:rds:us-east-1:1234567890123:cluster:my-pg-cluster"), + } + + result, err := svc.StartActivityStream(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeInvalidDBInstanceStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + case rds.ErrCodeResourceNotFoundFault: + fmt.Println(rds.ErrCodeResourceNotFoundFault, aerr.Error()) + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeDBInstanceNotFoundFault: + fmt.Println(rds.ErrCodeDBInstanceNotFoundFault, aerr.Error()) + case rds.ErrCodeKMSKeyNotAccessibleFault: + fmt.Println(rds.ErrCodeKMSKeyNotAccessibleFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To start a DB cluster +// The following example starts a DB cluster and its DB instances. +func ExampleRDS_StartDBCluster_shared00() { + svc := rds.New(session.New()) + input := &rds.StartDBClusterInput{ + DBClusterIdentifier: aws.String("mydbcluster"), + } + + result, err := svc.StartDBCluster(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + case rds.ErrCodeInvalidDBInstanceStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To start a DB instance +// The following example starts the specified DB instance. +func ExampleRDS_StartDBInstance_shared00() { + svc := rds.New(session.New()) + input := &rds.StartDBInstanceInput{ + DBInstanceIdentifier: aws.String("test-instance"), + } + + result, err := svc.StartDBInstance(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBInstanceNotFoundFault: + fmt.Println(rds.ErrCodeDBInstanceNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidDBInstanceStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + case rds.ErrCodeInsufficientDBInstanceCapacityFault: + fmt.Println(rds.ErrCodeInsufficientDBInstanceCapacityFault, aerr.Error()) + case rds.ErrCodeDBSubnetGroupNotFoundFault: + fmt.Println(rds.ErrCodeDBSubnetGroupNotFoundFault, aerr.Error()) + case rds.ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs: + fmt.Println(rds.ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs, aerr.Error()) + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + case rds.ErrCodeInvalidSubnet: + fmt.Println(rds.ErrCodeInvalidSubnet, aerr.Error()) + case rds.ErrCodeInvalidVPCNetworkStateFault: + fmt.Println(rds.ErrCodeInvalidVPCNetworkStateFault, aerr.Error()) + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeAuthorizationNotFoundFault: + fmt.Println(rds.ErrCodeAuthorizationNotFoundFault, aerr.Error()) + case rds.ErrCodeKMSKeyNotAccessibleFault: + fmt.Println(rds.ErrCodeKMSKeyNotAccessibleFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To enable cross-Region automated backups +// The following example replicates automated backups from a DB instance in the US East +// (N. Virginia) Region. The backup retention period is 14 days. +func ExampleRDS_StartDBInstanceAutomatedBackupsReplication_shared00() { + svc := rds.New(session.New()) + input := &rds.StartDBInstanceAutomatedBackupsReplicationInput{ + BackupRetentionPeriod: aws.Int64(14), + SourceDBInstanceArn: aws.String("arn:aws:rds:us-east-1:123456789012:db:new-orcl-db"), + } + + result, err := svc.StartDBInstanceAutomatedBackupsReplication(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBInstanceNotFoundFault: + fmt.Println(rds.ErrCodeDBInstanceNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidDBInstanceStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + case rds.ErrCodeKMSKeyNotAccessibleFault: + fmt.Println(rds.ErrCodeKMSKeyNotAccessibleFault, aerr.Error()) + case rds.ErrCodeDBInstanceAutomatedBackupQuotaExceededFault: + fmt.Println(rds.ErrCodeDBInstanceAutomatedBackupQuotaExceededFault, aerr.Error()) + case rds.ErrCodeStorageTypeNotSupportedFault: + fmt.Println(rds.ErrCodeStorageTypeNotSupportedFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To export a snapshot to Amazon S3 +// The following example exports a DB snapshot named db5-snapshot-test to the Amazon +// S3 bucket named mybucket. +func ExampleRDS_StartExportTask_shared00() { + svc := rds.New(session.New()) + input := &rds.StartExportTaskInput{ + ExportTaskIdentifier: aws.String("my-s3-export"), + IamRoleArn: aws.String("arn:aws:iam::123456789012:role/service-role/ExportRole"), + KmsKeyId: aws.String("arn:aws:kms:us-west-2:123456789012:key/abcd0000-7fca-4128-82f2-aabbccddeeff"), + S3BucketName: aws.String("mybucket"), + SourceArn: aws.String("arn:aws:rds:us-west-2:123456789012:snapshot:db5-snapshot-test"), + } + + result, err := svc.StartExportTask(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBSnapshotNotFoundFault: + fmt.Println(rds.ErrCodeDBSnapshotNotFoundFault, aerr.Error()) + case rds.ErrCodeDBClusterSnapshotNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterSnapshotNotFoundFault, aerr.Error()) + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeExportTaskAlreadyExistsFault: + fmt.Println(rds.ErrCodeExportTaskAlreadyExistsFault, aerr.Error()) + case rds.ErrCodeInvalidS3BucketFault: + fmt.Println(rds.ErrCodeInvalidS3BucketFault, aerr.Error()) + case rds.ErrCodeIamRoleNotFoundFault: + fmt.Println(rds.ErrCodeIamRoleNotFoundFault, aerr.Error()) + case rds.ErrCodeIamRoleMissingPermissionsFault: + fmt.Println(rds.ErrCodeIamRoleMissingPermissionsFault, aerr.Error()) + case rds.ErrCodeInvalidExportOnlyFault: + fmt.Println(rds.ErrCodeInvalidExportOnlyFault, aerr.Error()) + case rds.ErrCodeKMSKeyNotAccessibleFault: + fmt.Println(rds.ErrCodeKMSKeyNotAccessibleFault, aerr.Error()) + case rds.ErrCodeInvalidExportSourceStateFault: + fmt.Println(rds.ErrCodeInvalidExportSourceStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To stop a database activity stream +// The following example stops an activity stream in an Aurora cluster named my-pg-cluster. +func ExampleRDS_StopActivityStream_shared00() { + svc := rds.New(session.New()) + input := &rds.StopActivityStreamInput{ + ApplyImmediately: aws.Bool(true), + ResourceArn: aws.String("arn:aws:rds:us-east-1:1234567890123:cluster:my-pg-cluster"), + } + + result, err := svc.StopActivityStream(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeInvalidDBInstanceStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + case rds.ErrCodeResourceNotFoundFault: + fmt.Println(rds.ErrCodeResourceNotFoundFault, aerr.Error()) + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeDBInstanceNotFoundFault: + fmt.Println(rds.ErrCodeDBInstanceNotFoundFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To stop a DB cluster +// The following example stops a DB cluster and its DB instances. +func ExampleRDS_StopDBCluster_shared00() { + svc := rds.New(session.New()) + input := &rds.StopDBClusterInput{ + DBClusterIdentifier: aws.String("mydbcluster"), + } + + result, err := svc.StopDBCluster(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBClusterNotFoundFault: + fmt.Println(rds.ErrCodeDBClusterNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + case rds.ErrCodeInvalidDBInstanceStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To stop a DB instance +// The following example stops the specified DB instance. +func ExampleRDS_StopDBInstance_shared00() { + svc := rds.New(session.New()) + input := &rds.StopDBInstanceInput{ + DBInstanceIdentifier: aws.String("test-instance"), + } + + result, err := svc.StopDBInstance(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBInstanceNotFoundFault: + fmt.Println(rds.ErrCodeDBInstanceNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidDBInstanceStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + case rds.ErrCodeDBSnapshotAlreadyExistsFault: + fmt.Println(rds.ErrCodeDBSnapshotAlreadyExistsFault, aerr.Error()) + case rds.ErrCodeSnapshotQuotaExceededFault: + fmt.Println(rds.ErrCodeSnapshotQuotaExceededFault, aerr.Error()) + case rds.ErrCodeInvalidDBClusterStateFault: + fmt.Println(rds.ErrCodeInvalidDBClusterStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To stop replicating automated backups +// The following example ends replication of automated backups. Replicated backups are +// retained according to the set backup retention period. +func ExampleRDS_StopDBInstanceAutomatedBackupsReplication_shared00() { + svc := rds.New(session.New()) + input := &rds.StopDBInstanceAutomatedBackupsReplicationInput{ + SourceDBInstanceArn: aws.String("arn:aws:rds:us-east-1:123456789012:db:new-orcl-db"), + } + + result, err := svc.StopDBInstanceAutomatedBackupsReplication(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeDBInstanceNotFoundFault: + fmt.Println(rds.ErrCodeDBInstanceNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidDBInstanceStateFault: + fmt.Println(rds.ErrCodeInvalidDBInstanceStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To switch a blue/green deployment for an RDS DB instance +// The following example promotes the specified green environment as the new production +// environment. +func ExampleRDS_SwitchoverBlueGreenDeployment_shared00() { + svc := rds.New(session.New()) + input := &rds.SwitchoverBlueGreenDeploymentInput{ + BlueGreenDeploymentIdentifier: aws.String("bgd-wi89nwzglccsfake"), + SwitchoverTimeout: aws.Int64(300), + } + + result, err := svc.SwitchoverBlueGreenDeployment(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeBlueGreenDeploymentNotFoundFault: + fmt.Println(rds.ErrCodeBlueGreenDeploymentNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidBlueGreenDeploymentStateFault: + fmt.Println(rds.ErrCodeInvalidBlueGreenDeploymentStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To promote a blue/green deployment for an Aurora MySQL DB cluster +// The following example promotes the specified green environment as the new production +// environment. +func ExampleRDS_SwitchoverBlueGreenDeployment_shared01() { + svc := rds.New(session.New()) + input := &rds.SwitchoverBlueGreenDeploymentInput{ + BlueGreenDeploymentIdentifier: aws.String("bgd-wi89nwzglccsfake"), + SwitchoverTimeout: aws.Int64(300), + } + + result, err := svc.SwitchoverBlueGreenDeployment(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case rds.ErrCodeBlueGreenDeploymentNotFoundFault: + fmt.Println(rds.ErrCodeBlueGreenDeploymentNotFoundFault, aerr.Error()) + case rds.ErrCodeInvalidBlueGreenDeploymentStateFault: + fmt.Println(rds.ErrCodeInvalidBlueGreenDeploymentStateFault, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +}