From 06491f505cd0fb7c33602342c9bef0e0d86fd63e Mon Sep 17 00:00:00 2001
From: aws-sdk-go-automation
<43143561+aws-sdk-go-automation@users.noreply.github.com>
Date: Thu, 22 Dec 2022 11:32:37 -0800
Subject: [PATCH] Release v1.44.166 (2022-12-22) (#4670)
Release v1.44.166 (2022-12-22)
===
### Service Client Updates
* `service/compute-optimizer`: Updates service API, documentation, and paginators
* `service/connect`: Updates service API and documentation
* `service/iotdeviceadvisor`: Updates service API and documentation
* `service/kinesis-video-webrtc-storage`: Updates service API and documentation
* `service/rds`: Updates service API, documentation, waiters, paginators, and examples
* Add support for managing master user password in AWS Secrets Manager for the DBInstance and DBCluster.
* `service/secretsmanager`: Updates service documentation
* Documentation updates for Secrets Manager
---
CHANGELOG.md | 13 +
aws/endpoints/defaults.go | 277 ++
aws/version.go | 2 +-
.../compute-optimizer/2019-11-01/api-2.json | 364 ++-
.../compute-optimizer/2019-11-01/docs-2.json | 322 +-
.../2019-11-01/endpoint-rule-set-1.json | 9 -
.../2019-11-01/endpoint-tests-1.json | 214 +-
.../2019-11-01/paginators-1.json | 30 +
models/apis/connect/2017-08-08/api-2.json | 107 +
models/apis/connect/2017-08-08/docs-2.json | 77 +-
.../iotdeviceadvisor/2020-09-18/api-2.json | 20 +-
.../iotdeviceadvisor/2020-09-18/docs-2.json | 39 +-
.../2020-09-18/endpoint-rule-set-1.json | 306 ++
.../2020-09-18/endpoint-tests-1.json | 251 ++
.../2018-05-10/api-2.json | 32 -
.../2018-05-10/docs-2.json | 21 +-
.../2018-05-10/endpoint-tests-1.json | 46 +-
models/apis/rds/2014-10-31/api-2.json | 41 +-
models/apis/rds/2014-10-31/docs-2.json | 38 +-
.../secretsmanager/2017-10-17/docs-2.json | 12 +-
.../2017-10-17/endpoint-rule-set-1.json | 11 +-
models/endpoints/endpoints.json | 230 +-
service/computeoptimizer/api.go | 2867 ++++++++++++++---
.../computeoptimizeriface/interface.go | 27 +
service/computeoptimizer/doc.go | 22 +-
service/connect/api.go | 533 ++-
service/connect/connectiface/interface.go | 4 +
service/iotdeviceadvisor/api.go | 92 +-
service/kinesisvideowebrtcstorage/api.go | 225 +-
service/kinesisvideowebrtcstorage/errors.go | 14 +-
.../interface.go | 4 -
service/rds/api.go | 514 ++-
service/secretsmanager/api.go | 58 +-
service/secretsmanager/doc.go | 3 +
34 files changed, 5850 insertions(+), 975 deletions(-)
create mode 100644 models/apis/iotdeviceadvisor/2020-09-18/endpoint-rule-set-1.json
create mode 100644 models/apis/iotdeviceadvisor/2020-09-18/endpoint-tests-1.json
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5507af003fd..fcd9059c88f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,16 @@
+Release v1.44.166 (2022-12-22)
+===
+
+### Service Client Updates
+* `service/compute-optimizer`: Updates service API, documentation, and paginators
+* `service/connect`: Updates service API and documentation
+* `service/iotdeviceadvisor`: Updates service API and documentation
+* `service/kinesis-video-webrtc-storage`: Updates service API and documentation
+* `service/rds`: Updates service API, documentation, waiters, paginators, and examples
+ * Add support for managing master user password in AWS Secrets Manager for the DBInstance and DBCluster.
+* `service/secretsmanager`: Updates service documentation
+ * Documentation updates for Secrets Manager
+
Release v1.44.165 (2022-12-21)
===
diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go
index 9309c57d543..145509ccbd6 100644
--- a/aws/endpoints/defaults.go
+++ b/aws/endpoints/defaults.go
@@ -15283,6 +15283,121 @@ var awsPartition = partition{
},
},
},
+ "license-manager-linux-subscriptions": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
+ Hostname: "license-manager-linux-subscriptions-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
+ Hostname: "license-manager-linux-subscriptions-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
+ Hostname: "license-manager-linux-subscriptions-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
+ Hostname: "license-manager-linux-subscriptions-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "license-manager-linux-subscriptions-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "license-manager-linux-subscriptions-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "license-manager-linux-subscriptions-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "license-manager-linux-subscriptions-fips.us-west-2.amazonaws.com",
+ },
+ },
+ },
"license-manager-user-subscriptions": service{
Endpoints: serviceEndpoints{
endpointKey{
@@ -22889,33 +23004,93 @@ var awsPartition = partition{
endpointKey{
Region: "af-south-1",
}: endpoint{},
+ endpointKey{
+ Region: "af-south-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.af-south-1.amazonaws.com",
+ },
endpointKey{
Region: "ap-east-1",
}: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.ap-east-1.amazonaws.com",
+ },
endpointKey{
Region: "ap-northeast-1",
}: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.ap-northeast-1.amazonaws.com",
+ },
endpointKey{
Region: "ap-northeast-2",
}: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.ap-northeast-2.amazonaws.com",
+ },
endpointKey{
Region: "ap-northeast-3",
}: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.ap-northeast-3.amazonaws.com",
+ },
endpointKey{
Region: "ap-south-1",
}: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.ap-south-1.amazonaws.com",
+ },
endpointKey{
Region: "ap-southeast-1",
}: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.ap-southeast-1.amazonaws.com",
+ },
endpointKey{
Region: "ap-southeast-2",
}: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.ap-southeast-2.amazonaws.com",
+ },
endpointKey{
Region: "ap-southeast-3",
}: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.ap-southeast-3.amazonaws.com",
+ },
endpointKey{
Region: "ca-central-1",
}: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.ca-central-1.amazonaws.com",
+ },
endpointKey{
Region: "ca-central-1",
Variant: fipsVariant,
@@ -22934,30 +23109,84 @@ var awsPartition = partition{
endpointKey{
Region: "eu-central-1",
}: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.eu-central-1.amazonaws.com",
+ },
endpointKey{
Region: "eu-north-1",
}: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.eu-north-1.amazonaws.com",
+ },
endpointKey{
Region: "eu-south-1",
}: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.eu-south-1.amazonaws.com",
+ },
endpointKey{
Region: "eu-west-1",
}: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.eu-west-1.amazonaws.com",
+ },
endpointKey{
Region: "eu-west-2",
}: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.eu-west-2.amazonaws.com",
+ },
endpointKey{
Region: "eu-west-3",
}: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.eu-west-3.amazonaws.com",
+ },
endpointKey{
Region: "me-central-1",
}: endpoint{},
+ endpointKey{
+ Region: "me-central-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.me-central-1.amazonaws.com",
+ },
endpointKey{
Region: "me-south-1",
}: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.me-south-1.amazonaws.com",
+ },
endpointKey{
Region: "sa-east-1",
}: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.sa-east-1.amazonaws.com",
+ },
endpointKey{
Region: "servicediscovery",
}: endpoint{
@@ -22988,6 +23217,12 @@ var awsPartition = partition{
endpointKey{
Region: "us-east-1",
}: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.us-east-1.amazonaws.com",
+ },
endpointKey{
Region: "us-east-1",
Variant: fipsVariant,
@@ -23006,6 +23241,12 @@ var awsPartition = partition{
endpointKey{
Region: "us-east-2",
}: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.us-east-2.amazonaws.com",
+ },
endpointKey{
Region: "us-east-2",
Variant: fipsVariant,
@@ -23024,6 +23265,12 @@ var awsPartition = partition{
endpointKey{
Region: "us-west-1",
}: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.us-west-1.amazonaws.com",
+ },
endpointKey{
Region: "us-west-1",
Variant: fipsVariant,
@@ -23042,6 +23289,12 @@ var awsPartition = partition{
endpointKey{
Region: "us-west-2",
}: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.us-west-2.amazonaws.com",
+ },
endpointKey{
Region: "us-west-2",
Variant: fipsVariant,
@@ -29139,9 +29392,21 @@ var awscnPartition = partition{
endpointKey{
Region: "cn-north-1",
}: endpoint{},
+ endpointKey{
+ Region: "cn-north-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.cn-north-1.amazonaws.com.cn",
+ },
endpointKey{
Region: "cn-northwest-1",
}: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.cn-northwest-1.amazonaws.com.cn",
+ },
},
},
"sms": service{
@@ -33761,6 +34026,12 @@ var awsusgovPartition = partition{
endpointKey{
Region: "us-gov-east-1",
}: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.us-gov-east-1.amazonaws.com",
+ },
endpointKey{
Region: "us-gov-east-1",
Variant: fipsVariant,
@@ -33779,6 +34050,12 @@ var awsusgovPartition = partition{
endpointKey{
Region: "us-gov-west-1",
}: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "servicediscovery.us-gov-west-1.amazonaws.com",
+ },
endpointKey{
Region: "us-gov-west-1",
Variant: fipsVariant,
diff --git a/aws/version.go b/aws/version.go
index 5fab7c43f6a..f4e38e16fdd 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.165"
+const SDKVersion = "1.44.166"
diff --git a/models/apis/compute-optimizer/2019-11-01/api-2.json b/models/apis/compute-optimizer/2019-11-01/api-2.json
index 3e44cb9c0b7..22ab497f1c5 100644
--- a/models/apis/compute-optimizer/2019-11-01/api-2.json
+++ b/models/apis/compute-optimizer/2019-11-01/api-2.json
@@ -108,6 +108,25 @@
{"shape":"LimitExceededException"}
]
},
+ "ExportECSServiceRecommendations":{
+ "name":"ExportECSServiceRecommendations",
+ "http":{
+ "method":"POST",
+ "requestUri":"/"
+ },
+ "input":{"shape":"ExportECSServiceRecommendationsRequest"},
+ "output":{"shape":"ExportECSServiceRecommendationsResponse"},
+ "errors":[
+ {"shape":"OptInRequiredException"},
+ {"shape":"InternalServerException"},
+ {"shape":"ServiceUnavailableException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"InvalidParameterValueException"},
+ {"shape":"MissingAuthenticationToken"},
+ {"shape":"ThrottlingException"},
+ {"shape":"LimitExceededException"}
+ ]
+ },
"ExportLambdaFunctionRecommendations":{
"name":"ExportLambdaFunctionRecommendations",
"http":{
@@ -203,6 +222,44 @@
{"shape":"ThrottlingException"}
]
},
+ "GetECSServiceRecommendationProjectedMetrics":{
+ "name":"GetECSServiceRecommendationProjectedMetrics",
+ "http":{
+ "method":"POST",
+ "requestUri":"/"
+ },
+ "input":{"shape":"GetECSServiceRecommendationProjectedMetricsRequest"},
+ "output":{"shape":"GetECSServiceRecommendationProjectedMetricsResponse"},
+ "errors":[
+ {"shape":"OptInRequiredException"},
+ {"shape":"InternalServerException"},
+ {"shape":"ServiceUnavailableException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"InvalidParameterValueException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"MissingAuthenticationToken"},
+ {"shape":"ThrottlingException"}
+ ]
+ },
+ "GetECSServiceRecommendations":{
+ "name":"GetECSServiceRecommendations",
+ "http":{
+ "method":"POST",
+ "requestUri":"/"
+ },
+ "input":{"shape":"GetECSServiceRecommendationsRequest"},
+ "output":{"shape":"GetECSServiceRecommendationsResponse"},
+ "errors":[
+ {"shape":"OptInRequiredException"},
+ {"shape":"InternalServerException"},
+ {"shape":"ServiceUnavailableException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"InvalidParameterValueException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"MissingAuthenticationToken"},
+ {"shape":"ThrottlingException"}
+ ]
+ },
"GetEffectiveRecommendationPreferences":{
"name":"GetEffectiveRecommendationPreferences",
"http":{
@@ -376,6 +433,13 @@
"type":"list",
"member":{"shape":"AccountId"}
},
+ "AutoScalingConfiguration":{
+ "type":"string",
+ "enum":[
+ "TargetTrackingScalingCpu",
+ "TargetTrackingScalingMemory"
+ ]
+ },
"AutoScalingGroupArn":{"type":"string"},
"AutoScalingGroupArns":{
"type":"list",
@@ -428,6 +492,32 @@
"member":{"shape":"AutoScalingGroupRecommendation"}
},
"Code":{"type":"string"},
+ "ContainerConfiguration":{
+ "type":"structure",
+ "members":{
+ "containerName":{"shape":"ContainerName"},
+ "memorySizeConfiguration":{"shape":"MemorySizeConfiguration"},
+ "cpu":{"shape":"NullableCpu"}
+ }
+ },
+ "ContainerConfigurations":{
+ "type":"list",
+ "member":{"shape":"ContainerConfiguration"}
+ },
+ "ContainerName":{"type":"string"},
+ "ContainerRecommendation":{
+ "type":"structure",
+ "members":{
+ "containerName":{"shape":"ContainerName"},
+ "memorySizeConfiguration":{"shape":"MemorySizeConfiguration"},
+ "cpu":{"shape":"NullableCpu"}
+ }
+ },
+ "ContainerRecommendations":{
+ "type":"list",
+ "member":{"shape":"ContainerRecommendation"}
+ },
+ "CpuSize":{"type":"integer"},
"CpuVendorArchitecture":{
"type":"string",
"enum":[
@@ -546,6 +636,150 @@
"type":"list",
"member":{"shape":"EBSUtilizationMetric"}
},
+ "ECSServiceLaunchType":{
+ "type":"string",
+ "enum":[
+ "EC2",
+ "Fargate"
+ ]
+ },
+ "ECSServiceMetricName":{
+ "type":"string",
+ "enum":[
+ "Cpu",
+ "Memory"
+ ]
+ },
+ "ECSServiceMetricStatistic":{
+ "type":"string",
+ "enum":[
+ "Maximum",
+ "Average"
+ ]
+ },
+ "ECSServiceProjectedMetric":{
+ "type":"structure",
+ "members":{
+ "name":{"shape":"ECSServiceMetricName"},
+ "timestamps":{"shape":"Timestamps"},
+ "upperBoundValues":{"shape":"MetricValues"},
+ "lowerBoundValues":{"shape":"MetricValues"}
+ }
+ },
+ "ECSServiceProjectedMetrics":{
+ "type":"list",
+ "member":{"shape":"ECSServiceProjectedMetric"}
+ },
+ "ECSServiceProjectedUtilizationMetric":{
+ "type":"structure",
+ "members":{
+ "name":{"shape":"ECSServiceMetricName"},
+ "statistic":{"shape":"ECSServiceMetricStatistic"},
+ "lowerBoundValue":{"shape":"LowerBoundValue"},
+ "upperBoundValue":{"shape":"UpperBoundValue"}
+ }
+ },
+ "ECSServiceProjectedUtilizationMetrics":{
+ "type":"list",
+ "member":{"shape":"ECSServiceProjectedUtilizationMetric"}
+ },
+ "ECSServiceRecommendation":{
+ "type":"structure",
+ "members":{
+ "serviceArn":{"shape":"ServiceArn"},
+ "accountId":{"shape":"AccountId"},
+ "currentServiceConfiguration":{"shape":"ServiceConfiguration"},
+ "utilizationMetrics":{"shape":"ECSServiceUtilizationMetrics"},
+ "lookbackPeriodInDays":{"shape":"LookBackPeriodInDays"},
+ "launchType":{"shape":"ECSServiceLaunchType"},
+ "lastRefreshTimestamp":{"shape":"LastRefreshTimestamp"},
+ "finding":{"shape":"ECSServiceRecommendationFinding"},
+ "findingReasonCodes":{"shape":"ECSServiceRecommendationFindingReasonCodes"},
+ "serviceRecommendationOptions":{"shape":"ECSServiceRecommendationOptions"},
+ "currentPerformanceRisk":{"shape":"CurrentPerformanceRisk"}
+ }
+ },
+ "ECSServiceRecommendationFilter":{
+ "type":"structure",
+ "members":{
+ "name":{"shape":"ECSServiceRecommendationFilterName"},
+ "values":{"shape":"FilterValues"}
+ }
+ },
+ "ECSServiceRecommendationFilterName":{
+ "type":"string",
+ "enum":[
+ "Finding",
+ "FindingReasonCode"
+ ]
+ },
+ "ECSServiceRecommendationFilters":{
+ "type":"list",
+ "member":{"shape":"ECSServiceRecommendationFilter"}
+ },
+ "ECSServiceRecommendationFinding":{
+ "type":"string",
+ "enum":[
+ "Optimized",
+ "Underprovisioned",
+ "Overprovisioned"
+ ]
+ },
+ "ECSServiceRecommendationFindingReasonCode":{
+ "type":"string",
+ "enum":[
+ "MemoryOverprovisioned",
+ "MemoryUnderprovisioned",
+ "CPUOverprovisioned",
+ "CPUUnderprovisioned"
+ ]
+ },
+ "ECSServiceRecommendationFindingReasonCodes":{
+ "type":"list",
+ "member":{"shape":"ECSServiceRecommendationFindingReasonCode"}
+ },
+ "ECSServiceRecommendationOption":{
+ "type":"structure",
+ "members":{
+ "memory":{"shape":"NullableMemory"},
+ "cpu":{"shape":"NullableCpu"},
+ "savingsOpportunity":{"shape":"SavingsOpportunity"},
+ "projectedUtilizationMetrics":{"shape":"ECSServiceProjectedUtilizationMetrics"},
+ "containerRecommendations":{"shape":"ContainerRecommendations"}
+ }
+ },
+ "ECSServiceRecommendationOptions":{
+ "type":"list",
+ "member":{"shape":"ECSServiceRecommendationOption"}
+ },
+ "ECSServiceRecommendations":{
+ "type":"list",
+ "member":{"shape":"ECSServiceRecommendation"}
+ },
+ "ECSServiceRecommendedOptionProjectedMetric":{
+ "type":"structure",
+ "members":{
+ "recommendedCpuUnits":{"shape":"CpuSize"},
+ "recommendedMemorySize":{"shape":"MemorySize"},
+ "projectedMetrics":{"shape":"ECSServiceProjectedMetrics"}
+ }
+ },
+ "ECSServiceRecommendedOptionProjectedMetrics":{
+ "type":"list",
+ "member":{"shape":"ECSServiceRecommendedOptionProjectedMetric"}
+ },
+ "ECSServiceUtilizationMetric":{
+ "type":"structure",
+ "members":{
+ "name":{"shape":"ECSServiceMetricName"},
+ "statistic":{"shape":"ECSServiceMetricStatistic"},
+ "value":{"shape":"MetricValue"}
+ }
+ },
+ "ECSServiceUtilizationMetrics":{
+ "type":"list",
+ "member":{"shape":"ECSServiceUtilizationMetric"}
+ },
"EffectiveRecommendationPreferences":{
"type":"structure",
"members":{
@@ -650,6 +884,25 @@
"s3Destination":{"shape":"S3Destination"}
}
},
+ "ExportECSServiceRecommendationsRequest":{
+ "type":"structure",
+ "required":["s3DestinationConfig"],
+ "members":{
+ "accountIds":{"shape":"AccountIds"},
+ "filters":{"shape":"ECSServiceRecommendationFilters"},
+ "fieldsToExport":{"shape":"ExportableECSServiceFields"},
+ "s3DestinationConfig":{"shape":"S3DestinationConfig"},
+ "fileFormat":{"shape":"FileFormat"},
+ "includeMemberAccounts":{"shape":"IncludeMemberAccounts"}
+ }
+ },
+ "ExportECSServiceRecommendationsResponse":{
+ "type":"structure",
+ "members":{
+ "jobId":{"shape":"JobId"},
+ "s3Destination":{"shape":"S3Destination"}
+ }
+ },
"ExportLambdaFunctionRecommendationsRequest":{
"type":"structure",
"required":["s3DestinationConfig"],
@@ -732,6 +985,38 @@
"type":"list",
"member":{"shape":"ExportableAutoScalingGroupField"}
},
+ "ExportableECSServiceField":{
+ "type":"string",
+ "enum":[
+ "AccountId",
+ "ServiceArn",
+ "LookbackPeriodInDays",
+ "LastRefreshTimestamp",
+ "LaunchType",
+ "CurrentPerformanceRisk",
+ "CurrentServiceConfigurationMemory",
+ "CurrentServiceConfigurationCpu",
+ "CurrentServiceConfigurationTaskDefinitionArn",
+ "CurrentServiceConfigurationAutoScalingConfiguration",
+ "CurrentServiceContainerConfigurations",
+ "UtilizationMetricsCpuMaximum",
+ "UtilizationMetricsMemoryMaximum",
+ "Finding",
+ "FindingReasonCodes",
+ "RecommendationOptionsMemory",
+ "RecommendationOptionsCpu",
+ "RecommendationOptionsSavingsOpportunityPercentage",
+ "RecommendationOptionsEstimatedMonthlySavingsCurrency",
+ "RecommendationOptionsEstimatedMonthlySavingsValue",
+ "RecommendationOptionsContainerRecommendations",
+ "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum",
+ "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum"
+ ]
+ },
+ "ExportableECSServiceFields":{
+ "type":"list",
+ "member":{"shape":"ExportableECSServiceField"}
+ },
"ExportableInstanceField":{
"type":"string",
"enum":[
@@ -1012,6 +1297,47 @@
"recommendedOptionProjectedMetrics":{"shape":"RecommendedOptionProjectedMetrics"}
}
},
+ "GetECSServiceRecommendationProjectedMetricsRequest":{
+ "type":"structure",
+ "required":[
+ "serviceArn",
+ "stat",
+ "period",
+ "startTime",
+ "endTime"
+ ],
+ "members":{
+ "serviceArn":{"shape":"ServiceArn"},
+ "stat":{"shape":"MetricStatistic"},
+ "period":{"shape":"Period"},
+ "startTime":{"shape":"Timestamp"},
+ "endTime":{"shape":"Timestamp"}
+ }
+ },
+ "GetECSServiceRecommendationProjectedMetricsResponse":{
+ "type":"structure",
+ "members":{
+ "recommendedOptionProjectedMetrics":{"shape":"ECSServiceRecommendedOptionProjectedMetrics"}
+ }
+ },
+ "GetECSServiceRecommendationsRequest":{
+ "type":"structure",
+ "members":{
+ "serviceArns":{"shape":"ServiceArns"},
+ "nextToken":{"shape":"NextToken"},
+ "maxResults":{"shape":"MaxResults"},
+ "filters":{"shape":"ECSServiceRecommendationFilters"},
+ "accountIds":{"shape":"AccountIds"}
+ }
+ },
+ "GetECSServiceRecommendationsResponse":{
+ "type":"structure",
+ "members":{
+ "nextToken":{"shape":"NextToken"},
+ "ecsServiceRecommendations":{"shape":"ECSServiceRecommendations"},
+ "errors":{"shape":"GetRecommendationErrors"}
+ }
+ },
"GetEffectiveRecommendationPreferencesRequest":{
"type":"structure",
"required":["resourceArn"],
@@ -1393,14 +1719,24 @@
},
"LookBackPeriodInDays":{"type":"double"},
"Low":{"type":"long"},
+ "LowerBoundValue":{"type":"double"},
"MaxResults":{
"type":"integer",
- "box":true
+ "box":true,
+ "max":1000,
+ "min":0
},
"MaxSize":{"type":"integer"},
"Medium":{"type":"long"},
"MemberAccountsEnrolled":{"type":"boolean"},
"MemorySize":{"type":"integer"},
+ "MemorySizeConfiguration":{
+ "type":"structure",
+ "members":{
+ "memory":{"shape":"NullableMemory"},
+ "memoryReservation":{"shape":"NullableMemoryReservation"}
+ }
+ },
"Message":{"type":"string"},
"MetadataKey":{"type":"string"},
"MetricName":{
@@ -1453,6 +1789,9 @@
"synthetic":true
},
"NextToken":{"type":"string"},
+ "NullableCpu":{"type":"integer"},
+ "NullableMemory":{"type":"integer"},
+ "NullableMemoryReservation":{"type":"integer"},
"NumberOfInvocations":{"type":"long"},
"NumberOfMemberAccountsOptedIn":{"type":"integer"},
"OptInRequiredException":{
@@ -1594,7 +1933,8 @@
"Ec2Instance",
"AutoScalingGroup",
"EbsVolume",
- "LambdaFunction"
+ "LambdaFunction",
+ "EcsService"
]
},
"RecommendationSources":{
@@ -1644,7 +1984,8 @@
"AutoScalingGroup",
"EbsVolume",
"LambdaFunction",
- "NotApplicable"
+ "NotApplicable",
+ "EcsService"
]
},
"S3Destination":{
@@ -1686,6 +2027,21 @@
]
},
"ScopeValue":{"type":"string"},
+ "ServiceArn":{"type":"string"},
+ "ServiceArns":{
+ "type":"list",
+ "member":{"shape":"ServiceArn"}
+ },
+ "ServiceConfiguration":{
+ "type":"structure",
+ "members":{
+ "memory":{"shape":"NullableMemory"},
+ "cpu":{"shape":"NullableCpu"},
+ "containerConfigurations":{"shape":"ContainerConfigurations"},
+ "autoScalingConfiguration":{"shape":"AutoScalingConfiguration"},
+ "taskDefinitionArn":{"shape":"TaskDefinitionArn"}
+ }
+ },
"ServiceUnavailableException":{
"type":"structure",
"members":{
@@ -1717,6 +2073,7 @@
}
},
"SummaryValue":{"type":"double"},
+ "TaskDefinitionArn":{"type":"string"},
"ThrottlingException":{
"type":"structure",
"required":["message"],
@@ -1746,6 +2103,7 @@
"statusReason":{"shape":"StatusReason"}
}
},
+ "UpperBoundValue":{"type":"double"},
"UtilizationMetric":{
"type":"structure",
"members":{
diff --git a/models/apis/compute-optimizer/2019-11-01/docs-2.json b/models/apis/compute-optimizer/2019-11-01/docs-2.json
index 429a0a159ed..095600b9ff2 100644
--- a/models/apis/compute-optimizer/2019-11-01/docs-2.json
+++ b/models/apis/compute-optimizer/2019-11-01/docs-2.json
@@ -1,23 +1,26 @@
{
"version": "2.0",
- "service": "
Compute Optimizer is a service that analyzes the configuration and utilization metrics of your Amazon Web Services compute resources, such as Amazon EC2 instances, Amazon EC2 Auto Scaling groups, Lambda functions, and Amazon EBS volumes. It reports whether your resources are optimal, and generates optimization recommendations to reduce the cost and improve the performance of your workloads. Compute Optimizer also provides recent utilization metric data, in addition to projected utilization metric data for the recommendations, which you can use to evaluate which recommendation provides the best price-performance trade-off. The analysis of your usage patterns can help you decide when to move or resize your running resources, and still meet your performance and capacity requirements. For more information about Compute Optimizer, including the required permissions to use the service, see the Compute Optimizer User Guide.
",
+ "service": "Compute Optimizer is a service that analyzes the configuration and utilization metrics of your Amazon Web Services compute resources, such as Amazon EC2 instances, Amazon EC2 Auto Scaling groups, Lambda functions, Amazon EBS volumes, and Amazon ECS services on Fargate. It reports whether your resources are optimal, and generates optimization recommendations to reduce the cost and improve the performance of your workloads. Compute Optimizer also provides recent utilization metric data, in addition to projected utilization metric data for the recommendations, which you can use to evaluate which recommendation provides the best price-performance trade-off. The analysis of your usage patterns can help you decide when to move or resize your running resources, and still meet your performance and capacity requirements. For more information about Compute Optimizer, including the required permissions to use the service, see the Compute Optimizer User Guide.
",
"operations": {
"DeleteRecommendationPreferences": "Deletes a recommendation preference, such as enhanced infrastructure metrics.
For more information, see Activating enhanced infrastructure metrics in the Compute Optimizer User Guide.
",
"DescribeRecommendationExportJobs": "Describes recommendation export jobs created in the last seven days.
Use the ExportAutoScalingGroupRecommendations or ExportEC2InstanceRecommendations actions to request an export of your recommendations. Then use the DescribeRecommendationExportJobs action to view your export jobs.
",
"ExportAutoScalingGroupRecommendations": "Exports optimization recommendations for Auto Scaling groups.
Recommendations are exported in a comma-separated values (.csv) file, and its metadata in a JavaScript Object Notation (JSON) (.json) file, to an existing Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more information, see Exporting Recommendations in the Compute Optimizer User Guide.
You can have only one Auto Scaling group export job in progress per Amazon Web Services Region.
",
"ExportEBSVolumeRecommendations": "Exports optimization recommendations for Amazon EBS volumes.
Recommendations are exported in a comma-separated values (.csv) file, and its metadata in a JavaScript Object Notation (JSON) (.json) file, to an existing Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more information, see Exporting Recommendations in the Compute Optimizer User Guide.
You can have only one Amazon EBS volume export job in progress per Amazon Web Services Region.
",
"ExportEC2InstanceRecommendations": "Exports optimization recommendations for Amazon EC2 instances.
Recommendations are exported in a comma-separated values (.csv) file, and its metadata in a JavaScript Object Notation (JSON) (.json) file, to an existing Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more information, see Exporting Recommendations in the Compute Optimizer User Guide.
You can have only one Amazon EC2 instance export job in progress per Amazon Web Services Region.
",
+ "ExportECSServiceRecommendations": " Exports optimization recommendations for Amazon ECS services on Fargate.
Recommendations are exported in a CSV file, and its metadata in a JSON file, to an existing Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more information, see Exporting Recommendations in the Compute Optimizer User Guide.
You can only have one Amazon ECS service export job in progress per Amazon Web Services Region.
",
"ExportLambdaFunctionRecommendations": "Exports optimization recommendations for Lambda functions.
Recommendations are exported in a comma-separated values (.csv) file, and its metadata in a JavaScript Object Notation (JSON) (.json) file, to an existing Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more information, see Exporting Recommendations in the Compute Optimizer User Guide.
You can have only one Lambda function export job in progress per Amazon Web Services Region.
",
"GetAutoScalingGroupRecommendations": "Returns Auto Scaling group recommendations.
Compute Optimizer generates recommendations for Amazon EC2 Auto Scaling groups that meet a specific set of requirements. For more information, see the Supported resources and requirements in the Compute Optimizer User Guide.
",
"GetEBSVolumeRecommendations": "Returns Amazon Elastic Block Store (Amazon EBS) volume recommendations.
Compute Optimizer generates recommendations for Amazon EBS volumes that meet a specific set of requirements. For more information, see the Supported resources and requirements in the Compute Optimizer User Guide.
",
"GetEC2InstanceRecommendations": "Returns Amazon EC2 instance recommendations.
Compute Optimizer generates recommendations for Amazon Elastic Compute Cloud (Amazon EC2) instances that meet a specific set of requirements. For more information, see the Supported resources and requirements in the Compute Optimizer User Guide.
",
"GetEC2RecommendationProjectedMetrics": "Returns the projected utilization metrics of Amazon EC2 instance recommendations.
The Cpu
and Memory
metrics are the only projected utilization metrics returned when you run this action. Additionally, the Memory
metric is returned only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.
",
+ "GetECSServiceRecommendationProjectedMetrics": " Returns the projected metrics of Amazon ECS service recommendations.
",
+ "GetECSServiceRecommendations": " Returns Amazon ECS service recommendations.
Compute Optimizer generates recommendations for Amazon ECS services on Fargate that meet a specific set of requirements. For more information, see the Supported resources and requirements in the Compute Optimizer User Guide.
",
"GetEffectiveRecommendationPreferences": "Returns the recommendation preferences that are in effect for a given resource, such as enhanced infrastructure metrics. Considers all applicable preferences that you might have set at the resource, account, and organization level.
When you create a recommendation preference, you can set its status to Active
or Inactive
. Use this action to view the recommendation preferences that are in effect, or Active
.
",
"GetEnrollmentStatus": "Returns the enrollment (opt in) status of an account to the Compute Optimizer service.
If the account is the management account of an organization, this action also confirms the enrollment status of member accounts of the organization. Use the GetEnrollmentStatusesForOrganization action to get detailed information about the enrollment status of member accounts of an organization.
",
"GetEnrollmentStatusesForOrganization": "Returns the Compute Optimizer enrollment (opt-in) status of organization member accounts, if your account is an organization management account.
To get the enrollment status of standalone accounts, use the GetEnrollmentStatus action.
",
"GetLambdaFunctionRecommendations": "Returns Lambda function recommendations.
Compute Optimizer generates recommendations for functions that meet a specific set of requirements. For more information, see the Supported resources and requirements in the Compute Optimizer User Guide.
",
"GetRecommendationPreferences": "Returns existing recommendation preferences, such as enhanced infrastructure metrics.
Use the scope
parameter to specify which preferences to return. You can specify to return preferences for an organization, a specific account ID, or a specific EC2 instance or Auto Scaling group Amazon Resource Name (ARN).
For more information, see Activating enhanced infrastructure metrics in the Compute Optimizer User Guide.
",
- "GetRecommendationSummaries": "Returns the optimization findings for an account.
It returns the number of:
-
Amazon EC2 instances in an account that are Underprovisioned
, Overprovisioned
, or Optimized
.
-
Auto Scaling groups in an account that are NotOptimized
, or Optimized
.
-
Amazon EBS volumes in an account that are NotOptimized
, or Optimized
.
-
Lambda functions in an account that are NotOptimized
, or Optimized
.
",
+ "GetRecommendationSummaries": "Returns the optimization findings for an account.
It returns the number of:
-
Amazon EC2 instances in an account that are Underprovisioned
, Overprovisioned
, or Optimized
.
-
Auto Scaling groups in an account that are NotOptimized
, or Optimized
.
-
Amazon EBS volumes in an account that are NotOptimized
, or Optimized
.
-
Lambda functions in an account that are NotOptimized
, or Optimized
.
-
Amazon ECS services in an account that are Underprovisioned
, Overprovisioned
, or Optimized
.
",
"PutRecommendationPreferences": "Creates a new recommendation preference or updates an existing recommendation preference, such as enhanced infrastructure metrics.
For more information, see Activating enhanced infrastructure metrics in the Compute Optimizer User Guide.
",
"UpdateEnrollmentStatus": "Updates the enrollment (opt in and opt out) status of an account to the Compute Optimizer service.
If the account is a management account of an organization, this action can also be used to enroll member accounts of the organization.
You must have the appropriate permissions to opt in to Compute Optimizer, to view its recommendations, and to opt out. For more information, see Controlling access with Amazon Web Services Identity and Access Management in the Compute Optimizer User Guide.
When you opt in, Compute Optimizer automatically creates a service-linked role in your account to access its data. For more information, see Using Service-Linked Roles for Compute Optimizer in the Compute Optimizer User Guide.
"
},
@@ -45,6 +48,7 @@
"AccountEnrollmentStatus$accountId": "The Amazon Web Services account ID.
",
"AccountIds$member": null,
"AutoScalingGroupRecommendation$accountId": "The Amazon Web Services account ID of the Auto Scaling group.
",
+ "ECSServiceRecommendation$accountId": " The Amazon Web Services account ID of the ECS service.
",
"InstanceRecommendation$accountId": "The Amazon Web Services account ID of the instance.
",
"LambdaFunctionRecommendation$accountId": "The Amazon Web Services account ID of the function.
",
"RecommendationSummary$accountId": "The Amazon Web Services account ID of the recommendation summary.
",
@@ -57,14 +61,22 @@
"ExportAutoScalingGroupRecommendationsRequest$accountIds": "The IDs of the Amazon Web Services accounts for which to export Auto Scaling group recommendations.
If your account is the management account of an organization, use this parameter to specify the member account for which you want to export recommendations.
This parameter cannot be specified together with the include member accounts parameter. The parameters are mutually exclusive.
Recommendations for member accounts are not included in the export if this parameter, or the include member accounts parameter, is omitted.
You can specify multiple account IDs per request.
",
"ExportEBSVolumeRecommendationsRequest$accountIds": "The IDs of the Amazon Web Services accounts for which to export Amazon EBS volume recommendations.
If your account is the management account of an organization, use this parameter to specify the member account for which you want to export recommendations.
This parameter cannot be specified together with the include member accounts parameter. The parameters are mutually exclusive.
Recommendations for member accounts are not included in the export if this parameter, or the include member accounts parameter, is omitted.
You can specify multiple account IDs per request.
",
"ExportEC2InstanceRecommendationsRequest$accountIds": "The IDs of the Amazon Web Services accounts for which to export instance recommendations.
If your account is the management account of an organization, use this parameter to specify the member account for which you want to export recommendations.
This parameter cannot be specified together with the include member accounts parameter. The parameters are mutually exclusive.
Recommendations for member accounts are not included in the export if this parameter, or the include member accounts parameter, is omitted.
You can specify multiple account IDs per request.
",
+ "ExportECSServiceRecommendationsRequest$accountIds": " The Amazon Web Services account IDs for the export ECS service recommendations.
If your account is the management account or the delegated administrator of an organization, use this parameter to specify the member account you want to export recommendations to.
This parameter can't be specified together with the include member accounts parameter. The parameters are mutually exclusive.
If this parameter or the include member accounts parameter is omitted, the recommendations for member accounts aren't included in the export.
You can specify multiple account IDs per request.
",
"ExportLambdaFunctionRecommendationsRequest$accountIds": "The IDs of the Amazon Web Services accounts for which to export Lambda function recommendations.
If your account is the management account of an organization, use this parameter to specify the member account for which you want to export recommendations.
This parameter cannot be specified together with the include member accounts parameter. The parameters are mutually exclusive.
Recommendations for member accounts are not included in the export if this parameter, or the include member accounts parameter, is omitted.
You can specify multiple account IDs per request.
",
"GetAutoScalingGroupRecommendationsRequest$accountIds": "The ID of the Amazon Web Services account for which to return Auto Scaling group recommendations.
If your account is the management account of an organization, use this parameter to specify the member account for which you want to return Auto Scaling group recommendations.
Only one account ID can be specified per request.
",
"GetEBSVolumeRecommendationsRequest$accountIds": "The ID of the Amazon Web Services account for which to return volume recommendations.
If your account is the management account of an organization, use this parameter to specify the member account for which you want to return volume recommendations.
Only one account ID can be specified per request.
",
"GetEC2InstanceRecommendationsRequest$accountIds": "The ID of the Amazon Web Services account for which to return instance recommendations.
If your account is the management account of an organization, use this parameter to specify the member account for which you want to return instance recommendations.
Only one account ID can be specified per request.
",
+ "GetECSServiceRecommendationsRequest$accountIds": " Return the ECS service recommendations to the specified Amazon Web Services account IDs.
If your account is the management account or the delegated administrator of an organization, use this parameter to return the ECS service recommendations to specific member accounts.
You can only specify one account ID per request.
",
"GetLambdaFunctionRecommendationsRequest$accountIds": "The ID of the Amazon Web Services account for which to return function recommendations.
If your account is the management account of an organization, use this parameter to specify the member account for which you want to return function recommendations.
Only one account ID can be specified per request.
",
"GetRecommendationSummariesRequest$accountIds": "The ID of the Amazon Web Services account for which to return recommendation summaries.
If your account is the management account of an organization, use this parameter to specify the member account for which you want to return recommendation summaries.
Only one account ID can be specified per request.
"
}
},
+ "AutoScalingConfiguration": {
+ "base": null,
+ "refs": {
+ "ServiceConfiguration$autoScalingConfiguration": " Describes the Auto Scaling configuration methods for an Amazon ECS service. This affects the generated recommendations. For example, if Auto Scaling is configured on a ECS service’s CPU, then Compute Optimizer doesn’t generate CPU size recommendations.
The Auto Scaling configuration methods include:
-
TARGET_TRACKING_SCALING_CPU
— If the ECS service is configured to use target scaling on CPU, Compute Optimizer doesn't generate CPU recommendations.
-
TARGET_TRACKING_SCALING_MEMORY
— If the ECS service is configured to use target scaling on memory, Compute Optimizer doesn't generate memory recommendations.
For more information about step scaling and target scaling, see Step scaling policies for Application Auto Scaling and Target tracking scaling policies for Application Auto Scaling in the Application Auto Scaling User Guide.
"
+ }
+ },
"AutoScalingGroupArn": {
"base": null,
"refs": {
@@ -121,6 +133,43 @@
"GetRecommendationError$code": "The error code.
"
}
},
+ "ContainerConfiguration": {
+ "base": " Describes the container configurations within the tasks of your Amazon ECS service.
",
+ "refs": {
+ "ContainerConfigurations$member": null
+ }
+ },
+ "ContainerConfigurations": {
+ "base": null,
+ "refs": {
+ "ServiceConfiguration$containerConfigurations": " The container configurations within a task of an ECS service.
"
+ }
+ },
+ "ContainerName": {
+ "base": null,
+ "refs": {
+ "ContainerConfiguration$containerName": " The name of the container.
",
+ "ContainerRecommendation$containerName": " The name of the container.
"
+ }
+ },
+ "ContainerRecommendation": {
+ "base": " The CPU and memory recommendations for a container within the tasks of your Amazon ECS service.
",
+ "refs": {
+ "ContainerRecommendations$member": null
+ }
+ },
+ "ContainerRecommendations": {
+ "base": null,
+ "refs": {
+ "ECSServiceRecommendationOption$containerRecommendations": " The CPU and memory size recommendations for the containers within the task of your ECS service.
"
+ }
+ },
+ "CpuSize": {
+ "base": null,
+ "refs": {
+ "ECSServiceRecommendedOptionProjectedMetric$recommendedCpuUnits": " The recommended CPU size for the ECS service.
"
+ }
+ },
"CpuVendorArchitecture": {
"base": null,
"refs": {
@@ -156,6 +205,7 @@
"base": null,
"refs": {
"AutoScalingGroupRecommendation$currentPerformanceRisk": "The risk of the current Auto Scaling group not meeting the performance needs of its workloads. The higher the risk, the more likely the current Auto Scaling group configuration has insufficient capacity and cannot meet workload requirements.
",
+ "ECSServiceRecommendation$currentPerformanceRisk": " The risk of the current ECS service not meeting the performance needs of its workloads. The higher the risk, the more likely the current service can't meet the performance requirements of its workload.
",
"InstanceRecommendation$currentPerformanceRisk": "The risk of the current instance not meeting the performance needs of its workloads. The higher the risk, the more likely the current instance cannot meet the performance requirements of its workload.
",
"LambdaFunctionRecommendation$currentPerformanceRisk": "The risk of the current Lambda function not meeting the performance needs of its workloads. The higher the risk, the more likely the current Lambda function requires more memory.
",
"VolumeRecommendation$currentPerformanceRisk": "The risk of the current EBS volume not meeting the performance needs of its workloads. The higher the risk, the more likely the current EBS volume doesn't have sufficient capacity.
"
@@ -255,6 +305,136 @@
"VolumeRecommendation$utilizationMetrics": "An array of objects that describe the utilization metrics of the volume.
"
}
},
+ "ECSServiceLaunchType": {
+ "base": null,
+ "refs": {
+ "ECSServiceRecommendation$launchType": " The launch type the ECS service is using.
Compute Optimizer only supports the Fargate launch type.
"
+ }
+ },
+ "ECSServiceMetricName": {
+ "base": null,
+ "refs": {
+ "ECSServiceProjectedMetric$name": " The name of the projected metric.
The following metrics are available:
",
+ "ECSServiceProjectedUtilizationMetric$name": " The name of the projected utilization metric.
The following utilization metrics are available:
",
+ "ECSServiceUtilizationMetric$name": " The name of the utilization metric.
The following utilization metrics are available:
"
+ }
+ },
+ "ECSServiceMetricStatistic": {
+ "base": null,
+ "refs": {
+ "ECSServiceProjectedUtilizationMetric$statistic": "The statistic of the projected utilization metric.
The Compute Optimizer API, Command Line Interface (CLI), and SDKs return utilization metrics using only the Maximum
statistic, which is the highest value observed during the specified period.
The Compute Optimizer console displays graphs for some utilization metrics using the Average
statistic, which is the value of Sum
/ SampleCount
during the specified period. For more information, see Viewing resource recommendations in the Compute Optimizer User Guide. You can also get averaged utilization metric data for your resources using Amazon CloudWatch. For more information, see the Amazon CloudWatch User Guide.
",
+ "ECSServiceUtilizationMetric$statistic": "The statistic of the utilization metric.
The Compute Optimizer API, Command Line Interface (CLI), and SDKs return utilization metrics using only the Maximum
statistic, which is the highest value observed during the specified period.
The Compute Optimizer console displays graphs for some utilization metrics using the Average
statistic, which is the value of Sum
/ SampleCount
during the specified period. For more information, see Viewing resource recommendations in the Compute Optimizer User Guide. You can also get averaged utilization metric data for your resources using Amazon CloudWatch. For more information, see the Amazon CloudWatch User Guide.
"
+ }
+ },
+ "ECSServiceProjectedMetric": {
+ "base": " Describes the projected metrics of an Amazon ECS service recommendation option.
To determine the performance difference between your current ECS service and the recommended option, compare the metric data of your service against its projected metric data.
",
+ "refs": {
+ "ECSServiceProjectedMetrics$member": null
+ }
+ },
+ "ECSServiceProjectedMetrics": {
+ "base": null,
+ "refs": {
+ "ECSServiceRecommendedOptionProjectedMetric$projectedMetrics": " An array of objects that describe the projected metric.
"
+ }
+ },
+ "ECSServiceProjectedUtilizationMetric": {
+ "base": " Describes the projected utilization metrics of an Amazon ECS service recommendation option.
To determine the performance difference between your current ECS service and the recommended option, compare the utilization metric data of your service against its projected utilization metric data.
",
+ "refs": {
+ "ECSServiceProjectedUtilizationMetrics$member": null
+ }
+ },
+ "ECSServiceProjectedUtilizationMetrics": {
+ "base": null,
+ "refs": {
+ "ECSServiceRecommendationOption$projectedUtilizationMetrics": " An array of objects that describe the projected utilization metrics of the ECS service recommendation option.
"
+ }
+ },
+ "ECSServiceRecommendation": {
+ "base": " Describes an Amazon ECS service recommendation.
",
+ "refs": {
+ "ECSServiceRecommendations$member": null
+ }
+ },
+ "ECSServiceRecommendationFilter": {
+ "base": " Describes a filter that returns a more specific list of Amazon ECS service recommendations. Use this filter with the GetECSServiceRecommendations action.
",
+ "refs": {
+ "ECSServiceRecommendationFilters$member": null
+ }
+ },
+ "ECSServiceRecommendationFilterName": {
+ "base": null,
+ "refs": {
+ "ECSServiceRecommendationFilter$name": " The name of the filter.
Specify Finding
to return recommendations with a specific finding classification.
Specify FindingReasonCode
to return recommendations with a specific finding reason code.
"
+ }
+ },
+ "ECSServiceRecommendationFilters": {
+ "base": null,
+ "refs": {
+ "ExportECSServiceRecommendationsRequest$filters": " An array of objects to specify a filter that exports a more specific set of ECS service recommendations.
",
+ "GetECSServiceRecommendationsRequest$filters": " An array of objects to specify a filter that returns a more specific list of ECS service recommendations.
"
+ }
+ },
+ "ECSServiceRecommendationFinding": {
+ "base": null,
+ "refs": {
+ "ECSServiceRecommendation$finding": " The finding classification of an ECS service.
Findings for ECS services include:
-
Underprovisioned
— When Compute Optimizer detects that there’s not enough memory or CPU, an ECS service is considered under-provisioned. An under-provisioned ECS service might result in poor application performance.
-
Overprovisioned
— When Compute Optimizer detects that there’s excessive memory or CPU, an ECS service is considered over-provisioned. An over-provisioned ECS service might result in additional infrastructure costs.
-
Optimized
— When both the CPU and memory of your ECS service meet the performance requirements of your workload, the service is considered optimized.
"
+ }
+ },
+ "ECSServiceRecommendationFindingReasonCode": {
+ "base": null,
+ "refs": {
+ "ECSServiceRecommendationFindingReasonCodes$member": null
+ }
+ },
+ "ECSServiceRecommendationFindingReasonCodes": {
+ "base": null,
+ "refs": {
+ "ECSServiceRecommendation$findingReasonCodes": " The reason for the finding classification of an ECS service.
Finding reason codes for ECS services include:
-
CPUUnderprovisioned
— The ECS service CPU configuration can be sized up to enhance the performance of your workload. This is identified by analyzing the CPUUtilization
metric of the current service during the look-back period.
-
CPUOverprovisioned
— The ECS service CPU configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the CPUUtilization
metric of the current service during the look-back period.
-
MemoryUnderprovisioned
— The ECS service memory configuration can be sized up to enhance the performance of your workload. This is identified by analyzing the MemoryUtilization
metric of the current service during the look-back period.
-
MemoryOverprovisioned
— The ECS service memory configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the MemoryUtilization
metric of the current service during the look-back period.
"
+ }
+ },
+ "ECSServiceRecommendationOption": {
+ "base": " Describes the recommendation options for an Amazon ECS service.
",
+ "refs": {
+ "ECSServiceRecommendationOptions$member": null
+ }
+ },
+ "ECSServiceRecommendationOptions": {
+ "base": null,
+ "refs": {
+ "ECSServiceRecommendation$serviceRecommendationOptions": " An array of objects that describe the recommendation options for the ECS service.
"
+ }
+ },
+ "ECSServiceRecommendations": {
+ "base": null,
+ "refs": {
+ "GetECSServiceRecommendationsResponse$ecsServiceRecommendations": " An array of objects that describe the ECS service recommendations.
"
+ }
+ },
+ "ECSServiceRecommendedOptionProjectedMetric": {
+ "base": " Describes the projected metrics of an Amazon ECS service recommendation option.
To determine the performance difference between your current ECS service and the recommended option, compare the metric data of your service against its projected metric data.
",
+ "refs": {
+ "ECSServiceRecommendedOptionProjectedMetrics$member": null
+ }
+ },
+ "ECSServiceRecommendedOptionProjectedMetrics": {
+ "base": null,
+ "refs": {
+ "GetECSServiceRecommendationProjectedMetricsResponse$recommendedOptionProjectedMetrics": " An array of objects that describes the projected metrics.
"
+ }
+ },
+ "ECSServiceUtilizationMetric": {
+ "base": " Describes the utilization metric of an Amazon ECS service.
To determine the performance difference between your current ECS service and the recommended option, compare the utilization metric data of your service against its projected utilization metric data.
",
+ "refs": {
+ "ECSServiceUtilizationMetrics$member": null
+ }
+ },
+ "ECSServiceUtilizationMetrics": {
+ "base": null,
+ "refs": {
+ "ECSServiceRecommendation$utilizationMetrics": " An array of objects that describe the utilization metrics of the ECS service.
"
+ }
+ },
"EffectiveRecommendationPreferences": {
"base": "Describes the effective recommendation preferences for a resource.
",
"refs": {
@@ -345,6 +525,16 @@
"refs": {
}
},
+ "ExportECSServiceRecommendationsRequest": {
+ "base": null,
+ "refs": {
+ }
+ },
+ "ExportECSServiceRecommendationsResponse": {
+ "base": null,
+ "refs": {
+ }
+ },
"ExportLambdaFunctionRecommendationsRequest": {
"base": null,
"refs": {
@@ -367,6 +557,18 @@
"ExportAutoScalingGroupRecommendationsRequest$fieldsToExport": "The recommendations data to include in the export file. For more information about the fields that can be exported, see Exported files in the Compute Optimizer User Guide.
"
}
},
+ "ExportableECSServiceField": {
+ "base": null,
+ "refs": {
+ "ExportableECSServiceFields$member": null
+ }
+ },
+ "ExportableECSServiceFields": {
+ "base": null,
+ "refs": {
+ "ExportECSServiceRecommendationsRequest$fieldsToExport": "The recommendations data to include in the export file. For more information about the fields that can be exported, see Exported files in the Compute Optimizer User Guide.
"
+ }
+ },
"ExportableInstanceField": {
"base": null,
"refs": {
@@ -407,7 +609,7 @@
"base": " Describes the external metrics preferences for EC2 rightsizing recommendations.
",
"refs": {
"EffectiveRecommendationPreferences$externalMetricsPreference": " An object that describes the external metrics recommendation preference.
If the preference is applied in the latest recommendation refresh, an object with a valid source
value appears in the response. If the preference isn't applied to the recommendations already, then this object doesn't appear in the response.
",
- "GetEffectiveRecommendationPreferencesResponse$externalMetricsPreference": "The provider of the external metrics recommendation preference. Considers all applicable preferences that you might have set at the account and organization level.
If the preference is applied in the latest recommendation refresh, an object with a valid source
value appears in the response. If the preference isn't applied to the recommendations already, then this object doesn't appear in the response.
To validate whether the preference is applied to your last generated set of recommendations, review the effectiveRecommendationPreferences
value in the response of the GetEC2InstanceRecommendations actions.
For more information, see Enhanced infrastructure metrics in the Compute Optimizer User Guide.
",
+ "GetEffectiveRecommendationPreferencesResponse$externalMetricsPreference": "The provider of the external metrics recommendation preference. Considers all applicable preferences that you might have set at the account and organization level.
If the preference is applied in the latest recommendation refresh, an object with a valid source
value appears in the response. If the preference isn't applied to the recommendations already, then this object doesn't appear in the response.
To validate whether the preference is applied to your last generated set of recommendations, review the effectiveRecommendationPreferences
value in the response of the GetEC2InstanceRecommendations actions.
For more information, see Enhanced infrastructure metrics in the Compute Optimizer User Guide.
",
"PutRecommendationPreferencesRequest$externalMetricsPreference": "The provider of the external metrics recommendation preference to create or update.
Specify a valid provider in the source
field to activate the preference. To delete this preference, see the DeleteRecommendationPreferences action.
This preference can only be set for the Ec2Instance
resource type.
For more information, see External metrics ingestion in the Compute Optimizer User Guide.
",
"RecommendationPreferencesDetail$externalMetricsPreference": " An object that describes the external metrics recommendation preference.
If the preference is applied in the latest recommendation refresh, an object with a valid source
value appears in the response. If the preference isn't applied to the recommendations already, then this object doesn't appear in the response.
"
}
@@ -430,6 +632,7 @@
"ExportAutoScalingGroupRecommendationsRequest$fileFormat": "The format of the export file.
The only export file format currently supported is Csv
.
",
"ExportEBSVolumeRecommendationsRequest$fileFormat": "The format of the export file.
The only export file format currently supported is Csv
.
",
"ExportEC2InstanceRecommendationsRequest$fileFormat": "The format of the export file.
The only export file format currently supported is Csv
.
",
+ "ExportECSServiceRecommendationsRequest$fileFormat": " The format of the export file.
The CSV file is the only export file format currently supported.
",
"ExportLambdaFunctionRecommendationsRequest$fileFormat": "The format of the export file.
The only export file format currently supported is Csv
.
"
}
},
@@ -455,6 +658,7 @@
"base": null,
"refs": {
"EBSFilter$values": "The value of the filter.
The valid values are Optimized
, or NotOptimized
.
",
+ "ECSServiceRecommendationFilter$values": " The value of the filter.
The valid values for this parameter are as follows:
-
If you specify the name
parameter as Finding
, specify Optimized
, NotOptimized
, or Unavailable
.
-
If you specify the name
parameter as FindingReasonCode
, specify CPUUnderprovisioned
, CPUOverprovisioned
, MemoryUnderprovisioned
, or MemoryOverprovisioned
.
",
"EnrollmentFilter$values": "The value of the filter.
The valid values are Active
, Inactive
, Pending
, and Failed
.
",
"Filter$values": "The value of the filter.
The valid values for this parameter are as follows, depending on what you specify for the name
parameter and the resource type that you wish to filter results for:
-
Specify Optimized
or NotOptimized
if you specify the name
parameter as Finding
and you want to filter results for Auto Scaling groups.
-
Specify Underprovisioned
, Overprovisioned
, or Optimized
if you specify the name
parameter as Finding
and you want to filter results for EC2 instances.
-
Specify Ec2Instance
or AutoScalingGroup
if you specify the name
parameter as RecommendationSourceType
.
-
Specify one of the following options if you specify the name
parameter as FindingReasonCodes
:
-
CPUOverprovisioned
— The instance’s CPU configuration can be sized down while still meeting the performance requirements of your workload.
-
CPUUnderprovisioned
— The instance’s CPU configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better CPU performance.
-
MemoryOverprovisioned
— The instance’s memory configuration can be sized down while still meeting the performance requirements of your workload.
-
MemoryUnderprovisioned
— The instance’s memory configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better memory performance.
-
EBSThroughputOverprovisioned
— The instance’s EBS throughput configuration can be sized down while still meeting the performance requirements of your workload.
-
EBSThroughputUnderprovisioned
— The instance’s EBS throughput configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better EBS throughput performance.
-
EBSIOPSOverprovisioned
— The instance’s EBS IOPS configuration can be sized down while still meeting the performance requirements of your workload.
-
EBSIOPSUnderprovisioned
— The instance’s EBS IOPS configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better EBS IOPS performance.
-
NetworkBandwidthOverprovisioned
— The instance’s network bandwidth configuration can be sized down while still meeting the performance requirements of your workload.
-
NetworkBandwidthUnderprovisioned
— The instance’s network bandwidth configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better network bandwidth performance. This finding reason happens when the NetworkIn
or NetworkOut
performance of an instance is impacted.
-
NetworkPPSOverprovisioned
— The instance’s network PPS (packets per second) configuration can be sized down while still meeting the performance requirements of your workload.
-
NetworkPPSUnderprovisioned
— The instance’s network PPS (packets per second) configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better network PPS performance.
-
DiskIOPSOverprovisioned
— The instance’s disk IOPS configuration can be sized down while still meeting the performance requirements of your workload.
-
DiskIOPSUnderprovisioned
— The instance’s disk IOPS configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better disk IOPS performance.
-
DiskThroughputOverprovisioned
— The instance’s disk throughput configuration can be sized down while still meeting the performance requirements of your workload.
-
DiskThroughputUnderprovisioned
— The instance’s disk throughput configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better disk throughput performance.
",
"JobFilter$values": "The value of the filter.
The valid values for this parameter are as follows, depending on what you specify for the name
parameter:
-
Specify Ec2Instance
or AutoScalingGroup
if you specify the name
parameter as ResourceType
. There is no filter for EBS volumes because volume recommendations cannot be exported at this time.
-
Specify Queued
, InProgress
, Complete
, or Failed
if you specify the name
parameter as JobStatus
.
",
@@ -543,6 +747,26 @@
"refs": {
}
},
+ "GetECSServiceRecommendationProjectedMetricsRequest": {
+ "base": null,
+ "refs": {
+ }
+ },
+ "GetECSServiceRecommendationProjectedMetricsResponse": {
+ "base": null,
+ "refs": {
+ }
+ },
+ "GetECSServiceRecommendationsRequest": {
+ "base": null,
+ "refs": {
+ }
+ },
+ "GetECSServiceRecommendationsResponse": {
+ "base": null,
+ "refs": {
+ }
+ },
"GetEffectiveRecommendationPreferencesRequest": {
"base": null,
"refs": {
@@ -594,7 +818,8 @@
"refs": {
"GetAutoScalingGroupRecommendationsResponse$errors": "An array of objects that describe errors of the request.
For example, an error is returned if you request recommendations for an unsupported Auto Scaling group.
",
"GetEBSVolumeRecommendationsResponse$errors": "An array of objects that describe errors of the request.
For example, an error is returned if you request recommendations for an unsupported volume.
",
- "GetEC2InstanceRecommendationsResponse$errors": "An array of objects that describe errors of the request.
For example, an error is returned if you request recommendations for an instance of an unsupported instance family.
"
+ "GetEC2InstanceRecommendationsResponse$errors": "An array of objects that describe errors of the request.
For example, an error is returned if you request recommendations for an instance of an unsupported instance family.
",
+ "GetECSServiceRecommendationsResponse$errors": " An array of objects that describe errors of the request.
"
}
},
"GetRecommendationPreferencesRequest": {
@@ -635,6 +860,7 @@
"ExportAutoScalingGroupRecommendationsRequest$includeMemberAccounts": "Indicates whether to include recommendations for resources in all member accounts of the organization if your account is the management account of an organization.
The member accounts must also be opted in to Compute Optimizer, and trusted access for Compute Optimizer must be enabled in the organization account. For more information, see Compute Optimizer and Amazon Web Services Organizations trusted access in the Compute Optimizer User Guide.
Recommendations for member accounts of the organization are not included in the export file if this parameter is omitted.
This parameter cannot be specified together with the account IDs parameter. The parameters are mutually exclusive.
Recommendations for member accounts are not included in the export if this parameter, or the account IDs parameter, is omitted.
",
"ExportEBSVolumeRecommendationsRequest$includeMemberAccounts": "Indicates whether to include recommendations for resources in all member accounts of the organization if your account is the management account of an organization.
The member accounts must also be opted in to Compute Optimizer, and trusted access for Compute Optimizer must be enabled in the organization account. For more information, see Compute Optimizer and Amazon Web Services Organizations trusted access in the Compute Optimizer User Guide.
Recommendations for member accounts of the organization are not included in the export file if this parameter is omitted.
This parameter cannot be specified together with the account IDs parameter. The parameters are mutually exclusive.
Recommendations for member accounts are not included in the export if this parameter, or the account IDs parameter, is omitted.
",
"ExportEC2InstanceRecommendationsRequest$includeMemberAccounts": "Indicates whether to include recommendations for resources in all member accounts of the organization if your account is the management account of an organization.
The member accounts must also be opted in to Compute Optimizer, and trusted access for Compute Optimizer must be enabled in the organization account. For more information, see Compute Optimizer and Amazon Web Services Organizations trusted access in the Compute Optimizer User Guide.
Recommendations for member accounts of the organization are not included in the export file if this parameter is omitted.
Recommendations for member accounts are not included in the export if this parameter, or the account IDs parameter, is omitted.
",
+ "ExportECSServiceRecommendationsRequest$includeMemberAccounts": "If your account is the management account or the delegated administrator of an organization, this parameter indicates whether to include recommendations for resources in all member accounts of the organization.
The member accounts must also be opted in to Compute Optimizer, and trusted access for Compute Optimizer must be enabled in the organization account. For more information, see Compute Optimizer and Amazon Web Services Organizations trusted access in the Compute Optimizer User Guide.
If this parameter is omitted, recommendations for member accounts of the organization aren't included in the export file.
If this parameter or the account ID parameter is omitted, recommendations for member accounts aren't included in the export.
",
"ExportLambdaFunctionRecommendationsRequest$includeMemberAccounts": "Indicates whether to include recommendations for resources in all member accounts of the organization if your account is the management account of an organization.
The member accounts must also be opted in to Compute Optimizer, and trusted access for Compute Optimizer must be enabled in the organization account. For more information, see Compute Optimizer and Amazon Web Services Organizations trusted access in the Compute Optimizer User Guide.
Recommendations for member accounts of the organization are not included in the export file if this parameter is omitted.
This parameter cannot be specified together with the account IDs parameter. The parameters are mutually exclusive.
Recommendations for member accounts are not included in the export if this parameter, or the account IDs parameter, is omitted.
",
"UpdateEnrollmentStatusRequest$includeMemberAccounts": "Indicates whether to enroll member accounts of the organization if the account is the management account of an organization.
"
}
@@ -751,6 +977,7 @@
"ExportAutoScalingGroupRecommendationsResponse$jobId": "The identification number of the export job.
Use the DescribeRecommendationExportJobs action, and specify the job ID to view the status of an export job.
",
"ExportEBSVolumeRecommendationsResponse$jobId": "The identification number of the export job.
Use the DescribeRecommendationExportJobs action, and specify the job ID to view the status of an export job.
",
"ExportEC2InstanceRecommendationsResponse$jobId": "The identification number of the export job.
Use the DescribeRecommendationExportJobs action, and specify the job ID to view the status of an export job.
",
+ "ExportECSServiceRecommendationsResponse$jobId": " The identification number of the export job.
To view the status of an export job, use the DescribeRecommendationExportJobs action and specify the job ID.
",
"ExportLambdaFunctionRecommendationsResponse$jobId": "The identification number of the export job.
Use the DescribeRecommendationExportJobs action, and specify the job ID to view the status of an export job.
",
"JobIds$member": null,
"RecommendationExportJob$jobId": "The identification number of the export job.
"
@@ -881,6 +1108,7 @@
"base": null,
"refs": {
"AutoScalingGroupRecommendation$lastRefreshTimestamp": "The timestamp of when the Auto Scaling group recommendation was last generated.
",
+ "ECSServiceRecommendation$lastRefreshTimestamp": " The timestamp of when the ECS service recommendation was last generated.
",
"InstanceRecommendation$lastRefreshTimestamp": "The timestamp of when the instance recommendation was last generated.
",
"LambdaFunctionRecommendation$lastRefreshTimestamp": "The timestamp of when the function recommendation was last generated.
",
"VolumeRecommendation$lastRefreshTimestamp": "The timestamp of when the volume recommendation was last generated.
"
@@ -903,6 +1131,7 @@
"base": null,
"refs": {
"AutoScalingGroupRecommendation$lookBackPeriodInDays": "The number of days for which utilization metrics were analyzed for the Auto Scaling group.
",
+ "ECSServiceRecommendation$lookbackPeriodInDays": " The number of days the ECS service utilization metrics were analyzed.
",
"InstanceRecommendation$lookBackPeriodInDays": "The number of days for which utilization metrics were analyzed for the instance.
",
"LambdaFunctionRecommendation$lookbackPeriodInDays": "The number of days for which utilization metrics were analyzed for the function.
",
"VolumeRecommendation$lookBackPeriodInDays": "The number of days for which utilization metrics were analyzed for the volume.
"
@@ -914,6 +1143,12 @@
"CurrentPerformanceRiskRatings$low": "A count of the applicable resource types with a low performance risk rating.
"
}
},
+ "LowerBoundValue": {
+ "base": null,
+ "refs": {
+ "ECSServiceProjectedUtilizationMetric$lowerBoundValue": " The lower bound values for the projected utilization metrics.
"
+ }
+ },
"MaxResults": {
"base": null,
"refs": {
@@ -921,6 +1156,7 @@
"GetAutoScalingGroupRecommendationsRequest$maxResults": "The maximum number of Auto Scaling group recommendations to return with a single request.
To retrieve the remaining results, make another request with the returned nextToken
value.
",
"GetEBSVolumeRecommendationsRequest$maxResults": "The maximum number of volume recommendations to return with a single request.
To retrieve the remaining results, make another request with the returned nextToken
value.
",
"GetEC2InstanceRecommendationsRequest$maxResults": "The maximum number of instance recommendations to return with a single request.
To retrieve the remaining results, make another request with the returned nextToken
value.
",
+ "GetECSServiceRecommendationsRequest$maxResults": " The maximum number of ECS service recommendations to return with a single request.
To retrieve the remaining results, make another request with the returned nextToken
value.
",
"GetEnrollmentStatusesForOrganizationRequest$maxResults": "The maximum number of account enrollment statuses to return with a single request. You can specify up to 100 statuses to return with each request.
To retrieve the remaining results, make another request with the returned nextToken
value.
",
"GetLambdaFunctionRecommendationsRequest$maxResults": "The maximum number of function recommendations to return with a single request.
To retrieve the remaining results, make another request with the returned nextToken
value.
",
"GetRecommendationPreferencesRequest$maxResults": "The maximum number of recommendation preferences to return with a single request.
To retrieve the remaining results, make another request with the returned nextToken
value.
",
@@ -948,10 +1184,18 @@
"MemorySize": {
"base": null,
"refs": {
+ "ECSServiceRecommendedOptionProjectedMetric$recommendedMemorySize": " The recommended memory size for the ECS service.
",
"LambdaFunctionMemoryRecommendationOption$memorySize": "The memory size, in MB, of the function recommendation option.
",
"LambdaFunctionRecommendation$currentMemorySize": "The amount of memory, in MB, that's allocated to the current function.
"
}
},
+ "MemorySizeConfiguration": {
+ "base": " The memory size configurations of a container.
",
+ "refs": {
+ "ContainerConfiguration$memorySizeConfiguration": " The memory size configurations for the container.
",
+ "ContainerRecommendation$memorySizeConfiguration": " The recommended memory size configurations for the container.
"
+ }
+ },
"Message": {
"base": null,
"refs": {
@@ -976,6 +1220,7 @@
"refs": {
"EBSUtilizationMetric$statistic": "The statistic of the utilization metric.
The Compute Optimizer API, Command Line Interface (CLI), and SDKs return utilization metrics using only the Maximum
statistic, which is the highest value observed during the specified period.
The Compute Optimizer console displays graphs for some utilization metrics using the Average
statistic, which is the value of Sum
/ SampleCount
during the specified period. For more information, see Viewing resource recommendations in the Compute Optimizer User Guide. You can also get averaged utilization metric data for your resources using Amazon CloudWatch. For more information, see the Amazon CloudWatch User Guide.
",
"GetEC2RecommendationProjectedMetricsRequest$stat": "The statistic of the projected metrics.
",
+ "GetECSServiceRecommendationProjectedMetricsRequest$stat": " The statistic of the projected metrics.
",
"UtilizationMetric$statistic": "The statistic of the utilization metric.
The Compute Optimizer API, Command Line Interface (CLI), and SDKs return utilization metrics using only the Maximum
statistic, which is the highest value observed during the specified period.
The Compute Optimizer console displays graphs for some utilization metrics using the Average
statistic, which is the value of Sum
/ SampleCount
during the specified period. For more information, see Viewing resource recommendations in the Compute Optimizer User Guide. You can also get averaged utilization metric data for your resources using Amazon CloudWatch. For more information, see the Amazon CloudWatch User Guide.
"
}
},
@@ -983,6 +1228,7 @@
"base": null,
"refs": {
"EBSUtilizationMetric$value": "The value of the utilization metric.
",
+ "ECSServiceUtilizationMetric$value": " The value of the utilization metric.
",
"LambdaFunctionMemoryProjectedMetric$value": "The values of the projected utilization metrics.
",
"LambdaFunctionUtilizationMetric$value": "The value of the utilization metric.
",
"MetricValues$member": null,
@@ -992,6 +1238,8 @@
"MetricValues": {
"base": null,
"refs": {
+ "ECSServiceProjectedMetric$upperBoundValues": " The upper bound values for the projected metric.
",
+ "ECSServiceProjectedMetric$lowerBoundValues": " The lower bound values for the projected metric.
",
"ProjectedMetric$values": "The values of the projected utilization metrics.
"
}
},
@@ -1024,6 +1272,8 @@
"GetEBSVolumeRecommendationsResponse$nextToken": "The token to use to advance to the next page of volume recommendations.
This value is null when there are no more pages of volume recommendations to return.
",
"GetEC2InstanceRecommendationsRequest$nextToken": "The token to advance to the next page of instance recommendations.
",
"GetEC2InstanceRecommendationsResponse$nextToken": "The token to use to advance to the next page of instance recommendations.
This value is null when there are no more pages of instance recommendations to return.
",
+ "GetECSServiceRecommendationsRequest$nextToken": " The token to advance to the next page of ECS service recommendations.
",
+ "GetECSServiceRecommendationsResponse$nextToken": " The token to advance to the next page of ECS service recommendations.
",
"GetEnrollmentStatusesForOrganizationRequest$nextToken": "The token to advance to the next page of account enrollment statuses.
",
"GetEnrollmentStatusesForOrganizationResponse$nextToken": "The token to use to advance to the next page of account enrollment statuses.
This value is null when there are no more pages of account enrollment statuses to return.
",
"GetLambdaFunctionRecommendationsRequest$nextToken": "The token to advance to the next page of function recommendations.
",
@@ -1034,6 +1284,29 @@
"GetRecommendationSummariesResponse$nextToken": "The token to use to advance to the next page of recommendation summaries.
This value is null when there are no more pages of recommendation summaries to return.
"
}
},
+ "NullableCpu": {
+ "base": null,
+ "refs": {
+ "ContainerConfiguration$cpu": " The number of CPU units reserved for the container.
",
+ "ContainerRecommendation$cpu": " The recommended number of CPU units reserved for the container.
",
+ "ECSServiceRecommendationOption$cpu": " The CPU size of the ECS service recommendation option.
",
+ "ServiceConfiguration$cpu": " The number of CPU units used by the tasks in the ECS service.
"
+ }
+ },
+ "NullableMemory": {
+ "base": null,
+ "refs": {
+ "ECSServiceRecommendationOption$memory": " The memory size of the ECS service recommendation option.
",
+ "MemorySizeConfiguration$memory": " The amount of memory in the container.
",
+ "ServiceConfiguration$memory": " The amount of memory used by the tasks in the ECS service.
"
+ }
+ },
+ "NullableMemoryReservation": {
+ "base": null,
+ "refs": {
+ "MemorySizeConfiguration$memoryReservation": " The limit of memory reserve for the container.
"
+ }
+ },
"NumberOfInvocations": {
"base": null,
"refs": {
@@ -1062,7 +1335,8 @@
"Period": {
"base": null,
"refs": {
- "GetEC2RecommendationProjectedMetricsRequest$period": "The granularity, in seconds, of the projected metrics data points.
"
+ "GetEC2RecommendationProjectedMetricsRequest$period": "The granularity, in seconds, of the projected metrics data points.
",
+ "GetECSServiceRecommendationProjectedMetricsRequest$period": " The granularity, in seconds, of the projected metrics data points.
"
}
},
"PlatformDifference": {
@@ -1263,6 +1537,7 @@
"ExportDestination$s3": "An object that describes the destination Amazon Simple Storage Service (Amazon S3) bucket name and object keys of a recommendations export file, and its associated metadata file.
",
"ExportEBSVolumeRecommendationsResponse$s3Destination": null,
"ExportEC2InstanceRecommendationsResponse$s3Destination": "An object that describes the destination Amazon S3 bucket of a recommendations export file.
",
+ "ExportECSServiceRecommendationsResponse$s3Destination": null,
"ExportLambdaFunctionRecommendationsResponse$s3Destination": null
}
},
@@ -1272,6 +1547,7 @@
"ExportAutoScalingGroupRecommendationsRequest$s3DestinationConfig": "An object to specify the destination Amazon Simple Storage Service (Amazon S3) bucket name and key prefix for the export job.
You must create the destination Amazon S3 bucket for your recommendations export before you create the export job. Compute Optimizer does not create the S3 bucket for you. After you create the S3 bucket, ensure that it has the required permissions policy to allow Compute Optimizer to write the export file to it. If you plan to specify an object prefix when you create the export job, you must include the object prefix in the policy that you add to the S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute Optimizer in the Compute Optimizer User Guide.
",
"ExportEBSVolumeRecommendationsRequest$s3DestinationConfig": null,
"ExportEC2InstanceRecommendationsRequest$s3DestinationConfig": "An object to specify the destination Amazon Simple Storage Service (Amazon S3) bucket name and key prefix for the export job.
You must create the destination Amazon S3 bucket for your recommendations export before you create the export job. Compute Optimizer does not create the S3 bucket for you. After you create the S3 bucket, ensure that it has the required permissions policy to allow Compute Optimizer to write the export file to it. If you plan to specify an object prefix when you create the export job, you must include the object prefix in the policy that you add to the S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute Optimizer in the Compute Optimizer User Guide.
",
+ "ExportECSServiceRecommendationsRequest$s3DestinationConfig": null,
"ExportLambdaFunctionRecommendationsRequest$s3DestinationConfig": null
}
},
@@ -1279,6 +1555,7 @@
"base": "Describes the savings opportunity for recommendations of a given resource type or for the recommendation option of an individual resource.
Savings opportunity represents the estimated monthly savings you can achieve by implementing a given Compute Optimizer recommendation.
Savings opportunity data requires that you opt in to Cost Explorer, as well as activate Receive Amazon EC2 resource recommendations in the Cost Explorer preferences page. That creates a connection between Cost Explorer and Compute Optimizer. With this connection, Cost Explorer generates savings estimates considering the price of existing resources, the price of recommended resources, and historical usage data. Estimated monthly savings reflects the projected dollar savings associated with each of the recommendations generated. For more information, see Enabling Cost Explorer and Optimizing your cost with Rightsizing Recommendations in the Cost Management User Guide.
",
"refs": {
"AutoScalingGroupRecommendationOption$savingsOpportunity": "An object that describes the savings opportunity for the Auto Scaling group recommendation option. Savings opportunity includes the estimated monthly savings amount and percentage.
",
+ "ECSServiceRecommendationOption$savingsOpportunity": null,
"InstanceRecommendationOption$savingsOpportunity": "An object that describes the savings opportunity for the instance recommendation option. Savings opportunity includes the estimated monthly savings amount and percentage.
",
"LambdaFunctionMemoryRecommendationOption$savingsOpportunity": "An object that describes the savings opportunity for the Lambda function recommendation option. Savings opportunity includes the estimated monthly savings amount and percentage.
",
"RecommendationSummary$savingsOpportunity": "An object that describes the savings opportunity for a given resource type. Savings opportunity includes the estimated monthly savings amount and percentage.
",
@@ -1312,6 +1589,26 @@
"Scope$value": "The value of the scope.
If you specified the name
of the scope as:
-
Organization
- The value
must be ALL_ACCOUNTS
.
-
AccountId
- The value
must be a 12-digit Amazon Web Services account ID.
-
ResourceArn
- The value
must be the Amazon Resource Name (ARN) of an EC2 instance or an Auto Scaling group.
Only EC2 instance and Auto Scaling group ARNs are currently supported.
"
}
},
+ "ServiceArn": {
+ "base": null,
+ "refs": {
+ "ECSServiceRecommendation$serviceArn": " The Amazon Resource Name (ARN) of the current ECS service.
The following is the format of the ARN:
arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name
",
+ "GetECSServiceRecommendationProjectedMetricsRequest$serviceArn": " The ARN that identifies the ECS service.
The following is the format of the ARN:
arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name
",
+ "ServiceArns$member": null
+ }
+ },
+ "ServiceArns": {
+ "base": null,
+ "refs": {
+ "GetECSServiceRecommendationsRequest$serviceArns": " The ARN that identifies the ECS service.
The following is the format of the ARN:
arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name
"
+ }
+ },
+ "ServiceConfiguration": {
+ "base": " The Amazon ECS service configurations used for recommendations.
",
+ "refs": {
+ "ECSServiceRecommendation$currentServiceConfiguration": " The configuration of the current ECS service.
"
+ }
+ },
"ServiceUnavailableException": {
"base": "The request has failed due to a temporary failure of the server.
",
"refs": {
@@ -1353,6 +1650,12 @@
"Summary$value": "The value of the recommendation summary.
"
}
},
+ "TaskDefinitionArn": {
+ "base": null,
+ "refs": {
+ "ServiceConfiguration$taskDefinitionArn": " The task definition ARN used by the tasks in the ECS service.
"
+ }
+ },
"ThrottlingException": {
"base": "The request was denied due to request throttling.
",
"refs": {
@@ -1363,12 +1666,15 @@
"refs": {
"GetEC2RecommendationProjectedMetricsRequest$startTime": "The timestamp of the first projected metrics data point to return.
",
"GetEC2RecommendationProjectedMetricsRequest$endTime": "The timestamp of the last projected metrics data point to return.
",
+ "GetECSServiceRecommendationProjectedMetricsRequest$startTime": " The timestamp of the first projected metrics data point to return.
",
+ "GetECSServiceRecommendationProjectedMetricsRequest$endTime": " The timestamp of the last projected metrics data point to return.
",
"Timestamps$member": null
}
},
"Timestamps": {
"base": null,
"refs": {
+ "ECSServiceProjectedMetric$timestamps": " The timestamps of the projected metric.
",
"ProjectedMetric$timestamps": "The timestamps of the projected utilization metric.
"
}
},
@@ -1382,6 +1688,12 @@
"refs": {
}
},
+ "UpperBoundValue": {
+ "base": null,
+ "refs": {
+ "ECSServiceProjectedUtilizationMetric$upperBoundValue": " The upper bound values for the projected utilization metrics.
"
+ }
+ },
"UtilizationMetric": {
"base": "Describes a utilization metric of a resource, such as an Amazon EC2 instance.
Compare the utilization metric data of your resource against its projected utilization metric data to determine the performance difference between your current resource and the recommended option.
",
"refs": {
diff --git a/models/apis/compute-optimizer/2019-11-01/endpoint-rule-set-1.json b/models/apis/compute-optimizer/2019-11-01/endpoint-rule-set-1.json
index 3d9d66e2b24..01211beff6f 100644
--- a/models/apis/compute-optimizer/2019-11-01/endpoint-rule-set-1.json
+++ b/models/apis/compute-optimizer/2019-11-01/endpoint-rule-set-1.json
@@ -52,15 +52,6 @@
"ref": "Endpoint"
}
]
- },
- {
- "fn": "parseURL",
- "argv": [
- {
- "ref": "Endpoint"
- }
- ],
- "assign": "url"
}
],
"type": "tree",
diff --git a/models/apis/compute-optimizer/2019-11-01/endpoint-tests-1.json b/models/apis/compute-optimizer/2019-11-01/endpoint-tests-1.json
index abec6f0cefe..8c943cda850 100644
--- a/models/apis/compute-optimizer/2019-11-01/endpoint-tests-1.json
+++ b/models/apis/compute-optimizer/2019-11-01/endpoint-tests-1.json
@@ -8,8 +8,8 @@
}
},
"params": {
- "Region": "ap-south-1",
"UseFIPS": true,
+ "Region": "ap-south-1",
"UseDualStack": true
}
},
@@ -21,8 +21,8 @@
}
},
"params": {
- "Region": "ap-south-1",
"UseFIPS": true,
+ "Region": "ap-south-1",
"UseDualStack": false
}
},
@@ -34,8 +34,8 @@
}
},
"params": {
- "Region": "ap-south-1",
"UseFIPS": false,
+ "Region": "ap-south-1",
"UseDualStack": true
}
},
@@ -47,8 +47,8 @@
}
},
"params": {
- "Region": "ap-south-1",
"UseFIPS": false,
+ "Region": "ap-south-1",
"UseDualStack": false
}
},
@@ -60,8 +60,8 @@
}
},
"params": {
- "Region": "eu-south-1",
"UseFIPS": true,
+ "Region": "eu-south-1",
"UseDualStack": true
}
},
@@ -73,8 +73,8 @@
}
},
"params": {
- "Region": "eu-south-1",
"UseFIPS": true,
+ "Region": "eu-south-1",
"UseDualStack": false
}
},
@@ -86,8 +86,8 @@
}
},
"params": {
- "Region": "eu-south-1",
"UseFIPS": false,
+ "Region": "eu-south-1",
"UseDualStack": true
}
},
@@ -99,8 +99,8 @@
}
},
"params": {
- "Region": "eu-south-1",
"UseFIPS": false,
+ "Region": "eu-south-1",
"UseDualStack": false
}
},
@@ -112,8 +112,8 @@
}
},
"params": {
- "Region": "us-gov-east-1",
"UseFIPS": true,
+ "Region": "us-gov-east-1",
"UseDualStack": true
}
},
@@ -125,8 +125,8 @@
}
},
"params": {
- "Region": "us-gov-east-1",
"UseFIPS": true,
+ "Region": "us-gov-east-1",
"UseDualStack": false
}
},
@@ -138,8 +138,8 @@
}
},
"params": {
- "Region": "us-gov-east-1",
"UseFIPS": false,
+ "Region": "us-gov-east-1",
"UseDualStack": true
}
},
@@ -151,8 +151,8 @@
}
},
"params": {
- "Region": "us-gov-east-1",
"UseFIPS": false,
+ "Region": "us-gov-east-1",
"UseDualStack": false
}
},
@@ -164,8 +164,8 @@
}
},
"params": {
- "Region": "ca-central-1",
"UseFIPS": true,
+ "Region": "ca-central-1",
"UseDualStack": true
}
},
@@ -177,8 +177,8 @@
}
},
"params": {
- "Region": "ca-central-1",
"UseFIPS": true,
+ "Region": "ca-central-1",
"UseDualStack": false
}
},
@@ -190,8 +190,8 @@
}
},
"params": {
- "Region": "ca-central-1",
"UseFIPS": false,
+ "Region": "ca-central-1",
"UseDualStack": true
}
},
@@ -203,8 +203,8 @@
}
},
"params": {
- "Region": "ca-central-1",
"UseFIPS": false,
+ "Region": "ca-central-1",
"UseDualStack": false
}
},
@@ -216,8 +216,8 @@
}
},
"params": {
- "Region": "eu-central-1",
"UseFIPS": true,
+ "Region": "eu-central-1",
"UseDualStack": true
}
},
@@ -229,8 +229,8 @@
}
},
"params": {
- "Region": "eu-central-1",
"UseFIPS": true,
+ "Region": "eu-central-1",
"UseDualStack": false
}
},
@@ -242,8 +242,8 @@
}
},
"params": {
- "Region": "eu-central-1",
"UseFIPS": false,
+ "Region": "eu-central-1",
"UseDualStack": true
}
},
@@ -255,8 +255,8 @@
}
},
"params": {
- "Region": "eu-central-1",
"UseFIPS": false,
+ "Region": "eu-central-1",
"UseDualStack": false
}
},
@@ -268,8 +268,8 @@
}
},
"params": {
- "Region": "us-west-1",
"UseFIPS": true,
+ "Region": "us-west-1",
"UseDualStack": true
}
},
@@ -281,8 +281,8 @@
}
},
"params": {
- "Region": "us-west-1",
"UseFIPS": true,
+ "Region": "us-west-1",
"UseDualStack": false
}
},
@@ -294,8 +294,8 @@
}
},
"params": {
- "Region": "us-west-1",
"UseFIPS": false,
+ "Region": "us-west-1",
"UseDualStack": true
}
},
@@ -307,8 +307,8 @@
}
},
"params": {
- "Region": "us-west-1",
"UseFIPS": false,
+ "Region": "us-west-1",
"UseDualStack": false
}
},
@@ -320,8 +320,8 @@
}
},
"params": {
- "Region": "us-west-2",
"UseFIPS": true,
+ "Region": "us-west-2",
"UseDualStack": true
}
},
@@ -333,8 +333,8 @@
}
},
"params": {
- "Region": "us-west-2",
"UseFIPS": true,
+ "Region": "us-west-2",
"UseDualStack": false
}
},
@@ -346,8 +346,8 @@
}
},
"params": {
- "Region": "us-west-2",
"UseFIPS": false,
+ "Region": "us-west-2",
"UseDualStack": true
}
},
@@ -359,8 +359,8 @@
}
},
"params": {
- "Region": "us-west-2",
"UseFIPS": false,
+ "Region": "us-west-2",
"UseDualStack": false
}
},
@@ -372,8 +372,8 @@
}
},
"params": {
- "Region": "af-south-1",
"UseFIPS": true,
+ "Region": "af-south-1",
"UseDualStack": true
}
},
@@ -385,8 +385,8 @@
}
},
"params": {
- "Region": "af-south-1",
"UseFIPS": true,
+ "Region": "af-south-1",
"UseDualStack": false
}
},
@@ -398,8 +398,8 @@
}
},
"params": {
- "Region": "af-south-1",
"UseFIPS": false,
+ "Region": "af-south-1",
"UseDualStack": true
}
},
@@ -411,8 +411,8 @@
}
},
"params": {
- "Region": "af-south-1",
"UseFIPS": false,
+ "Region": "af-south-1",
"UseDualStack": false
}
},
@@ -424,8 +424,8 @@
}
},
"params": {
- "Region": "eu-north-1",
"UseFIPS": true,
+ "Region": "eu-north-1",
"UseDualStack": true
}
},
@@ -437,8 +437,8 @@
}
},
"params": {
- "Region": "eu-north-1",
"UseFIPS": true,
+ "Region": "eu-north-1",
"UseDualStack": false
}
},
@@ -450,8 +450,8 @@
}
},
"params": {
- "Region": "eu-north-1",
"UseFIPS": false,
+ "Region": "eu-north-1",
"UseDualStack": true
}
},
@@ -463,8 +463,8 @@
}
},
"params": {
- "Region": "eu-north-1",
"UseFIPS": false,
+ "Region": "eu-north-1",
"UseDualStack": false
}
},
@@ -476,8 +476,8 @@
}
},
"params": {
- "Region": "eu-west-3",
"UseFIPS": true,
+ "Region": "eu-west-3",
"UseDualStack": true
}
},
@@ -489,8 +489,8 @@
}
},
"params": {
- "Region": "eu-west-3",
"UseFIPS": true,
+ "Region": "eu-west-3",
"UseDualStack": false
}
},
@@ -502,8 +502,8 @@
}
},
"params": {
- "Region": "eu-west-3",
"UseFIPS": false,
+ "Region": "eu-west-3",
"UseDualStack": true
}
},
@@ -515,8 +515,8 @@
}
},
"params": {
- "Region": "eu-west-3",
"UseFIPS": false,
+ "Region": "eu-west-3",
"UseDualStack": false
}
},
@@ -528,8 +528,8 @@
}
},
"params": {
- "Region": "eu-west-2",
"UseFIPS": true,
+ "Region": "eu-west-2",
"UseDualStack": true
}
},
@@ -541,8 +541,8 @@
}
},
"params": {
- "Region": "eu-west-2",
"UseFIPS": true,
+ "Region": "eu-west-2",
"UseDualStack": false
}
},
@@ -554,8 +554,8 @@
}
},
"params": {
- "Region": "eu-west-2",
"UseFIPS": false,
+ "Region": "eu-west-2",
"UseDualStack": true
}
},
@@ -567,8 +567,8 @@
}
},
"params": {
- "Region": "eu-west-2",
"UseFIPS": false,
+ "Region": "eu-west-2",
"UseDualStack": false
}
},
@@ -580,8 +580,8 @@
}
},
"params": {
- "Region": "eu-west-1",
"UseFIPS": true,
+ "Region": "eu-west-1",
"UseDualStack": true
}
},
@@ -593,8 +593,8 @@
}
},
"params": {
- "Region": "eu-west-1",
"UseFIPS": true,
+ "Region": "eu-west-1",
"UseDualStack": false
}
},
@@ -606,8 +606,8 @@
}
},
"params": {
- "Region": "eu-west-1",
"UseFIPS": false,
+ "Region": "eu-west-1",
"UseDualStack": true
}
},
@@ -619,8 +619,8 @@
}
},
"params": {
- "Region": "eu-west-1",
"UseFIPS": false,
+ "Region": "eu-west-1",
"UseDualStack": false
}
},
@@ -632,8 +632,8 @@
}
},
"params": {
- "Region": "ap-northeast-3",
"UseFIPS": true,
+ "Region": "ap-northeast-3",
"UseDualStack": true
}
},
@@ -645,8 +645,8 @@
}
},
"params": {
- "Region": "ap-northeast-3",
"UseFIPS": true,
+ "Region": "ap-northeast-3",
"UseDualStack": false
}
},
@@ -658,8 +658,8 @@
}
},
"params": {
- "Region": "ap-northeast-3",
"UseFIPS": false,
+ "Region": "ap-northeast-3",
"UseDualStack": true
}
},
@@ -671,8 +671,8 @@
}
},
"params": {
- "Region": "ap-northeast-3",
"UseFIPS": false,
+ "Region": "ap-northeast-3",
"UseDualStack": false
}
},
@@ -684,8 +684,8 @@
}
},
"params": {
- "Region": "ap-northeast-2",
"UseFIPS": true,
+ "Region": "ap-northeast-2",
"UseDualStack": true
}
},
@@ -697,8 +697,8 @@
}
},
"params": {
- "Region": "ap-northeast-2",
"UseFIPS": true,
+ "Region": "ap-northeast-2",
"UseDualStack": false
}
},
@@ -710,8 +710,8 @@
}
},
"params": {
- "Region": "ap-northeast-2",
"UseFIPS": false,
+ "Region": "ap-northeast-2",
"UseDualStack": true
}
},
@@ -723,8 +723,8 @@
}
},
"params": {
- "Region": "ap-northeast-2",
"UseFIPS": false,
+ "Region": "ap-northeast-2",
"UseDualStack": false
}
},
@@ -736,8 +736,8 @@
}
},
"params": {
- "Region": "ap-northeast-1",
"UseFIPS": true,
+ "Region": "ap-northeast-1",
"UseDualStack": true
}
},
@@ -749,8 +749,8 @@
}
},
"params": {
- "Region": "ap-northeast-1",
"UseFIPS": true,
+ "Region": "ap-northeast-1",
"UseDualStack": false
}
},
@@ -762,8 +762,8 @@
}
},
"params": {
- "Region": "ap-northeast-1",
"UseFIPS": false,
+ "Region": "ap-northeast-1",
"UseDualStack": true
}
},
@@ -775,8 +775,8 @@
}
},
"params": {
- "Region": "ap-northeast-1",
"UseFIPS": false,
+ "Region": "ap-northeast-1",
"UseDualStack": false
}
},
@@ -788,8 +788,8 @@
}
},
"params": {
- "Region": "me-south-1",
"UseFIPS": true,
+ "Region": "me-south-1",
"UseDualStack": true
}
},
@@ -801,8 +801,8 @@
}
},
"params": {
- "Region": "me-south-1",
"UseFIPS": true,
+ "Region": "me-south-1",
"UseDualStack": false
}
},
@@ -814,8 +814,8 @@
}
},
"params": {
- "Region": "me-south-1",
"UseFIPS": false,
+ "Region": "me-south-1",
"UseDualStack": true
}
},
@@ -827,8 +827,8 @@
}
},
"params": {
- "Region": "me-south-1",
"UseFIPS": false,
+ "Region": "me-south-1",
"UseDualStack": false
}
},
@@ -840,8 +840,8 @@
}
},
"params": {
- "Region": "sa-east-1",
"UseFIPS": true,
+ "Region": "sa-east-1",
"UseDualStack": true
}
},
@@ -853,8 +853,8 @@
}
},
"params": {
- "Region": "sa-east-1",
"UseFIPS": true,
+ "Region": "sa-east-1",
"UseDualStack": false
}
},
@@ -866,8 +866,8 @@
}
},
"params": {
- "Region": "sa-east-1",
"UseFIPS": false,
+ "Region": "sa-east-1",
"UseDualStack": true
}
},
@@ -879,8 +879,8 @@
}
},
"params": {
- "Region": "sa-east-1",
"UseFIPS": false,
+ "Region": "sa-east-1",
"UseDualStack": false
}
},
@@ -892,8 +892,8 @@
}
},
"params": {
- "Region": "ap-east-1",
"UseFIPS": true,
+ "Region": "ap-east-1",
"UseDualStack": true
}
},
@@ -905,8 +905,8 @@
}
},
"params": {
- "Region": "ap-east-1",
"UseFIPS": true,
+ "Region": "ap-east-1",
"UseDualStack": false
}
},
@@ -918,8 +918,8 @@
}
},
"params": {
- "Region": "ap-east-1",
"UseFIPS": false,
+ "Region": "ap-east-1",
"UseDualStack": true
}
},
@@ -931,8 +931,8 @@
}
},
"params": {
- "Region": "ap-east-1",
"UseFIPS": false,
+ "Region": "ap-east-1",
"UseDualStack": false
}
},
@@ -944,8 +944,8 @@
}
},
"params": {
- "Region": "cn-north-1",
"UseFIPS": true,
+ "Region": "cn-north-1",
"UseDualStack": true
}
},
@@ -957,8 +957,8 @@
}
},
"params": {
- "Region": "cn-north-1",
"UseFIPS": true,
+ "Region": "cn-north-1",
"UseDualStack": false
}
},
@@ -970,8 +970,8 @@
}
},
"params": {
- "Region": "cn-north-1",
"UseFIPS": false,
+ "Region": "cn-north-1",
"UseDualStack": true
}
},
@@ -983,8 +983,8 @@
}
},
"params": {
- "Region": "cn-north-1",
"UseFIPS": false,
+ "Region": "cn-north-1",
"UseDualStack": false
}
},
@@ -996,8 +996,8 @@
}
},
"params": {
- "Region": "us-gov-west-1",
"UseFIPS": true,
+ "Region": "us-gov-west-1",
"UseDualStack": true
}
},
@@ -1009,8 +1009,8 @@
}
},
"params": {
- "Region": "us-gov-west-1",
"UseFIPS": true,
+ "Region": "us-gov-west-1",
"UseDualStack": false
}
},
@@ -1022,8 +1022,8 @@
}
},
"params": {
- "Region": "us-gov-west-1",
"UseFIPS": false,
+ "Region": "us-gov-west-1",
"UseDualStack": true
}
},
@@ -1035,8 +1035,8 @@
}
},
"params": {
- "Region": "us-gov-west-1",
"UseFIPS": false,
+ "Region": "us-gov-west-1",
"UseDualStack": false
}
},
@@ -1048,8 +1048,8 @@
}
},
"params": {
- "Region": "ap-southeast-1",
"UseFIPS": true,
+ "Region": "ap-southeast-1",
"UseDualStack": true
}
},
@@ -1061,8 +1061,8 @@
}
},
"params": {
- "Region": "ap-southeast-1",
"UseFIPS": true,
+ "Region": "ap-southeast-1",
"UseDualStack": false
}
},
@@ -1074,8 +1074,8 @@
}
},
"params": {
- "Region": "ap-southeast-1",
"UseFIPS": false,
+ "Region": "ap-southeast-1",
"UseDualStack": true
}
},
@@ -1087,8 +1087,8 @@
}
},
"params": {
- "Region": "ap-southeast-1",
"UseFIPS": false,
+ "Region": "ap-southeast-1",
"UseDualStack": false
}
},
@@ -1100,8 +1100,8 @@
}
},
"params": {
- "Region": "ap-southeast-2",
"UseFIPS": true,
+ "Region": "ap-southeast-2",
"UseDualStack": true
}
},
@@ -1113,8 +1113,8 @@
}
},
"params": {
- "Region": "ap-southeast-2",
"UseFIPS": true,
+ "Region": "ap-southeast-2",
"UseDualStack": false
}
},
@@ -1126,8 +1126,8 @@
}
},
"params": {
- "Region": "ap-southeast-2",
"UseFIPS": false,
+ "Region": "ap-southeast-2",
"UseDualStack": true
}
},
@@ -1139,8 +1139,8 @@
}
},
"params": {
- "Region": "ap-southeast-2",
"UseFIPS": false,
+ "Region": "ap-southeast-2",
"UseDualStack": false
}
},
@@ -1152,8 +1152,8 @@
}
},
"params": {
- "Region": "ap-southeast-3",
"UseFIPS": true,
+ "Region": "ap-southeast-3",
"UseDualStack": true
}
},
@@ -1165,8 +1165,8 @@
}
},
"params": {
- "Region": "ap-southeast-3",
"UseFIPS": true,
+ "Region": "ap-southeast-3",
"UseDualStack": false
}
},
@@ -1178,8 +1178,8 @@
}
},
"params": {
- "Region": "ap-southeast-3",
"UseFIPS": false,
+ "Region": "ap-southeast-3",
"UseDualStack": true
}
},
@@ -1191,8 +1191,8 @@
}
},
"params": {
- "Region": "ap-southeast-3",
"UseFIPS": false,
+ "Region": "ap-southeast-3",
"UseDualStack": false
}
},
@@ -1204,8 +1204,8 @@
}
},
"params": {
- "Region": "us-east-1",
"UseFIPS": true,
+ "Region": "us-east-1",
"UseDualStack": true
}
},
@@ -1217,8 +1217,8 @@
}
},
"params": {
- "Region": "us-east-1",
"UseFIPS": true,
+ "Region": "us-east-1",
"UseDualStack": false
}
},
@@ -1230,8 +1230,8 @@
}
},
"params": {
- "Region": "us-east-1",
"UseFIPS": false,
+ "Region": "us-east-1",
"UseDualStack": true
}
},
@@ -1243,8 +1243,8 @@
}
},
"params": {
- "Region": "us-east-1",
"UseFIPS": false,
+ "Region": "us-east-1",
"UseDualStack": false
}
},
@@ -1256,8 +1256,8 @@
}
},
"params": {
- "Region": "us-east-2",
"UseFIPS": true,
+ "Region": "us-east-2",
"UseDualStack": true
}
},
@@ -1269,8 +1269,8 @@
}
},
"params": {
- "Region": "us-east-2",
"UseFIPS": true,
+ "Region": "us-east-2",
"UseDualStack": false
}
},
@@ -1282,8 +1282,8 @@
}
},
"params": {
- "Region": "us-east-2",
"UseFIPS": false,
+ "Region": "us-east-2",
"UseDualStack": true
}
},
@@ -1295,8 +1295,8 @@
}
},
"params": {
- "Region": "us-east-2",
"UseFIPS": false,
+ "Region": "us-east-2",
"UseDualStack": false
}
},
@@ -1308,8 +1308,8 @@
}
},
"params": {
- "Region": "cn-northwest-1",
"UseFIPS": true,
+ "Region": "cn-northwest-1",
"UseDualStack": true
}
},
@@ -1321,8 +1321,8 @@
}
},
"params": {
- "Region": "cn-northwest-1",
"UseFIPS": true,
+ "Region": "cn-northwest-1",
"UseDualStack": false
}
},
@@ -1334,8 +1334,8 @@
}
},
"params": {
- "Region": "cn-northwest-1",
"UseFIPS": false,
+ "Region": "cn-northwest-1",
"UseDualStack": true
}
},
@@ -1347,8 +1347,8 @@
}
},
"params": {
- "Region": "cn-northwest-1",
"UseFIPS": false,
+ "Region": "cn-northwest-1",
"UseDualStack": false
}
},
@@ -1360,8 +1360,8 @@
}
},
"params": {
- "Region": "us-east-1",
"UseFIPS": false,
+ "Region": "us-east-1",
"UseDualStack": false,
"Endpoint": "https://example.com"
}
@@ -1372,8 +1372,8 @@
"error": "Invalid Configuration: FIPS and custom endpoint are not supported"
},
"params": {
- "Region": "us-east-1",
"UseFIPS": true,
+ "Region": "us-east-1",
"UseDualStack": false,
"Endpoint": "https://example.com"
}
@@ -1384,8 +1384,8 @@
"error": "Invalid Configuration: Dualstack and custom endpoint are not supported"
},
"params": {
- "Region": "us-east-1",
"UseFIPS": false,
+ "Region": "us-east-1",
"UseDualStack": true,
"Endpoint": "https://example.com"
}
diff --git a/models/apis/compute-optimizer/2019-11-01/paginators-1.json b/models/apis/compute-optimizer/2019-11-01/paginators-1.json
index 5677bd8e4a2..1d115fc2267 100644
--- a/models/apis/compute-optimizer/2019-11-01/paginators-1.json
+++ b/models/apis/compute-optimizer/2019-11-01/paginators-1.json
@@ -1,4 +1,34 @@
{
"pagination": {
+ "DescribeRecommendationExportJobs": {
+ "input_token": "nextToken",
+ "output_token": "nextToken",
+ "limit_key": "maxResults",
+ "result_key": "recommendationExportJobs"
+ },
+ "GetEnrollmentStatusesForOrganization": {
+ "input_token": "nextToken",
+ "output_token": "nextToken",
+ "limit_key": "maxResults",
+ "result_key": "accountEnrollmentStatuses"
+ },
+ "GetLambdaFunctionRecommendations": {
+ "input_token": "nextToken",
+ "output_token": "nextToken",
+ "limit_key": "maxResults",
+ "result_key": "lambdaFunctionRecommendations"
+ },
+ "GetRecommendationPreferences": {
+ "input_token": "nextToken",
+ "output_token": "nextToken",
+ "limit_key": "maxResults",
+ "result_key": "recommendationPreferencesDetails"
+ },
+ "GetRecommendationSummaries": {
+ "input_token": "nextToken",
+ "output_token": "nextToken",
+ "limit_key": "maxResults",
+ "result_key": "recommendationSummaries"
+ }
}
}
diff --git a/models/apis/connect/2017-08-08/api-2.json b/models/apis/connect/2017-08-08/api-2.json
index 3d7fcbb59eb..812f4661d73 100644
--- a/models/apis/connect/2017-08-08/api-2.json
+++ b/models/apis/connect/2017-08-08/api-2.json
@@ -2348,6 +2348,23 @@
{"shape":"ThrottlingException"}
]
},
+ "UpdateParticipantRoleConfig":{
+ "name":"UpdateParticipantRoleConfig",
+ "http":{
+ "method":"PUT",
+ "requestUri":"/contact/participant-role-config/{InstanceId}/{ContactId}"
+ },
+ "input":{"shape":"UpdateParticipantRoleConfigRequest"},
+ "output":{"shape":"UpdateParticipantRoleConfigResponse"},
+ "errors":[
+ {"shape":"InvalidRequestException"},
+ {"shape":"InvalidParameterException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"ThrottlingException"},
+ {"shape":"InternalServiceException"}
+ ]
+ },
"UpdatePhoneNumber":{
"name":"UpdatePhoneNumber",
"http":{
@@ -3184,6 +3201,13 @@
"Content":{"shape":"ChatContent"}
}
},
+ "ChatParticipantRoleConfig":{
+ "type":"structure",
+ "required":["ParticipantTimerConfigList"],
+ "members":{
+ "ParticipantTimerConfigList":{"shape":"ParticipantTimerConfigList"}
+ }
+ },
"ChatStreamingConfiguration":{
"type":"structure",
"required":["StreamingEndpointArn"],
@@ -7119,6 +7143,49 @@
"max":256,
"min":1
},
+ "ParticipantTimerAction":{
+ "type":"string",
+ "enum":["Unset"]
+ },
+ "ParticipantTimerConfigList":{
+ "type":"list",
+ "member":{"shape":"ParticipantTimerConfiguration"},
+ "max":6,
+ "min":1
+ },
+ "ParticipantTimerConfiguration":{
+ "type":"structure",
+ "required":[
+ "ParticipantRole",
+ "TimerType",
+ "TimerValue"
+ ],
+ "members":{
+ "ParticipantRole":{"shape":"TimerEligibleParticipantRoles"},
+ "TimerType":{"shape":"ParticipantTimerType"},
+ "TimerValue":{"shape":"ParticipantTimerValue"}
+ }
+ },
+ "ParticipantTimerDurationInMinutes":{
+ "type":"integer",
+ "max":480,
+ "min":2
+ },
+ "ParticipantTimerType":{
+ "type":"string",
+ "enum":[
+ "IDLE",
+ "DISCONNECT_NONCUSTOMER"
+ ]
+ },
+ "ParticipantTimerValue":{
+ "type":"structure",
+ "members":{
+ "ParticipantTimerAction":{"shape":"ParticipantTimerAction"},
+ "ParticipantTimerDurationInMinutes":{"shape":"ParticipantTimerDurationInMinutes"}
+ },
+ "union":true
+ },
"ParticipantToken":{
"type":"string",
"max":1000,
@@ -8966,6 +9033,13 @@
"exception":true
},
"TimeZone":{"type":"string"},
+ "TimerEligibleParticipantRoles":{
+ "type":"string",
+ "enum":[
+ "CUSTOMER",
+ "AGENT"
+ ]
+ },
"Timestamp":{"type":"timestamp"},
"TrafficDistributionGroup":{
"type":"structure",
@@ -9371,6 +9445,39 @@
"StorageConfig":{"shape":"InstanceStorageConfig"}
}
},
+ "UpdateParticipantRoleConfigChannelInfo":{
+ "type":"structure",
+ "members":{
+ "Chat":{"shape":"ChatParticipantRoleConfig"}
+ },
+ "union":true
+ },
+ "UpdateParticipantRoleConfigRequest":{
+ "type":"structure",
+ "required":[
+ "InstanceId",
+ "ContactId",
+ "ChannelConfiguration"
+ ],
+ "members":{
+ "InstanceId":{
+ "shape":"InstanceId",
+ "location":"uri",
+ "locationName":"InstanceId"
+ },
+ "ContactId":{
+ "shape":"ContactId",
+ "location":"uri",
+ "locationName":"ContactId"
+ },
+ "ChannelConfiguration":{"shape":"UpdateParticipantRoleConfigChannelInfo"}
+ }
+ },
+ "UpdateParticipantRoleConfigResponse":{
+ "type":"structure",
+ "members":{
+ }
+ },
"UpdatePhoneNumberRequest":{
"type":"structure",
"required":[
diff --git a/models/apis/connect/2017-08-08/docs-2.json b/models/apis/connect/2017-08-08/docs-2.json
index 6cdc15e5c2a..8c02574fab6 100644
--- a/models/apis/connect/2017-08-08/docs-2.json
+++ b/models/apis/connect/2017-08-08/docs-2.json
@@ -112,7 +112,7 @@
"ListUseCases": "Lists the use cases for the integration association.
",
"ListUserHierarchyGroups": "Provides summary information about the hierarchy groups for the specified Amazon Connect instance.
For more information about agent hierarchies, see Set Up Agent Hierarchies in the Amazon Connect Administrator Guide.
",
"ListUsers": "Provides summary information about the users for the specified Amazon Connect instance.
",
- "MonitorContact": "Initiates silent monitoring of a contact. The Contact Control Panel (CCP) of the user specified by userId will be set to silent monitoring mode on the contact.
",
+ "MonitorContact": "Initiates silent monitoring of a contact. The Contact Control Panel (CCP) of the user specified by userId will be set to silent monitoring mode on the contact. Supports voice and chat contacts.
",
"PutUserStatus": "Changes the current status of a user or agent in Amazon Connect. If the agent is currently handling a contact, this sets the agent's next status.
For more information, see Agent status and Set your next status in the Amazon Connect Administrator Guide.
",
"ReleasePhoneNumber": "Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You can call this API only in the Amazon Web Services Region where the number was claimed.
To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber
API, not the Amazon Connect console.
After releasing a phone number, the phone number enters into a cooldown period of 30 days. It cannot be searched for or claimed again until the period has ended. If you accidentally release a phone number, contact Amazon Web Services Support.
",
"ReplicateInstance": "Replicates an Amazon Connect instance in the specified Amazon Web Services Region.
For more information about replicating an Amazon Connect instance, see Create a replica of your existing Amazon Connect instance in the Amazon Connect Administrator Guide.
",
@@ -147,6 +147,7 @@
"UpdateHoursOfOperation": "This API is in preview release for Amazon Connect and is subject to change.
Updates the hours of operation.
",
"UpdateInstanceAttribute": "This API is in preview release for Amazon Connect and is subject to change.
Updates the value for the specified attribute type.
",
"UpdateInstanceStorageConfig": "This API is in preview release for Amazon Connect and is subject to change.
Updates an existing configuration for a resource type. This API is idempotent.
",
+ "UpdateParticipantRoleConfig": "Updates timeouts for when human chat participants are to be considered idle, and when agents are automatically disconnected from a chat due to idleness. You can set four timers:
For more information about how chat timeouts work, see Set up chat timeouts for human participants.
",
"UpdatePhoneNumber": "Updates your claimed phone number from its current Amazon Connect instance or traffic distribution group to another Amazon Connect instance or traffic distribution group in the same Amazon Web Services Region.
You can call DescribePhoneNumber API to verify the status of a previous UpdatePhoneNumber operation.
",
"UpdateQueueHoursOfOperation": "This API is in preview release for Amazon Connect and is subject to change.
Updates the hours of operation for the specified queue.
",
"UpdateQueueMaxContacts": "This API is in preview release for Amazon Connect and is subject to change.
Updates the maximum number of contacts allowed in a queue before it is considered full.
",
@@ -661,13 +662,13 @@
"ChatContent": {
"base": null,
"refs": {
- "ChatMessage$Content": "The content of the chat message.
"
+ "ChatMessage$Content": "The content of the chat message.
-
For text/plain
and text/markdown
, the Length Constraints are Minimum of 1, Maximum of 1024.
-
For application/json
, the Length Constraints are Minimum of 1, Maximum of 12000.
"
}
},
"ChatContentType": {
"base": null,
"refs": {
- "ChatMessage$ContentType": "The type of the content. Supported types are text/plain
.
"
+ "ChatMessage$ContentType": "The type of the content. Supported types are text/plain
, text/markdown
, and application/json
.
"
}
},
"ChatDurationInMinutes": {
@@ -682,6 +683,12 @@
"StartChatContactRequest$InitialMessage": "The initial message to be sent to the newly created chat.
"
}
},
+ "ChatParticipantRoleConfig": {
+ "base": "Configuration information for the chat participant role.
",
+ "refs": {
+ "UpdateParticipantRoleConfigChannelInfo$Chat": "Configuration information for the chat participant role.
"
+ }
+ },
"ChatStreamingConfiguration": {
"base": "The streaming configuration, such as the Amazon SNS streaming endpoint.
",
"refs": {
@@ -967,7 +974,8 @@
"TransferContactResponse$ContactId": "The identifier of the contact in this instance of Amazon Connect.
",
"UpdateContactAttributesRequest$InitialContactId": "The identifier of the contact. This is the identifier of the contact associated with the first interaction with the contact center.
",
"UpdateContactRequest$ContactId": "The identifier of the contact. This is the identifier of the contact associated with the first interaction with your contact center.
",
- "UpdateContactScheduleRequest$ContactId": "The identifier of the contact.
"
+ "UpdateContactScheduleRequest$ContactId": "The identifier of the contact.
",
+ "UpdateParticipantRoleConfigRequest$ContactId": "The identifier of the contact in this instance of Amazon Connect.
"
}
},
"ContactInitiationMethod": {
@@ -2273,6 +2281,7 @@
"UpdateHoursOfOperationRequest$InstanceId": "The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
",
"UpdateInstanceAttributeRequest$InstanceId": "The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
",
"UpdateInstanceStorageConfigRequest$InstanceId": "The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
",
+ "UpdateParticipantRoleConfigRequest$InstanceId": "The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
",
"UpdateQueueHoursOfOperationRequest$InstanceId": "The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
",
"UpdateQueueMaxContactsRequest$InstanceId": "The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
",
"UpdateQueueNameRequest$InstanceId": "The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
",
@@ -3173,6 +3182,42 @@
"StartChatContactResponse$ParticipantId": "The identifier for a chat participant. The participantId for a chat participant is the same throughout the chat lifecycle.
"
}
},
+ "ParticipantTimerAction": {
+ "base": null,
+ "refs": {
+ "ParticipantTimerValue$ParticipantTimerAction": "The timer action. Currently only one value is allowed: Unset
. It deletes a timer.
"
+ }
+ },
+ "ParticipantTimerConfigList": {
+ "base": null,
+ "refs": {
+ "ChatParticipantRoleConfig$ParticipantTimerConfigList": "A list of participant timers. You can specify any unique combination of role and timer type. Duplicate entries error out the request with a 400.
"
+ }
+ },
+ "ParticipantTimerConfiguration": {
+ "base": "Configuration information for the timer. After the timer configuration is set, it persists for the duration of the chat. It persists across new contacts in the chain, for example, transfer contacts.
For more information about how chat timeouts work, see Set up chat timeouts for human participants.
",
+ "refs": {
+ "ParticipantTimerConfigList$member": null
+ }
+ },
+ "ParticipantTimerDurationInMinutes": {
+ "base": null,
+ "refs": {
+ "ParticipantTimerValue$ParticipantTimerDurationInMinutes": "The duration of a timer, in minutes.
"
+ }
+ },
+ "ParticipantTimerType": {
+ "base": null,
+ "refs": {
+ "ParticipantTimerConfiguration$TimerType": "The type of timer. IDLE
indicates the timer applies for considering a human chat participant as idle. DISCONNECT_NONCUSTOMER
indicates the timer applies to automatically disconnecting a chat participant due to idleness.
"
+ }
+ },
+ "ParticipantTimerValue": {
+ "base": "The value of the timer. Either the timer action (Unset
to delete the timer), or the duration of the timer in minutes. Only one value can be set.
For more information about how chat timeouts work, see Set up chat timeouts for human participants.
",
+ "refs": {
+ "ParticipantTimerConfiguration$TimerValue": "The value of the timer. Either the timer action (Unset to delete the timer), or the duration of the timer in minutes. Only one value can be set.
"
+ }
+ },
"ParticipantToken": {
"base": null,
"refs": {
@@ -4359,7 +4404,7 @@
"SupportedMessagingContentTypes": {
"base": null,
"refs": {
- "StartChatContactRequest$SupportedMessagingContentTypes": "The supported chat message content types. Content types can be text/plain or both text/plain and text/markdown.
"
+ "StartChatContactRequest$SupportedMessagingContentTypes": "The supported chat message content types. Content types must always contain text/plain
. You can then put any other supported type in the list. For example, all the following lists are valid because they contain text/plain
: [text/plain, text/markdown, application/json]
, [text/markdown, text/plain]
, [text/plain, application/json]
.
"
}
},
"SuspendContactRecordingRequest": {
@@ -4670,6 +4715,12 @@
"UpdateHoursOfOperationRequest$TimeZone": "The time zone of the hours of operation.
"
}
},
+ "TimerEligibleParticipantRoles": {
+ "base": null,
+ "refs": {
+ "ParticipantTimerConfiguration$ParticipantRole": "The role of the participant in the chat conversation.
"
+ }
+ },
"Timestamp": {
"base": null,
"refs": {
@@ -4870,6 +4921,22 @@
"refs": {
}
},
+ "UpdateParticipantRoleConfigChannelInfo": {
+ "base": "Configuration information for the chat participant role.
",
+ "refs": {
+ "UpdateParticipantRoleConfigRequest$ChannelConfiguration": "The Amazon Connect channel you want to configure.
"
+ }
+ },
+ "UpdateParticipantRoleConfigRequest": {
+ "base": null,
+ "refs": {
+ }
+ },
+ "UpdateParticipantRoleConfigResponse": {
+ "base": null,
+ "refs": {
+ }
+ },
"UpdatePhoneNumberRequest": {
"base": null,
"refs": {
diff --git a/models/apis/iotdeviceadvisor/2020-09-18/api-2.json b/models/apis/iotdeviceadvisor/2020-09-18/api-2.json
index b2d0e39042c..f27bce39667 100644
--- a/models/apis/iotdeviceadvisor/2020-09-18/api-2.json
+++ b/models/apis/iotdeviceadvisor/2020-09-18/api-2.json
@@ -221,6 +221,7 @@
},
"CreateSuiteDefinitionRequest":{
"type":"structure",
+ "required":["suiteDefinitionConfiguration"],
"members":{
"suiteDefinitionConfiguration":{"shape":"SuiteDefinitionConfiguration"},
"tags":{"shape":"TagMap"}
@@ -517,7 +518,10 @@
},
"StartSuiteRunRequest":{
"type":"structure",
- "required":["suiteDefinitionId"],
+ "required":[
+ "suiteDefinitionId",
+ "suiteRunConfiguration"
+ ],
"members":{
"suiteDefinitionId":{
"shape":"UUID",
@@ -534,7 +538,8 @@
"members":{
"suiteRunId":{"shape":"UUID"},
"suiteRunArn":{"shape":"AmazonResourceName"},
- "createdAt":{"shape":"Timestamp"}
+ "createdAt":{"shape":"Timestamp"},
+ "endpoint":{"shape":"Endpoint"}
}
},
"Status":{
@@ -587,6 +592,11 @@
},
"SuiteDefinitionConfiguration":{
"type":"structure",
+ "required":[
+ "suiteDefinitionName",
+ "rootGroup",
+ "devicePermissionRoleArn"
+ ],
"members":{
"suiteDefinitionName":{"shape":"SuiteDefinitionName"},
"devices":{"shape":"DeviceUnderTestList"},
@@ -625,6 +635,7 @@
},
"SuiteRunConfiguration":{
"type":"structure",
+ "required":["primaryDevice"],
"members":{
"primaryDevice":{"shape":"DeviceUnderTest"},
"selectedTestList":{"shape":"SelectedTestList"},
@@ -801,7 +812,10 @@
},
"UpdateSuiteDefinitionRequest":{
"type":"structure",
- "required":["suiteDefinitionId"],
+ "required":[
+ "suiteDefinitionId",
+ "suiteDefinitionConfiguration"
+ ],
"members":{
"suiteDefinitionId":{
"shape":"UUID",
diff --git a/models/apis/iotdeviceadvisor/2020-09-18/docs-2.json b/models/apis/iotdeviceadvisor/2020-09-18/docs-2.json
index 20cdfc72cb4..6e9680f4788 100644
--- a/models/apis/iotdeviceadvisor/2020-09-18/docs-2.json
+++ b/models/apis/iotdeviceadvisor/2020-09-18/docs-2.json
@@ -21,18 +21,18 @@
"AmazonResourceName": {
"base": null,
"refs": {
- "CreateSuiteDefinitionResponse$suiteDefinitionArn": "Creates a Device Advisor test suite with Amazon Resource Name (ARN).
",
+ "CreateSuiteDefinitionResponse$suiteDefinitionArn": "The Amazon Resource Name (ARN) of the test suite.
",
"DeviceUnderTest$thingArn": "Lists devices thing ARN.
",
"DeviceUnderTest$certificateArn": "Lists devices certificate ARN.
",
"GetEndpointRequest$thingArn": "The thing ARN of the device. This is an optional parameter.
",
"GetEndpointRequest$certificateArn": "The certificate ARN of the device. This is an optional parameter.
",
"GetSuiteDefinitionResponse$suiteDefinitionArn": "The ARN of the suite definition.
",
"GetSuiteRunResponse$suiteRunArn": "The ARN of the suite run.
",
- "ListTagsForResourceRequest$resourceArn": "The ARN of the IoT Device Advisor resource.
",
+ "ListTagsForResourceRequest$resourceArn": "The resource ARN of the IoT Device Advisor resource. This can be SuiteDefinition ARN or SuiteRun ARN.
",
"StartSuiteRunResponse$suiteRunArn": "Amazon Resource Name (ARN) of the started suite run.
",
- "SuiteDefinitionConfiguration$devicePermissionRoleArn": "Gets the device permission ARN.
",
- "TagResourceRequest$resourceArn": "The resource ARN of an IoT Device Advisor resource.
",
- "UntagResourceRequest$resourceArn": "The resource ARN of an IoT Device Advisor resource.
",
+ "SuiteDefinitionConfiguration$devicePermissionRoleArn": "Gets the device permission ARN. This is a required parameter.
",
+ "TagResourceRequest$resourceArn": "The resource ARN of an IoT Device Advisor resource. This can be SuiteDefinition ARN or SuiteRun ARN.
",
+ "UntagResourceRequest$resourceArn": "The resource ARN of an IoT Device Advisor resource. This can be SuiteDefinition ARN or SuiteRun ARN.
",
"UpdateSuiteDefinitionResponse$suiteDefinitionArn": "Amazon Resource Name (ARN) of the updated test suite.
"
}
},
@@ -65,7 +65,7 @@
"base": "Information of a test device. A thing ARN or a certificate ARN is required.
",
"refs": {
"DeviceUnderTestList$member": null,
- "SuiteRunConfiguration$primaryDevice": "Gets the primary device for suite run.
"
+ "SuiteRunConfiguration$primaryDevice": "Sets the primary device for the test suite run. This requires a thing ARN or a certificate ARN.
"
}
},
"DeviceUnderTestList": {
@@ -78,7 +78,8 @@
"Endpoint": {
"base": null,
"refs": {
- "GetEndpointResponse$endpoint": "The response of an Device Advisor endpoint.
"
+ "GetEndpointResponse$endpoint": "The response of an Device Advisor endpoint.
",
+ "StartSuiteRunResponse$endpoint": "The response of an Device Advisor test endpoint.
"
}
},
"ErrorReason": {
@@ -167,8 +168,8 @@
"IsLongDurationTestBoolean": {
"base": null,
"refs": {
- "SuiteDefinitionConfiguration$isLongDurationTest": " Verifies if the test suite is a long duration test.
",
- "SuiteDefinitionInformation$isLongDurationTest": " Verifies if the test suite is a long duration test.
"
+ "SuiteDefinitionConfiguration$isLongDurationTest": "Verifies if the test suite is a long duration test.
",
+ "SuiteDefinitionInformation$isLongDurationTest": "Verifies if the test suite is a long duration test.
"
}
},
"ListSuiteDefinitionsRequest": {
@@ -232,8 +233,8 @@
"Protocol": {
"base": null,
"refs": {
- "SuiteDefinitionConfiguration$protocol": " Gets the MQTT protocol that is configured in the suite definition.
",
- "SuiteDefinitionInformation$protocol": " Gets the MQTT protocol that is configured in the suite definition.
"
+ "SuiteDefinitionConfiguration$protocol": "Sets the MQTT protocol that is configured in the suite definition.
",
+ "SuiteDefinitionInformation$protocol": "Gets the MQTT protocol that is configured in the suite definition.
"
}
},
"QualificationReportDownloadUrl": {
@@ -250,13 +251,13 @@
"RootGroup": {
"base": null,
"refs": {
- "SuiteDefinitionConfiguration$rootGroup": "Gets test suite root group.
"
+ "SuiteDefinitionConfiguration$rootGroup": "Gets the test suite root group. This is a required parameter.
"
}
},
"SelectedTestList": {
"base": null,
"refs": {
- "SuiteRunConfiguration$selectedTestList": "Gets test case list.
"
+ "SuiteRunConfiguration$selectedTestList": "Sets test case list.
"
}
},
"StartSuiteRunRequest": {
@@ -299,7 +300,7 @@
}
},
"SuiteDefinitionConfiguration": {
- "base": "Gets Suite Definition Configuration.
",
+ "base": "Gets the suite definition configuration.
",
"refs": {
"CreateSuiteDefinitionRequest$suiteDefinitionConfiguration": "Creates a Device Advisor test suite with suite definition configuration.
",
"GetSuiteDefinitionResponse$suiteDefinitionConfiguration": "Suite configuration of the suite definition.
",
@@ -321,11 +322,11 @@
"SuiteDefinitionName": {
"base": null,
"refs": {
- "CreateSuiteDefinitionResponse$suiteDefinitionName": "Creates a Device Advisor test suite with suite definition name.
",
- "SuiteDefinitionConfiguration$suiteDefinitionName": "Gets Suite Definition Configuration name.
",
+ "CreateSuiteDefinitionResponse$suiteDefinitionName": "The suite definition name of the test suite. This is a required parameter.
",
+ "SuiteDefinitionConfiguration$suiteDefinitionName": "Gets the suite definition name. This is a required parameter.
",
"SuiteDefinitionInformation$suiteDefinitionName": "Suite name of the test suite.
",
"SuiteRunInformation$suiteDefinitionName": "Suite definition name of the suite run.
",
- "UpdateSuiteDefinitionResponse$suiteDefinitionName": "Suite definition name of the updated test suite.
"
+ "UpdateSuiteDefinitionResponse$suiteDefinitionName": "Updates the suite definition name. This is a required parameter.
"
}
},
"SuiteDefinitionVersion": {
@@ -464,7 +465,7 @@
"Timestamp": {
"base": null,
"refs": {
- "CreateSuiteDefinitionResponse$createdAt": "Creates a Device Advisor test suite with TimeStamp of when it was created.
",
+ "CreateSuiteDefinitionResponse$createdAt": "The timestamp of when the test suite was created.
",
"GetSuiteDefinitionResponse$createdAt": "Date (in Unix epoch time) when the suite definition was created.
",
"GetSuiteDefinitionResponse$lastModifiedAt": "Date (in Unix epoch time) when the suite definition was last modified.
",
"GetSuiteRunResponse$startTime": "Date (in Unix epoch time) when the test suite run started.
",
@@ -492,7 +493,7 @@
"UUID": {
"base": null,
"refs": {
- "CreateSuiteDefinitionResponse$suiteDefinitionId": "Creates a Device Advisor test suite with suite UUID.
",
+ "CreateSuiteDefinitionResponse$suiteDefinitionId": "The UUID of the test suite created.
",
"DeleteSuiteDefinitionRequest$suiteDefinitionId": "Suite definition ID of the test suite to be deleted.
",
"GetSuiteDefinitionRequest$suiteDefinitionId": "Suite definition ID of the test suite to get.
",
"GetSuiteDefinitionResponse$suiteDefinitionId": "Suite definition ID of the suite definition.
",
diff --git a/models/apis/iotdeviceadvisor/2020-09-18/endpoint-rule-set-1.json b/models/apis/iotdeviceadvisor/2020-09-18/endpoint-rule-set-1.json
new file mode 100644
index 00000000000..aa90cd2e16f
--- /dev/null
+++ b/models/apis/iotdeviceadvisor/2020-09-18/endpoint-rule-set-1.json
@@ -0,0 +1,306 @@
+{
+ "version": "1.0",
+ "parameters": {
+ "Region": {
+ "builtIn": "AWS::Region",
+ "required": true,
+ "documentation": "The AWS region used to dispatch the request.",
+ "type": "String"
+ },
+ "UseDualStack": {
+ "builtIn": "AWS::UseDualStack",
+ "required": true,
+ "default": false,
+ "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.",
+ "type": "Boolean"
+ },
+ "UseFIPS": {
+ "builtIn": "AWS::UseFIPS",
+ "required": true,
+ "default": false,
+ "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.",
+ "type": "Boolean"
+ },
+ "Endpoint": {
+ "builtIn": "SDK::Endpoint",
+ "required": false,
+ "documentation": "Override the endpoint used to send this request",
+ "type": "String"
+ }
+ },
+ "rules": [
+ {
+ "conditions": [
+ {
+ "fn": "aws.partition",
+ "argv": [
+ {
+ "ref": "Region"
+ }
+ ],
+ "assign": "PartitionResult"
+ }
+ ],
+ "type": "tree",
+ "rules": [
+ {
+ "conditions": [
+ {
+ "fn": "isSet",
+ "argv": [
+ {
+ "ref": "Endpoint"
+ }
+ ]
+ }
+ ],
+ "type": "tree",
+ "rules": [
+ {
+ "conditions": [
+ {
+ "fn": "booleanEquals",
+ "argv": [
+ {
+ "ref": "UseFIPS"
+ },
+ true
+ ]
+ }
+ ],
+ "error": "Invalid Configuration: FIPS 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"
+ },
+ {
+ "conditions": [],
+ "endpoint": {
+ "url": {
+ "ref": "Endpoint"
+ },
+ "properties": {},
+ "headers": {}
+ },
+ "type": "endpoint"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "conditions": [
+ {
+ "fn": "booleanEquals",
+ "argv": [
+ {
+ "ref": "UseFIPS"
+ },
+ 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": [],
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
+ "properties": {},
+ "headers": {}
+ },
+ "type": "endpoint"
+ }
+ ]
+ },
+ {
+ "conditions": [],
+ "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
+ "type": "error"
+ }
+ ]
+ },
+ {
+ "conditions": [
+ {
+ "fn": "booleanEquals",
+ "argv": [
+ {
+ "ref": "UseFIPS"
+ },
+ true
+ ]
+ }
+ ],
+ "type": "tree",
+ "rules": [
+ {
+ "conditions": [
+ {
+ "fn": "booleanEquals",
+ "argv": [
+ true,
+ {
+ "fn": "getAttr",
+ "argv": [
+ {
+ "ref": "PartitionResult"
+ },
+ "supportsFIPS"
+ ]
+ }
+ ]
+ }
+ ],
+ "type": "tree",
+ "rules": [
+ {
+ "conditions": [],
+ "type": "tree",
+ "rules": [
+ {
+ "conditions": [],
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor-fips.{Region}.{PartitionResult#dnsSuffix}",
+ "properties": {},
+ "headers": {}
+ },
+ "type": "endpoint"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "conditions": [],
+ "error": "FIPS is enabled but this partition does not support FIPS",
+ "type": "error"
+ }
+ ]
+ },
+ {
+ "conditions": [
+ {
+ "fn": "booleanEquals",
+ "argv": [
+ {
+ "ref": "UseDualStack"
+ },
+ true
+ ]
+ }
+ ],
+ "type": "tree",
+ "rules": [
+ {
+ "conditions": [
+ {
+ "fn": "booleanEquals",
+ "argv": [
+ true,
+ {
+ "fn": "getAttr",
+ "argv": [
+ {
+ "ref": "PartitionResult"
+ },
+ "supportsDualStack"
+ ]
+ }
+ ]
+ }
+ ],
+ "type": "tree",
+ "rules": [
+ {
+ "conditions": [],
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor.{Region}.{PartitionResult#dualStackDnsSuffix}",
+ "properties": {},
+ "headers": {}
+ },
+ "type": "endpoint"
+ }
+ ]
+ },
+ {
+ "conditions": [],
+ "error": "DualStack is enabled but this partition does not support DualStack",
+ "type": "error"
+ }
+ ]
+ },
+ {
+ "conditions": [],
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor.{Region}.{PartitionResult#dnsSuffix}",
+ "properties": {},
+ "headers": {}
+ },
+ "type": "endpoint"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/models/apis/iotdeviceadvisor/2020-09-18/endpoint-tests-1.json b/models/apis/iotdeviceadvisor/2020-09-18/endpoint-tests-1.json
new file mode 100644
index 00000000000..9b217113ce2
--- /dev/null
+++ b/models/apis/iotdeviceadvisor/2020-09-18/endpoint-tests-1.json
@@ -0,0 +1,251 @@
+{
+ "testCases": [
+ {
+ "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled",
+ "expect": {
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor-fips.us-west-2.api.aws"
+ }
+ },
+ "params": {
+ "UseFIPS": true,
+ "Region": "us-west-2",
+ "UseDualStack": true
+ }
+ },
+ {
+ "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled",
+ "expect": {
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor-fips.us-west-2.amazonaws.com"
+ }
+ },
+ "params": {
+ "UseFIPS": true,
+ "Region": "us-west-2",
+ "UseDualStack": false
+ }
+ },
+ {
+ "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled",
+ "expect": {
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor.us-west-2.api.aws"
+ }
+ },
+ "params": {
+ "UseFIPS": false,
+ "Region": "us-west-2",
+ "UseDualStack": true
+ }
+ },
+ {
+ "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled",
+ "expect": {
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor.us-west-2.amazonaws.com"
+ }
+ },
+ "params": {
+ "UseFIPS": false,
+ "Region": "us-west-2",
+ "UseDualStack": false
+ }
+ },
+ {
+ "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled",
+ "expect": {
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor-fips.eu-west-1.api.aws"
+ }
+ },
+ "params": {
+ "UseFIPS": true,
+ "Region": "eu-west-1",
+ "UseDualStack": true
+ }
+ },
+ {
+ "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled",
+ "expect": {
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor-fips.eu-west-1.amazonaws.com"
+ }
+ },
+ "params": {
+ "UseFIPS": true,
+ "Region": "eu-west-1",
+ "UseDualStack": false
+ }
+ },
+ {
+ "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled",
+ "expect": {
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor.eu-west-1.api.aws"
+ }
+ },
+ "params": {
+ "UseFIPS": false,
+ "Region": "eu-west-1",
+ "UseDualStack": true
+ }
+ },
+ {
+ "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled",
+ "expect": {
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor.eu-west-1.amazonaws.com"
+ }
+ },
+ "params": {
+ "UseFIPS": false,
+ "Region": "eu-west-1",
+ "UseDualStack": false
+ }
+ },
+ {
+ "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled",
+ "expect": {
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor-fips.ap-northeast-1.api.aws"
+ }
+ },
+ "params": {
+ "UseFIPS": true,
+ "Region": "ap-northeast-1",
+ "UseDualStack": true
+ }
+ },
+ {
+ "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled",
+ "expect": {
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor-fips.ap-northeast-1.amazonaws.com"
+ }
+ },
+ "params": {
+ "UseFIPS": true,
+ "Region": "ap-northeast-1",
+ "UseDualStack": false
+ }
+ },
+ {
+ "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled",
+ "expect": {
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor.ap-northeast-1.api.aws"
+ }
+ },
+ "params": {
+ "UseFIPS": false,
+ "Region": "ap-northeast-1",
+ "UseDualStack": true
+ }
+ },
+ {
+ "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled",
+ "expect": {
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor.ap-northeast-1.amazonaws.com"
+ }
+ },
+ "params": {
+ "UseFIPS": false,
+ "Region": "ap-northeast-1",
+ "UseDualStack": false
+ }
+ },
+ {
+ "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled",
+ "expect": {
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor-fips.us-east-1.api.aws"
+ }
+ },
+ "params": {
+ "UseFIPS": true,
+ "Region": "us-east-1",
+ "UseDualStack": true
+ }
+ },
+ {
+ "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled",
+ "expect": {
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor-fips.us-east-1.amazonaws.com"
+ }
+ },
+ "params": {
+ "UseFIPS": true,
+ "Region": "us-east-1",
+ "UseDualStack": false
+ }
+ },
+ {
+ "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled",
+ "expect": {
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor.us-east-1.api.aws"
+ }
+ },
+ "params": {
+ "UseFIPS": false,
+ "Region": "us-east-1",
+ "UseDualStack": true
+ }
+ },
+ {
+ "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled",
+ "expect": {
+ "endpoint": {
+ "url": "https://api.iotdeviceadvisor.us-east-1.amazonaws.com"
+ }
+ },
+ "params": {
+ "UseFIPS": false,
+ "Region": "us-east-1",
+ "UseDualStack": false
+ }
+ },
+ {
+ "documentation": "For custom endpoint with fips disabled and dualstack disabled",
+ "expect": {
+ "endpoint": {
+ "url": "https://example.com"
+ }
+ },
+ "params": {
+ "UseFIPS": false,
+ "Region": "us-east-1",
+ "UseDualStack": false,
+ "Endpoint": "https://example.com"
+ }
+ },
+ {
+ "documentation": "For custom endpoint with fips enabled and dualstack disabled",
+ "expect": {
+ "error": "Invalid Configuration: FIPS and custom endpoint are not supported"
+ },
+ "params": {
+ "UseFIPS": true,
+ "Region": "us-east-1",
+ "UseDualStack": false,
+ "Endpoint": "https://example.com"
+ }
+ },
+ {
+ "documentation": "For custom endpoint with fips disabled and dualstack enabled",
+ "expect": {
+ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported"
+ },
+ "params": {
+ "UseFIPS": false,
+ "Region": "us-east-1",
+ "UseDualStack": true,
+ "Endpoint": "https://example.com"
+ }
+ }
+ ],
+ "version": "1.0"
+}
\ No newline at end of file
diff --git a/models/apis/kinesis-video-webrtc-storage/2018-05-10/api-2.json b/models/apis/kinesis-video-webrtc-storage/2018-05-10/api-2.json
index a98ce1c2d43..bdf12bafc7e 100644
--- a/models/apis/kinesis-video-webrtc-storage/2018-05-10/api-2.json
+++ b/models/apis/kinesis-video-webrtc-storage/2018-05-10/api-2.json
@@ -26,21 +26,6 @@
{"shape":"AccessDeniedException"},
{"shape":"ResourceNotFoundException"}
]
- },
- "JoinStorageSessionAsViewer":{
- "name":"JoinStorageSessionAsViewer",
- "http":{
- "method":"POST",
- "requestUri":"/joinStorageSessionAsViewer",
- "responseCode":200
- },
- "input":{"shape":"JoinStorageSessionAsViewerInput"},
- "errors":[
- {"shape":"ClientLimitExceededException"},
- {"shape":"InvalidArgumentException"},
- {"shape":"AccessDeniedException"},
- {"shape":"ResourceNotFoundException"}
- ]
}
},
"shapes":{
@@ -59,12 +44,6 @@
"type":"string",
"pattern":"^arn:(aws[a-zA-Z-]*):kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+$"
},
- "ClientId":{
- "type":"string",
- "max":256,
- "min":1,
- "pattern":"[a-zA-Z0-9_.-]+"
- },
"ClientLimitExceededException":{
"type":"structure",
"members":{
@@ -87,17 +66,6 @@
},
"exception":true
},
- "JoinStorageSessionAsViewerInput":{
- "type":"structure",
- "required":[
- "channelArn",
- "clientId"
- ],
- "members":{
- "channelArn":{"shape":"ChannelArn"},
- "clientId":{"shape":"ClientId"}
- }
- },
"JoinStorageSessionInput":{
"type":"structure",
"required":["channelArn"],
diff --git a/models/apis/kinesis-video-webrtc-storage/2018-05-10/docs-2.json b/models/apis/kinesis-video-webrtc-storage/2018-05-10/docs-2.json
index 6b27df5406d..deecabc05da 100644
--- a/models/apis/kinesis-video-webrtc-storage/2018-05-10/docs-2.json
+++ b/models/apis/kinesis-video-webrtc-storage/2018-05-10/docs-2.json
@@ -2,40 +2,27 @@
"version": "2.0",
"service": "
",
"operations": {
- "JoinStorageSession": " Join the ongoing one way-video and/or multi-way audio WebRTC session as a video producing device for an input channel. If there’s no existing session for the channel, a new streaming session needs to be created, and the Amazon Resource Name (ARN) of the signaling channel must be provided.
Currently for the SINGLE_MASTER
type, a video producing device is able to ingest both audio and video media into a stream, while viewers can only ingest audio. Both a video producing device and viewers can join the session first, and wait for other participants.
While participants are having peer to peer conversations through webRTC, the ingested media session will be stored into the Kinesis Video Stream. Multiple viewers are able to playback real-time media.
Customers can also use existing Kinesis Video Streams features like HLS
or DASH
playback, Image generation, and more with ingested WebRTC media.
Assume that only one video producing device client can be associated with a session for the channel. If more than one client joins the session of a specific channel as a video producing device, the most recent client request takes precedence.
",
- "JoinStorageSessionAsViewer": " Join the ongoing one way-video and/or multi-way audio WebRTC session as a viewer for an input channel. If there’s no existing session for the channel, create a new streaming session and provide the Amazon Resource Name (ARN) of the signaling channel (channelArn
) and client id (clientId
).
Currently for SINGLE_MASTER
type, a video producing device is able to ingest both audio and video media into a stream, while viewers can only ingest audio. Both a video producing device and viewers can join a session first and wait for other participants. While participants are having peer to peer conversations through webRTC, the ingested media session will be stored into the Kinesis Video Stream. Multiple viewers are able to playback real-time media.
Customers can also use existing Kinesis Video Streams features like HLS
or DASH
playback, Image generation, and more with ingested WebRTC media. If there’s an existing session with the same clientId
that's found in the join session request, the new request takes precedence.
"
+ "JoinStorageSession": " Join the ongoing one way-video and/or multi-way audio WebRTC session as a video producing device for an input channel. If there’s no existing session for the channel, a new streaming session needs to be created, and the Amazon Resource Name (ARN) of the signaling channel must be provided.
Currently for the SINGLE_MASTER
type, a video producing device is able to ingest both audio and video media into a stream, while viewers can only ingest audio. Both a video producing device and viewers can join the session first, and wait for other participants.
While participants are having peer to peer conversations through webRTC, the ingested media session will be stored into the Kinesis Video Stream. Multiple viewers are able to playback real-time media.
Customers can also use existing Kinesis Video Streams features like HLS
or DASH
playback, Image generation, and more with ingested WebRTC media.
Assume that only one video producing device client can be associated with a session for the channel. If more than one client joins the session of a specific channel as a video producing device, the most recent client request takes precedence.
"
},
"shapes": {
"AccessDeniedException": {
- "base": " -
You do not have required permissions to perform this operation
-
The AccessDeniedException
can be thrown for operation access as well as tokens or resource access
",
+ "base": "You do not have required permissions to perform this operation.
",
"refs": {
}
},
"ChannelArn": {
"base": null,
"refs": {
- "JoinStorageSessionAsViewerInput$channelArn": " The Amazon Resource Name (ARN) of the signaling channel.
",
"JoinStorageSessionInput$channelArn": " The Amazon Resource Name (ARN) of the signaling channel.
"
}
},
- "ClientId": {
- "base": null,
- "refs": {
- "JoinStorageSessionAsViewerInput$clientId": " The unique identifier for the sender client.
"
- }
- },
"ClientLimitExceededException": {
"base": " Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.
",
"refs": {
}
},
"InvalidArgumentException": {
- "base": " -
The value for this input parameter is invalid.
-
Additional details may notbe returned.
",
- "refs": {
- }
- },
- "JoinStorageSessionAsViewerInput": {
- "base": null,
+ "base": "The value for this input parameter is invalid.
",
"refs": {
}
},
@@ -45,7 +32,7 @@
}
},
"ResourceNotFoundException": {
- "base": " -
The specified resource is not found
-
You have not specified a channel in this API call.
",
+ "base": "The specified resource is not found.
",
"refs": {
}
},
diff --git a/models/apis/kinesis-video-webrtc-storage/2018-05-10/endpoint-tests-1.json b/models/apis/kinesis-video-webrtc-storage/2018-05-10/endpoint-tests-1.json
index 0f69401af1b..5bd9f5778e5 100644
--- a/models/apis/kinesis-video-webrtc-storage/2018-05-10/endpoint-tests-1.json
+++ b/models/apis/kinesis-video-webrtc-storage/2018-05-10/endpoint-tests-1.json
@@ -8,8 +8,8 @@
}
},
"params": {
- "Region": "us-gov-east-1",
"UseDualStack": true,
+ "Region": "us-gov-east-1",
"UseFIPS": true
}
},
@@ -21,8 +21,8 @@
}
},
"params": {
- "Region": "us-gov-east-1",
"UseDualStack": false,
+ "Region": "us-gov-east-1",
"UseFIPS": true
}
},
@@ -34,8 +34,8 @@
}
},
"params": {
- "Region": "us-gov-east-1",
"UseDualStack": true,
+ "Region": "us-gov-east-1",
"UseFIPS": false
}
},
@@ -47,8 +47,8 @@
}
},
"params": {
- "Region": "us-gov-east-1",
"UseDualStack": false,
+ "Region": "us-gov-east-1",
"UseFIPS": false
}
},
@@ -60,8 +60,8 @@
}
},
"params": {
- "Region": "cn-north-1",
"UseDualStack": true,
+ "Region": "cn-north-1",
"UseFIPS": true
}
},
@@ -73,8 +73,8 @@
}
},
"params": {
- "Region": "cn-north-1",
"UseDualStack": false,
+ "Region": "cn-north-1",
"UseFIPS": true
}
},
@@ -86,8 +86,8 @@
}
},
"params": {
- "Region": "cn-north-1",
"UseDualStack": true,
+ "Region": "cn-north-1",
"UseFIPS": false
}
},
@@ -99,8 +99,8 @@
}
},
"params": {
- "Region": "cn-north-1",
"UseDualStack": false,
+ "Region": "cn-north-1",
"UseFIPS": false
}
},
@@ -110,8 +110,8 @@
"error": "FIPS and DualStack are enabled, but this partition does not support one or both"
},
"params": {
- "Region": "us-iso-east-1",
"UseDualStack": true,
+ "Region": "us-iso-east-1",
"UseFIPS": true
}
},
@@ -123,8 +123,8 @@
}
},
"params": {
- "Region": "us-iso-east-1",
"UseDualStack": false,
+ "Region": "us-iso-east-1",
"UseFIPS": true
}
},
@@ -134,8 +134,8 @@
"error": "DualStack is enabled but this partition does not support DualStack"
},
"params": {
- "Region": "us-iso-east-1",
"UseDualStack": true,
+ "Region": "us-iso-east-1",
"UseFIPS": false
}
},
@@ -147,8 +147,8 @@
}
},
"params": {
- "Region": "us-iso-east-1",
"UseDualStack": false,
+ "Region": "us-iso-east-1",
"UseFIPS": false
}
},
@@ -160,8 +160,8 @@
}
},
"params": {
- "Region": "us-east-1",
"UseDualStack": true,
+ "Region": "us-east-1",
"UseFIPS": true
}
},
@@ -173,8 +173,8 @@
}
},
"params": {
- "Region": "us-east-1",
"UseDualStack": false,
+ "Region": "us-east-1",
"UseFIPS": true
}
},
@@ -186,8 +186,8 @@
}
},
"params": {
- "Region": "us-east-1",
"UseDualStack": true,
+ "Region": "us-east-1",
"UseFIPS": false
}
},
@@ -199,8 +199,8 @@
}
},
"params": {
- "Region": "us-east-1",
"UseDualStack": false,
+ "Region": "us-east-1",
"UseFIPS": false
}
},
@@ -210,8 +210,8 @@
"error": "FIPS and DualStack are enabled, but this partition does not support one or both"
},
"params": {
- "Region": "us-isob-east-1",
"UseDualStack": true,
+ "Region": "us-isob-east-1",
"UseFIPS": true
}
},
@@ -223,8 +223,8 @@
}
},
"params": {
- "Region": "us-isob-east-1",
"UseDualStack": false,
+ "Region": "us-isob-east-1",
"UseFIPS": true
}
},
@@ -234,8 +234,8 @@
"error": "DualStack is enabled but this partition does not support DualStack"
},
"params": {
- "Region": "us-isob-east-1",
"UseDualStack": true,
+ "Region": "us-isob-east-1",
"UseFIPS": false
}
},
@@ -247,8 +247,8 @@
}
},
"params": {
- "Region": "us-isob-east-1",
"UseDualStack": false,
+ "Region": "us-isob-east-1",
"UseFIPS": false
}
},
@@ -260,8 +260,8 @@
}
},
"params": {
- "Region": "us-east-1",
"UseDualStack": false,
+ "Region": "us-east-1",
"UseFIPS": false,
"Endpoint": "https://example.com"
}
@@ -272,8 +272,8 @@
"error": "Invalid Configuration: FIPS and custom endpoint are not supported"
},
"params": {
- "Region": "us-east-1",
"UseDualStack": false,
+ "Region": "us-east-1",
"UseFIPS": true,
"Endpoint": "https://example.com"
}
@@ -284,8 +284,8 @@
"error": "Invalid Configuration: Dualstack and custom endpoint are not supported"
},
"params": {
- "Region": "us-east-1",
"UseDualStack": true,
+ "Region": "us-east-1",
"UseFIPS": false,
"Endpoint": "https://example.com"
}
diff --git a/models/apis/rds/2014-10-31/api-2.json b/models/apis/rds/2014-10-31/api-2.json
index b8980f4d08f..fc3d0e48c12 100644
--- a/models/apis/rds/2014-10-31/api-2.json
+++ b/models/apis/rds/2014-10-31/api-2.json
@@ -3159,7 +3159,9 @@
"PerformanceInsightsRetentionPeriod":{"shape":"IntegerOptional"},
"ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"},
"NetworkType":{"shape":"String"},
- "DBSystemId":{"shape":"String"}
+ "DBSystemId":{"shape":"String"},
+ "ManageMasterUserPassword":{"shape":"BooleanOptional"},
+ "MasterUserSecretKmsKeyId":{"shape":"String"}
}
},
"CreateDBClusterParameterGroupMessage":{
@@ -3265,7 +3267,9 @@
"CustomIamInstanceProfile":{"shape":"String"},
"BackupTarget":{"shape":"String"},
"NetworkType":{"shape":"String"},
- "StorageThroughput":{"shape":"IntegerOptional"}
+ "StorageThroughput":{"shape":"IntegerOptional"},
+ "ManageMasterUserPassword":{"shape":"BooleanOptional"},
+ "MasterUserSecretKmsKeyId":{"shape":"String"}
}
},
"CreateDBInstanceReadReplicaMessage":{
@@ -3655,7 +3659,8 @@
"PerformanceInsightsRetentionPeriod":{"shape":"IntegerOptional"},
"ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfigurationInfo"},
"NetworkType":{"shape":"String"},
- "DBSystemId":{"shape":"String"}
+ "DBSystemId":{"shape":"String"},
+ "MasterUserSecret":{"shape":"MasterUserSecret"}
},
"wrapper":true
},
@@ -4160,7 +4165,8 @@
"NetworkType":{"shape":"String"},
"ActivityStreamPolicyStatus":{"shape":"ActivityStreamPolicyStatus"},
"StorageThroughput":{"shape":"IntegerOptional"},
- "DBSystemId":{"shape":"String"}
+ "DBSystemId":{"shape":"String"},
+ "MasterUserSecret":{"shape":"MasterUserSecret"}
},
"wrapper":true
},
@@ -6509,6 +6515,14 @@
},
"Long":{"type":"long"},
"LongOptional":{"type":"long"},
+ "MasterUserSecret":{
+ "type":"structure",
+ "members":{
+ "SecretArn":{"shape":"String"},
+ "SecretStatus":{"shape":"String"},
+ "KmsKeyId":{"shape":"String"}
+ }
+ },
"MaxRecords":{
"type":"integer",
"max":100,
@@ -6631,7 +6645,10 @@
"PerformanceInsightsKMSKeyId":{"shape":"String"},
"PerformanceInsightsRetentionPeriod":{"shape":"IntegerOptional"},
"ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"},
- "NetworkType":{"shape":"String"}
+ "NetworkType":{"shape":"String"},
+ "ManageMasterUserPassword":{"shape":"BooleanOptional"},
+ "RotateMasterUserPassword":{"shape":"BooleanOptional"},
+ "MasterUserSecretKmsKeyId":{"shape":"String"}
}
},
"ModifyDBClusterParameterGroupMessage":{
@@ -6722,7 +6739,10 @@
"AutomationMode":{"shape":"AutomationMode"},
"ResumeFullAutomationModeMinutes":{"shape":"IntegerOptional"},
"NetworkType":{"shape":"String"},
- "StorageThroughput":{"shape":"IntegerOptional"}
+ "StorageThroughput":{"shape":"IntegerOptional"},
+ "ManageMasterUserPassword":{"shape":"BooleanOptional"},
+ "RotateMasterUserPassword":{"shape":"BooleanOptional"},
+ "MasterUserSecretKmsKeyId":{"shape":"String"}
}
},
"ModifyDBInstanceResult":{
@@ -7693,7 +7713,6 @@
"DBClusterIdentifier",
"Engine",
"MasterUsername",
- "MasterUserPassword",
"SourceEngine",
"SourceEngineVersion",
"S3BucketName",
@@ -7732,7 +7751,9 @@
"Domain":{"shape":"String"},
"DomainIAMRoleName":{"shape":"String"},
"ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"},
- "NetworkType":{"shape":"String"}
+ "NetworkType":{"shape":"String"},
+ "ManageMasterUserPassword":{"shape":"BooleanOptional"},
+ "MasterUserSecretKmsKeyId":{"shape":"String"}
}
},
"RestoreDBClusterFromS3Result":{
@@ -7930,7 +7951,9 @@
"DeletionProtection":{"shape":"BooleanOptional"},
"MaxAllocatedStorage":{"shape":"IntegerOptional"},
"NetworkType":{"shape":"String"},
- "StorageThroughput":{"shape":"IntegerOptional"}
+ "StorageThroughput":{"shape":"IntegerOptional"},
+ "ManageMasterUserPassword":{"shape":"BooleanOptional"},
+ "MasterUserSecretKmsKeyId":{"shape":"String"}
}
},
"RestoreDBInstanceFromS3Result":{
diff --git a/models/apis/rds/2014-10-31/docs-2.json b/models/apis/rds/2014-10-31/docs-2.json
index d6ee1759221..1574632f1e0 100644
--- a/models/apis/rds/2014-10-31/docs-2.json
+++ b/models/apis/rds/2014-10-31/docs-2.json
@@ -527,6 +527,7 @@
"CreateDBClusterMessage$PubliclyAccessible": "A value that indicates whether the DB cluster is publicly accessible.
When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.
When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.
Default: The default behavior varies depending on whether DBSubnetGroupName
is specified.
If DBSubnetGroupName
isn't specified, and PubliclyAccessible
isn't specified, the following applies:
-
If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster is private.
-
If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.
If DBSubnetGroupName
is specified, and PubliclyAccessible
isn't specified, the following applies:
-
If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is private.
-
If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.
Valid for: Multi-AZ DB clusters only
",
"CreateDBClusterMessage$AutoMinorVersionUpgrade": "A value that indicates whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.
Valid for: Multi-AZ DB clusters only
",
"CreateDBClusterMessage$EnablePerformanceInsights": "A value that indicates whether to turn on Performance Insights for the DB cluster.
For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.
Valid for: Multi-AZ DB clusters only
",
+ "CreateDBClusterMessage$ManageMasterUserPassword": "A value that indicates whether to manage the master user password with Amazon Web Services Secrets Manager.
For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide and Password management with Amazon Web Services Secrets Manager in the Amazon Aurora User Guide.
Constraints:
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
"CreateDBInstanceMessage$MultiAZ": "A value that indicates whether the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone
parameter if the DB instance is a Multi-AZ deployment.
This setting doesn't apply to RDS Custom.
Amazon Aurora
Not applicable. DB instance Availability Zones (AZs) are managed by the DB cluster.
",
"CreateDBInstanceMessage$AutoMinorVersionUpgrade": "A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically.
If you create an RDS Custom DB instance, you must set AutoMinorVersionUpgrade
to false
.
",
"CreateDBInstanceMessage$PubliclyAccessible": "A value that indicates whether the DB instance is publicly accessible.
When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB instance's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.
When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.
Default: The default behavior varies depending on whether DBSubnetGroupName
is specified.
If DBSubnetGroupName
isn't specified, and PubliclyAccessible
isn't specified, the following applies:
-
If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB instance is private.
-
If the default VPC in the target Region has an internet gateway attached to it, the DB instance is public.
If DBSubnetGroupName
is specified, and PubliclyAccessible
isn't specified, the following applies:
-
If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB instance is private.
-
If the subnets are part of a VPC that has an internet gateway attached to it, the DB instance is public.
",
@@ -536,6 +537,7 @@
"CreateDBInstanceMessage$EnablePerformanceInsights": "A value that indicates whether to enable Performance Insights for the DB instance. For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.
This setting doesn't apply to RDS Custom.
",
"CreateDBInstanceMessage$DeletionProtection": "A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see Deleting a DB Instance.
Amazon Aurora
Not applicable. You can enable or disable deletion protection for the DB cluster. For more information, see CreateDBCluster
. DB instances in a DB cluster can be deleted even when deletion protection is enabled for the DB cluster.
",
"CreateDBInstanceMessage$EnableCustomerOwnedIp": "A value that indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.
A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the DB instance from outside of its virtual private cloud (VPC) on your local network.
For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.
For more information about CoIPs, see Customer-owned IP addresses in the Amazon Web Services Outposts User Guide.
",
+ "CreateDBInstanceMessage$ManageMasterUserPassword": "A value that indicates whether to manage the master user password with Amazon Web Services Secrets Manager.
For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide.
Constraints:
",
"CreateDBInstanceReadReplicaMessage$MultiAZ": "A value that indicates whether the read replica is in a Multi-AZ deployment.
You can create a read replica as a Multi-AZ DB instance. RDS creates a standby of your replica in another Availability Zone for failover support for the replica. Creating your read replica as a Multi-AZ DB instance is independent of whether the source database is a Multi-AZ DB instance.
This setting doesn't apply to RDS Custom.
",
"CreateDBInstanceReadReplicaMessage$AutoMinorVersionUpgrade": "A value that indicates whether minor engine upgrades are applied automatically to the read replica during the maintenance window.
This setting doesn't apply to RDS Custom.
Default: Inherits from the source DB instance
",
"CreateDBInstanceReadReplicaMessage$PubliclyAccessible": "A value that indicates whether the DB instance is publicly accessible.
When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.
When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.
For more information, see CreateDBInstance.
",
@@ -579,6 +581,8 @@
"ModifyDBClusterMessage$EnableGlobalWriteForwarding": "A value that indicates whether to enable this DB cluster to forward write operations to the primary cluster of an Aurora global database (GlobalCluster). By default, write operations are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global database.
You can set this value only on Aurora DB clusters that are members of an Aurora global database. With this parameter enabled, a secondary cluster can forward writes to the current primary cluster and the resulting changes are replicated back to this cluster. For the primary DB cluster of an Aurora global database, this value is used immediately if the primary is demoted by the FailoverGlobalCluster API operation, but it does nothing until then.
Valid for: Aurora DB clusters only
",
"ModifyDBClusterMessage$AutoMinorVersionUpgrade": "A value that indicates whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.
Valid for: Multi-AZ DB clusters only
",
"ModifyDBClusterMessage$EnablePerformanceInsights": "A value that indicates whether to turn on Performance Insights for the DB cluster.
For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.
Valid for: Multi-AZ DB clusters only
",
+ "ModifyDBClusterMessage$ManageMasterUserPassword": "A value that indicates whether to manage the master user password with Amazon Web Services Secrets Manager.
If the DB cluster doesn't manage the master user password with Amazon Web Services Secrets Manager, you can turn on this management. In this case, you can't specify MasterUserPassword
.
If the DB cluster already manages the master user password with Amazon Web Services Secrets Manager, and you specify that the master user password is not managed with Amazon Web Services Secrets Manager, then you must specify MasterUserPassword
. In this case, RDS deletes the secret and uses the new password for the master user specified by MasterUserPassword
.
For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide and Password management with Amazon Web Services Secrets Manager in the Amazon Aurora User Guide.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
+ "ModifyDBClusterMessage$RotateMasterUserPassword": "A value that indicates whether to rotate the secret managed by Amazon Web Services Secrets Manager for the master user password.
This setting is valid only if the master user password is managed by RDS in Amazon Web Services Secrets Manager for the DB cluster. The secret value contains the updated password.
For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide and Password management with Amazon Web Services Secrets Manager in the Amazon Aurora User Guide.
Constraints:
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
"ModifyDBInstanceMessage$MultiAZ": "A value that indicates whether the DB instance is a Multi-AZ deployment. Changing this parameter doesn't result in an outage. The change is applied during the next maintenance window unless the ApplyImmediately
parameter is enabled for this request.
This setting doesn't apply to RDS Custom.
",
"ModifyDBInstanceMessage$AutoMinorVersionUpgrade": "A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window. An outage occurs when all the following conditions are met:
-
The automatic upgrade is enabled for the maintenance window.
-
A newer minor version is available.
-
RDS has enabled automatic patching for the engine version.
If any of the preceding conditions isn't met, RDS applies the change as soon as possible and doesn't cause an outage.
For an RDS Custom DB instance, set AutoMinorVersionUpgrade
to false
. Otherwise, the operation returns an error.
",
"ModifyDBInstanceMessage$CopyTagsToSnapshot": "A value that indicates whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.
Amazon Aurora
Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting. For more information, see ModifyDBCluster
.
",
@@ -589,6 +593,8 @@
"ModifyDBInstanceMessage$DeletionProtection": "A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see Deleting a DB Instance.
",
"ModifyDBInstanceMessage$CertificateRotationRestart": "A value that indicates whether the DB instance is restarted when you rotate your SSL/TLS certificate.
By default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate is not updated until the DB instance is restarted.
Set this parameter only if you are not using SSL/TLS to connect to the DB instance.
If you are using SSL/TLS to connect to the DB instance, follow the appropriate instructions for your DB engine to rotate your SSL/TLS certificate:
This setting doesn't apply to RDS Custom.
",
"ModifyDBInstanceMessage$EnableCustomerOwnedIp": "A value that indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.
A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the DB instance from outside of its virtual private cloud (VPC) on your local network.
For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.
For more information about CoIPs, see Customer-owned IP addresses in the Amazon Web Services Outposts User Guide.
",
+ "ModifyDBInstanceMessage$ManageMasterUserPassword": "A value that indicates whether to manage the master user password with Amazon Web Services Secrets Manager.
If the DB cluster doesn't manage the master user password with Amazon Web Services Secrets Manager, you can turn on this management. In this case, you can't specify MasterUserPassword
.
If the DB cluster already manages the master user password with Amazon Web Services Secrets Manager, and you specify that the master user password is not managed with Amazon Web Services Secrets Manager, then you must specify MasterUserPassword
. In this case, RDS deletes the secret and uses the new password for the master user specified by MasterUserPassword
.
For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide.
Constraints:
",
+ "ModifyDBInstanceMessage$RotateMasterUserPassword": "A value that indicates whether to rotate the secret managed by Amazon Web Services Secrets Manager for the master user password.
This setting is valid only if the master user password is managed by RDS in Amazon Web Services Secrets Manager for the DB cluster. The secret value contains the updated password.
For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide.
Constraints:
",
"ModifyDBProxyRequest$RequireTLS": "Whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy, even if the associated database doesn't use TLS.
",
"ModifyDBProxyRequest$DebugLogging": "Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.
",
"ModifyEventSubscriptionMessage$Enabled": "A value that indicates whether to activate the subscription.
",
@@ -605,6 +611,7 @@
"RestoreDBClusterFromS3Message$EnableIAMDatabaseAuthentication": "A value that indicates whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled.
For more information, see IAM Database Authentication in the Amazon Aurora User Guide.
",
"RestoreDBClusterFromS3Message$DeletionProtection": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled.
",
"RestoreDBClusterFromS3Message$CopyTagsToSnapshot": "A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.
",
+ "RestoreDBClusterFromS3Message$ManageMasterUserPassword": "A value that indicates whether to manage the master user password with Amazon Web Services Secrets Manager.
For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide and Password management with Amazon Web Services Secrets Manager in the Amazon Aurora User Guide.
Constraints:
",
"RestoreDBClusterFromSnapshotMessage$EnableIAMDatabaseAuthentication": "A value that indicates whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled.
For more information, see IAM Database Authentication in the Amazon Aurora User Guide.
Valid for: Aurora DB clusters only
",
"RestoreDBClusterFromSnapshotMessage$DeletionProtection": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
"RestoreDBClusterFromSnapshotMessage$CopyTagsToSnapshot": "A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
@@ -630,6 +637,7 @@
"RestoreDBInstanceFromS3Message$EnablePerformanceInsights": "A value that indicates whether to enable Performance Insights for the DB instance.
For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.
",
"RestoreDBInstanceFromS3Message$UseDefaultProcessorFeatures": "A value that indicates whether the DB instance class of the DB instance uses its default processor features.
",
"RestoreDBInstanceFromS3Message$DeletionProtection": "A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see Deleting a DB Instance.
",
+ "RestoreDBInstanceFromS3Message$ManageMasterUserPassword": "A value that indicates whether to manage the master user password with Amazon Web Services Secrets Manager.
For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide.
Constraints:
",
"RestoreDBInstanceToPointInTimeMessage$MultiAZ": "A value that indicates whether the DB instance is a Multi-AZ deployment.
This setting doesn't apply to RDS Custom.
Constraint: You can't specify the AvailabilityZone
parameter if the DB instance is a Multi-AZ deployment.
",
"RestoreDBInstanceToPointInTimeMessage$PubliclyAccessible": "A value that indicates whether the DB instance is publicly accessible.
When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.
When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.
For more information, see CreateDBInstance.
",
"RestoreDBInstanceToPointInTimeMessage$AutoMinorVersionUpgrade": "A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.
This setting doesn't apply to RDS Custom.
",
@@ -2926,6 +2934,13 @@
"RestoreDBClusterToPointInTimeMessage$BacktrackWindow": "The target backtrack window, in seconds. To disable backtracking, set this value to 0.
Default: 0
Constraints:
Valid for: Aurora MySQL DB clusters only
"
}
},
+ "MasterUserSecret": {
+ "base": "Contains the secret managed by RDS in Amazon Web Services Secrets Manager for the master user password.
For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide and Password management with Amazon Web Services Secrets Manager in the Amazon Aurora User Guide.
",
+ "refs": {
+ "DBCluster$MasterUserSecret": "Contains the secret managed by RDS in Amazon Web Services Secrets Manager for the master user password.
For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide and Password management with Amazon Web Services Secrets Manager in the Amazon Aurora User Guide.
",
+ "DBInstance$MasterUserSecret": "Contains the secret managed by RDS in Amazon Web Services Secrets Manager for the master user password.
For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide.
"
+ }
+ },
"MaxRecords": {
"base": null,
"refs": {
@@ -3951,7 +3966,7 @@
"CreateDBClusterMessage$Engine": "The name of the database engine to be used for this DB cluster.
Valid Values:
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
"CreateDBClusterMessage$EngineVersion": "The version number of the database engine to use.
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 MySQL 5.7-compatible and MySQL 8.0-compatible Aurora, 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 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\"
Aurora MySQL
For information, see MySQL on Amazon RDS Versions in the Amazon Aurora User Guide.
Aurora PostgreSQL
For information, see Amazon Aurora PostgreSQL releases and engine versions in the Amazon Aurora User Guide.
MySQL
For information, see MySQL on Amazon RDS Versions in the Amazon RDS User Guide.
PostgreSQL
For information, see Amazon RDS for PostgreSQL versions and extensions in the Amazon RDS User Guide.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
"CreateDBClusterMessage$MasterUsername": "The name of the master user for the DB cluster.
Constraints:
-
Must be 1 to 16 letters or numbers.
-
First character must be a letter.
-
Can't be a reserved word for the chosen database engine.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
- "CreateDBClusterMessage$MasterUserPassword": "The password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".
Constraints: Must contain from 8 to 41 characters.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
+ "CreateDBClusterMessage$MasterUserPassword": "The password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".
Constraints:
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
"CreateDBClusterMessage$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.
",
"CreateDBClusterMessage$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:
-
Must be in the format hh24:mi-hh24:mi
.
-
Must be in Universal Coordinated Time (UTC).
-
Must not conflict with the preferred maintenance window.
-
Must be at least 30 minutes.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
"CreateDBClusterMessage$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
",
@@ -3968,6 +3983,7 @@
"CreateDBClusterMessage$PerformanceInsightsKMSKeyId": "The Amazon Web Services KMS key identifier for encryption of Performance Insights data.
The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.
If you don't specify a value for PerformanceInsightsKMSKeyId
, then Amazon RDS uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.
Valid for: Multi-AZ DB clusters only
",
"CreateDBClusterMessage$NetworkType": "The network type of the DB cluster.
Valid values:
The network type is determined by the DBSubnetGroup
specified for the DB cluster. A DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL
).
For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.
Valid for: Aurora DB clusters only
",
"CreateDBClusterMessage$DBSystemId": "Reserved for future use.
",
+ "CreateDBClusterMessage$MasterUserSecretKmsKeyId": "The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager.
This setting is valid only if the master user password is managed by RDS in Amazon Web Services Secrets Manager for the DB cluster.
The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.
If you don't specify MasterUserSecretKmsKeyId
, then the aws/secretsmanager
KMS key is used to encrypt the secret. If the secret is in a different Amazon Web Services account, then you can't use the aws/secretsmanager
KMS key to encrypt the secret, and you must use a customer managed KMS key.
There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
"CreateDBClusterParameterGroupMessage$DBClusterParameterGroupName": "The name of the DB cluster parameter group.
Constraints:
This value is stored as a lowercase string.
",
"CreateDBClusterParameterGroupMessage$DBParameterGroupFamily": "The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a database engine and engine version compatible with that DB cluster parameter group family.
Aurora MySQL
Example: aurora5.6
, aurora-mysql5.7
, aurora-mysql8.0
Aurora PostgreSQL
Example: aurora-postgresql9.6
RDS for MySQL
Example: mysql8.0
RDS for PostgreSQL
Example: postgres12
To list all of the available parameter group families for a DB engine, use the following command:
aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine <engine>
For example, to list all of the available parameter group families for the Aurora PostgreSQL DB engine, use the following command:
aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine aurora-postgresql
The output contains duplicates.
The following are the valid DB engine values:
",
"CreateDBClusterParameterGroupMessage$Description": "The description for the DB cluster parameter group.
",
@@ -3978,7 +3994,7 @@
"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:
-
aurora
(for MySQL 5.6-compatible Aurora)
-
aurora-mysql
(for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora)
-
aurora-postgresql
-
custom-oracle-ee (for RDS Custom for Oracle instances)
-
custom-sqlserver-ee (for RDS Custom for SQL Server instances)
-
custom-sqlserver-se (for RDS Custom for SQL Server instances)
-
custom-sqlserver-web (for RDS Custom for SQL Server instances)
-
mariadb
-
mysql
-
oracle-ee
-
oracle-ee-cdb
-
oracle-se2
-
oracle-se2-cdb
-
postgres
-
sqlserver-ee
-
sqlserver-se
-
sqlserver-ex
-
sqlserver-web
",
"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:
-
Required.
-
Must be 1 to 16 letters, numbers, or underscores.
-
First character must be a letter.
-
Can't be a reserved word for the chosen database engine.
",
- "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.
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$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.
",
"CreateDBInstanceMessage$DBSubnetGroupName": "A DB subnet group to associate with this DB instance.
Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.
Example: mydbsubnetgroup
",
"CreateDBInstanceMessage$PreferredMaintenanceWindow": "The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window.
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.
Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
Constraints: Minimum 30-minute window.
",
@@ -4002,6 +4018,7 @@
"CreateDBInstanceMessage$CustomIamInstanceProfile": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. The instance profile must meet the following requirements:
-
The profile must exist in your account.
-
The profile must have an IAM role that Amazon EC2 has permissions to assume.
-
The instance profile name and the associated IAM role name must start with the prefix AWSRDSCustom
.
For the list of permissions required for the IAM role, see Configure IAM and your VPC in the Amazon RDS User Guide.
This setting is required for RDS Custom.
",
"CreateDBInstanceMessage$BackupTarget": "Specifies where automated backups and manual snapshots are stored.
Possible values are outposts
(Amazon Web Services Outposts) and region
(Amazon Web Services Region). The default is region
.
For more information, see Working with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.
",
"CreateDBInstanceMessage$NetworkType": "The network type of the DB instance.
Valid values:
The network type is determined by the DBSubnetGroup
specified for the DB instance. A DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL
).
For more information, see Working with a DB instance in a VPC in the Amazon RDS User Guide.
",
+ "CreateDBInstanceMessage$MasterUserSecretKmsKeyId": "The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager.
This setting is valid only if the master user password is managed by RDS in Amazon Web Services Secrets Manager for the DB instance.
The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.
If you don't specify MasterUserSecretKmsKeyId
, then the aws/secretsmanager
KMS key is used to encrypt the secret. If the secret is in a different Amazon Web Services account, then you can't use the aws/secretsmanager
KMS key to encrypt the secret, and you must use a customer managed KMS key.
There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.
",
"CreateDBInstanceReadReplicaMessage$DBInstanceIdentifier": "The DB instance identifier of the read replica. This identifier is the unique key that identifies a DB instance. This parameter is stored as a lowercase string.
",
"CreateDBInstanceReadReplicaMessage$SourceDBInstanceIdentifier": "The identifier of the DB instance that will act as the source for the read replica. Each DB instance can have up to five read replicas.
Constraints:
-
Must be the identifier of an existing MySQL, MariaDB, Oracle, PostgreSQL, or SQL Server DB instance.
-
Can specify a DB instance that is a MySQL read replica only if the source is running MySQL 5.6 or later.
-
For the limitations of Oracle read replicas, see Read Replica Limitations with Oracle in the Amazon RDS User Guide.
-
For the limitations of SQL Server read replicas, see Read Replica Limitations with Microsoft SQL Server in the Amazon RDS User Guide.
-
Can specify a PostgreSQL DB instance only if the source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-Region replication).
-
The specified DB instance must have automatic backups enabled, that is, its backup retention period must be greater than 0.
-
If the source DB instance is in the same Amazon Web Services Region as the read replica, specify a valid DB instance identifier.
-
If the source DB instance is in a different Amazon Web Services Region from the read replica, specify a valid DB instance ARN. For more information, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide. This doesn't apply to SQL Server or RDS Custom, which don't support cross-Region replicas.
",
"CreateDBInstanceReadReplicaMessage$DBInstanceClass": "The compute and memory capacity of the read replica, for example db.m4.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.
Default: Inherits from the source DB instance.
",
@@ -4448,6 +4465,9 @@
"KeyList$member": null,
"ListTagsForResourceMessage$ResourceName": "The Amazon RDS resource with tags to be listed. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.
",
"LogTypeList$member": null,
+ "MasterUserSecret$SecretArn": "The Amazon Resource Name (ARN) of the secret.
",
+ "MasterUserSecret$SecretStatus": "The status of the secret.
The possible status values include the following:
-
creating
- The secret is being created.
-
active
- The secret is available for normal use and rotation.
-
rotating
- The secret is being rotated.
-
impaired
- The secret can be used to access database credentials, but it can't be rotated. A secret might have this status if, for example, permissions are changed so that RDS can no longer access either the secret or the KMS key for the secret.
When a secret has this status, you can correct the condition that caused the status. Alternatively, modify the DB instance to turn off automatic management of database credentials, and then modify the DB instance again to turn on automatic management of database credentials.
",
+ "MasterUserSecret$KmsKeyId": "The Amazon Web Services KMS key identifier that is used to encrypt the secret.
",
"MinimumEngineVersionPerAllowedValue$AllowedValue": "The allowed value for an option setting.
",
"MinimumEngineVersionPerAllowedValue$MinimumEngineVersion": "The minimum DB engine version required for the allowed value.
",
"ModifyActivityStreamRequest$ResourceArn": "The Amazon Resource Name (ARN) of the RDS for Oracle DB instance, for example, arn:aws:rds:us-east-1:12345667890:instance:my-orcl-db
.
",
@@ -4461,7 +4481,7 @@
"ModifyDBClusterMessage$DBClusterIdentifier": "The DB cluster identifier for the cluster being modified. This parameter isn't case-sensitive.
Constraints: This identifier must match the identifier of an existing DB cluster.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
"ModifyDBClusterMessage$NewDBClusterIdentifier": "The new DB cluster identifier for the DB cluster when renaming a DB cluster. This value is stored as a lowercase string.
Constraints:
-
Must contain from 1 to 63 letters, numbers, or hyphens
-
The first character must be a letter
-
Can't end with a hyphen or contain two consecutive hyphens
Example: my-cluster2
Valid for: Aurora DB clusters only
",
"ModifyDBClusterMessage$DBClusterParameterGroupName": "The name of the DB cluster parameter group to use for the DB cluster.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
- "ModifyDBClusterMessage$MasterUserPassword": "The new password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".
Constraints: Must contain from 8 to 41 characters.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
+ "ModifyDBClusterMessage$MasterUserPassword": "The new password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".
Constraints:
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
"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:
-
Must be in the format hh24:mi-hh24:mi
.
-
Must be in Universal Coordinated Time (UTC).
-
Must not conflict with the preferred maintenance window.
-
Must be at least 30 minutes.
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
",
@@ -4474,13 +4494,14 @@
"ModifyDBClusterMessage$MonitoringRoleArn": "The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is arn:aws:iam:123456789012:role/emaccess
. For information on creating a monitoring role, see 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, supply a MonitoringRoleArn
value.
Valid for: Multi-AZ DB clusters only
",
"ModifyDBClusterMessage$PerformanceInsightsKMSKeyId": "The Amazon Web Services KMS key identifier for encryption of Performance Insights data.
The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.
If you don't specify a value for PerformanceInsightsKMSKeyId
, then Amazon RDS uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.
Valid for: Multi-AZ DB clusters only
",
"ModifyDBClusterMessage$NetworkType": "The network type of the DB cluster.
Valid values:
The network type is determined by the DBSubnetGroup
specified for the DB cluster. A DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL
).
For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.
Valid for: Aurora DB clusters only
",
+ "ModifyDBClusterMessage$MasterUserSecretKmsKeyId": "The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager.
This setting is valid only if both of the following conditions are met:
-
The DB cluster doesn't manage the master user password in Amazon Web Services Secrets Manager.
If the DB cluster already manages the master user password in Amazon Web Services Secrets Manager, you can't change the KMS key that is used to encrypt the secret.
-
You are turning on ManageMasterUserPassword
to manage the master user password in Amazon Web Services Secrets Manager.
If you are turning on ManageMasterUserPassword
and don't specify MasterUserSecretKmsKeyId
, then the aws/secretsmanager
KMS key is used to encrypt the secret. If the secret is in a different Amazon Web Services account, then you can't use the aws/secretsmanager
KMS key to encrypt the secret, and you must use a customer managed KMS key.
The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.
There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
"ModifyDBClusterParameterGroupMessage$DBClusterParameterGroupName": "The name of the DB cluster parameter group to modify.
",
"ModifyDBClusterSnapshotAttributeMessage$DBClusterSnapshotIdentifier": "The identifier for the DB cluster snapshot to modify the attributes for.
",
"ModifyDBClusterSnapshotAttributeMessage$AttributeName": "The name of the DB cluster snapshot attribute to modify.
To manage authorization for other Amazon Web Services accounts to copy or restore a manual DB cluster snapshot, set this value to restore
.
To view the list of attributes available to modify, use the DescribeDBClusterSnapshotAttributes API operation.
",
"ModifyDBInstanceMessage$DBInstanceIdentifier": "The DB instance identifier. This value is stored as a lowercase string.
Constraints:
",
- "ModifyDBInstanceMessage$DBInstanceClass": "The new compute and memory capacity of the DB instance, for example db.m4.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide or Aurora DB instance classes in the Amazon Aurora User Guide. For RDS Custom, see DB instance class support for RDS Custom for Oracle and DB instance class support for RDS Custom for SQL Server.
If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless you specify ApplyImmediately
in your request.
Default: Uses existing setting
",
+ "ModifyDBInstanceMessage$DBInstanceClass": "The new compute and memory capacity of the DB instance, for example db.m4.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide or Aurora DB instance classes in the Amazon Aurora User Guide. For RDS Custom, see DB instance class support for RDS Custom for Oracle and DB instance class support for RDS Custom for SQL Server.
If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless you specify ApplyImmediately
in your request.
Default: Uses existing setting
",
"ModifyDBInstanceMessage$DBSubnetGroupName": "The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC. If your DB instance isn't in a VPC, you can also use this parameter to move your DB instance into a VPC. For more information, see Working with a DB instance in a VPC in the Amazon RDS User Guide.
Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you enable ApplyImmediately
.
This parameter doesn't apply to RDS Custom.
Constraints: If supplied, must match the name of an existing DBSubnetGroup.
Example: mydbsubnetgroup
",
- "ModifyDBInstanceMessage$MasterUserPassword": "The new password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".
Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword
element exists in the PendingModifiedValues
element of the operation response.
This setting doesn't apply to RDS Custom.
Amazon Aurora
Not applicable. The password for the master user is managed by the DB cluster. For more information, see ModifyDBCluster
.
Default: Uses existing setting
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.
Amazon RDS API operations never return the password, so this action provides a way to regain access to a primary instance user if the password is lost. This includes restoring privileges that might have been accidentally revoked.
",
+ "ModifyDBInstanceMessage$MasterUserPassword": "The new password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".
Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword
element exists in the PendingModifiedValues
element of the operation response.
This setting doesn't apply to RDS Custom.
Amazon Aurora
Not applicable. The password for the master user is managed by the DB cluster. For more information, see ModifyDBCluster
.
Default: Uses existing setting
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.
Amazon RDS API operations never return the password, so this action provides a way to regain access to a primary instance user if the password is lost. This includes restoring privileges that might have been accidentally revoked.
",
"ModifyDBInstanceMessage$DBParameterGroupName": "The name of the DB parameter group to apply to the DB instance.
Changing this setting doesn't result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. In this case, the DB instance isn't rebooted automatically, and the parameter changes aren't applied during the next maintenance window. However, if you modify dynamic parameters in the newly associated DB parameter group, these changes are applied immediately without a reboot.
This setting doesn't apply to RDS Custom.
Default: Uses existing setting
Constraints: The DB parameter group must be in the same DB parameter group family as the DB instance.
",
"ModifyDBInstanceMessage$PreferredBackupWindow": "The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod
parameter. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region. For more information, see Backup window in the Amazon RDS User Guide.
Amazon Aurora
Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see ModifyDBCluster
.
Constraints:
-
Must be in the format hh24:mi-hh24:mi
-
Must be in Universal Time Coordinated (UTC)
-
Must not conflict with the preferred maintenance window
-
Must be at least 30 minutes
",
"ModifyDBInstanceMessage$PreferredMaintenanceWindow": "The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter doesn't result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.
For more information, see Amazon RDS Maintenance Window in the Amazon RDS User Guide.
Default: Uses existing setting
Format: ddd:hh24:mi-ddd:hh24:mi
Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
Constraints: Must be at least 30 minutes
",
@@ -4497,6 +4518,7 @@
"ModifyDBInstanceMessage$DomainIAMRoleName": "The name of the IAM role to use when making API calls to the Directory Service.
This setting doesn't apply to RDS Custom.
",
"ModifyDBInstanceMessage$PerformanceInsightsKMSKeyId": "The Amazon Web Services KMS key identifier for encryption of Performance Insights data.
The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.
If you do not specify a value for PerformanceInsightsKMSKeyId
, then Amazon RDS uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.
This setting doesn't apply to RDS Custom.
",
"ModifyDBInstanceMessage$NetworkType": "The network type of the DB instance.
Valid values:
The network type is determined by the DBSubnetGroup
specified for the DB instance. A DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL
).
For more information, see Working with a DB instance in a VPC in the Amazon RDS User Guide.
",
+ "ModifyDBInstanceMessage$MasterUserSecretKmsKeyId": "The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager.
This setting is valid only if both of the following conditions are met:
-
The DB instance doesn't manage the master user password in Amazon Web Services Secrets Manager.
If the DB instance already manages the master user password in Amazon Web Services Secrets Manager, you can't change the KMS key used to encrypt the secret.
-
You are turning on ManageMasterUserPassword
to manage the master user password in Amazon Web Services Secrets Manager.
If you are turning on ManageMasterUserPassword
and don't specify MasterUserSecretKmsKeyId
, then the aws/secretsmanager
KMS key is used to encrypt the secret. If the secret is in a different Amazon Web Services account, then you can't use the aws/secretsmanager
KMS key to encrypt the secret, and you must use a customer managed KMS key.
The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.
There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.
",
"ModifyDBParameterGroupMessage$DBParameterGroupName": "The name of the DB parameter group.
Constraints:
",
"ModifyDBProxyRequest$DBProxyName": "The identifier for the DBProxy
to modify.
",
"ModifyDBProxyRequest$NewDBProxyName": "The new identifier for the DBProxy
. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.
",
@@ -4638,7 +4660,7 @@
"RestoreDBClusterFromS3Message$Engine": "The name of the database engine to be used for this DB cluster.
Valid Values: aurora
(for MySQL 5.6-compatible Aurora) and aurora-mysql
(for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora)
",
"RestoreDBClusterFromS3Message$EngineVersion": "The version number of the database engine to use.
To list all of the available engine versions for aurora
(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-mysql
(for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora), use the following command:
aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"
Aurora MySQL
Example: 5.6.10a
, 5.6.mysql_aurora.1.19.2
, 5.7.mysql_aurora.2.07.1
, 8.0.mysql_aurora.3.02.0
",
"RestoreDBClusterFromS3Message$MasterUsername": "The name of the master user for the restored DB cluster.
Constraints:
-
Must be 1 to 16 letters or numbers.
-
First character must be a letter.
-
Can't be a reserved word for the chosen database engine.
",
- "RestoreDBClusterFromS3Message$MasterUserPassword": "The password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".
Constraints: Must contain from 8 to 41 characters.
",
+ "RestoreDBClusterFromS3Message$MasterUserPassword": "The password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".
Constraints:
",
"RestoreDBClusterFromS3Message$OptionGroupName": "A value that indicates that the restored DB cluster should be associated with the specified option group.
Permanent options can't be removed from an option group. An option group can't be removed from a DB cluster once it is associated with a DB cluster.
",
"RestoreDBClusterFromS3Message$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:
-
Must be in the format hh24:mi-hh24:mi
.
-
Must be in Universal Coordinated Time (UTC).
-
Must not conflict with the preferred maintenance window.
-
Must be at least 30 minutes.
",
"RestoreDBClusterFromS3Message$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 Maintenance Window in the Amazon Aurora User Guide.
Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
Constraints: Minimum 30-minute window.
",
@@ -4651,6 +4673,7 @@
"RestoreDBClusterFromS3Message$Domain": "Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior to this operation.
For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB cluster. For more information, see Kerberos Authentication in the Amazon Aurora User Guide.
",
"RestoreDBClusterFromS3Message$DomainIAMRoleName": "Specify the name of the IAM role to be used when making API calls to the Directory Service.
",
"RestoreDBClusterFromS3Message$NetworkType": "The network type of the DB cluster.
Valid values:
The network type is determined by the DBSubnetGroup
specified for the DB cluster. A DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL
).
For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.
",
+ "RestoreDBClusterFromS3Message$MasterUserSecretKmsKeyId": "The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager.
This setting is valid only if the master user password is managed by RDS in Amazon Web Services Secrets Manager for the DB cluster.
The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.
If you don't specify MasterUserSecretKmsKeyId
, then the aws/secretsmanager
KMS key is used to encrypt the secret. If the secret is in a different Amazon Web Services account, then you can't use the aws/secretsmanager
KMS key to encrypt the secret, and you must use a customer managed KMS key.
There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.
",
"RestoreDBClusterFromSnapshotMessage$DBClusterIdentifier": "The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. This parameter isn't case-sensitive.
Constraints:
-
Must contain from 1 to 63 letters, numbers, or hyphens
-
First character must be a letter
-
Can't end with a hyphen or contain two consecutive hyphens
Example: my-snapshot-id
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
"RestoreDBClusterFromSnapshotMessage$SnapshotIdentifier": "The identifier for the DB snapshot or DB cluster snapshot to restore from.
You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.
Constraints:
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
"RestoreDBClusterFromSnapshotMessage$Engine": "The database engine to use for the new DB cluster.
Default: The same as source
Constraint: Must be compatible with the engine of the source
Valid for: Aurora DB clusters and Multi-AZ DB clusters
",
@@ -4703,7 +4726,7 @@
"RestoreDBInstanceFromS3Message$DBInstanceClass": "The compute and memory capacity of the DB instance, for example db.m4.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.
Importing from Amazon S3 isn't supported on the db.t2.micro DB instance class.
",
"RestoreDBInstanceFromS3Message$Engine": "The name of the database engine to be used for this instance.
Valid Values: mysql
",
"RestoreDBInstanceFromS3Message$MasterUsername": "The name for the master user.
Constraints:
-
Must be 1 to 16 letters or numbers.
-
First character must be a letter.
-
Can't be a reserved word for the chosen database engine.
",
- "RestoreDBInstanceFromS3Message$MasterUserPassword": "The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".
Constraints: Must contain from 8 to 41 characters.
",
+ "RestoreDBInstanceFromS3Message$MasterUserPassword": "The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".
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.
",
"RestoreDBInstanceFromS3Message$AvailabilityZone": "The Availability Zone that the DB instance is created in. For information about Amazon Web Services Regions and Availability Zones, see Regions and Availability Zones in the Amazon RDS User Guide.
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.
",
"RestoreDBInstanceFromS3Message$DBSubnetGroupName": "A DB subnet group to associate with this DB instance.
Constraints: If supplied, must match the name of an existing DBSubnetGroup.
Example: mydbsubnetgroup
",
"RestoreDBInstanceFromS3Message$PreferredMaintenanceWindow": "The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window in the Amazon RDS User Guide.
Constraints:
-
Must be in the format ddd:hh24:mi-ddd:hh24:mi
.
-
Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
-
Must be in Universal Coordinated Time (UTC).
-
Must not conflict with the preferred backup window.
-
Must be at least 30 minutes.
",
@@ -4722,6 +4745,7 @@
"RestoreDBInstanceFromS3Message$S3IngestionRoleArn": "An Amazon Web Services Identity and Access Management (IAM) role to allow Amazon RDS to access your Amazon S3 bucket.
",
"RestoreDBInstanceFromS3Message$PerformanceInsightsKMSKeyId": "The Amazon Web Services KMS key identifier for encryption of Performance Insights data.
The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.
If you do not specify a value for PerformanceInsightsKMSKeyId
, then Amazon RDS uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.
",
"RestoreDBInstanceFromS3Message$NetworkType": "The network type of the DB instance.
Valid values:
The network type is determined by the DBSubnetGroup
specified for the DB instance. A DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL
).
For more information, see Working with a DB instance in a VPC in the Amazon RDS User Guide.
",
+ "RestoreDBInstanceFromS3Message$MasterUserSecretKmsKeyId": "The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager.
This setting is valid only if the master user password is managed by RDS in Amazon Web Services Secrets Manager for the DB instance.
The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.
If you don't specify MasterUserSecretKmsKeyId
, then the aws/secretsmanager
KMS key is used to encrypt the secret. If the secret is in a different Amazon Web Services account, then you can't use the aws/secretsmanager
KMS key to encrypt the secret, and you must use a customer managed KMS key.
There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.
",
"RestoreDBInstanceToPointInTimeMessage$SourceDBInstanceIdentifier": "The identifier of the source DB instance from which to restore.
Constraints:
",
"RestoreDBInstanceToPointInTimeMessage$TargetDBInstanceIdentifier": "The name of the new DB instance to be created.
Constraints:
-
Must contain from 1 to 63 letters, numbers, or hyphens
-
First character must be a letter
-
Can't end with a hyphen or contain two consecutive hyphens
",
"RestoreDBInstanceToPointInTimeMessage$DBInstanceClass": "The compute and memory capacity of the Amazon RDS DB instance, for example db.m4.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.
Default: The same DBInstanceClass as the original DB instance.
",
diff --git a/models/apis/secretsmanager/2017-10-17/docs-2.json b/models/apis/secretsmanager/2017-10-17/docs-2.json
index b94b62821a1..0920b69e374 100644
--- a/models/apis/secretsmanager/2017-10-17/docs-2.json
+++ b/models/apis/secretsmanager/2017-10-17/docs-2.json
@@ -1,9 +1,9 @@
{
"version": "2.0",
- "service": "Amazon Web Services Secrets Manager Amazon Web Services Secrets Manager provides a service to enable you to store, manage, and retrieve, secrets.
This guide provides descriptions of the Secrets Manager API. For more information about using this service, see the Amazon Web Services Secrets Manager User Guide.
API Version
This version of the Secrets Manager API Reference documents the Secrets Manager API version 2017-10-17.
Support and Feedback for Amazon Web Services Secrets Manager
We welcome your feedback. Send your comments to awssecretsmanager-feedback@amazon.com, or post your feedback and questions in the Amazon Web Services Secrets Manager Discussion Forum. For more information about the Amazon Web Services Discussion Forums, see Forums Help.
Logging API Requests
Amazon Web Services Secrets Manager supports Amazon Web Services CloudTrail, a service that records Amazon Web Services API calls for your Amazon Web Services account and delivers log files to an Amazon S3 bucket. By using information that's collected by Amazon Web Services CloudTrail, you can determine the requests successfully made to Secrets Manager, who made the request, when it was made, and so on. For more about Amazon Web Services Secrets Manager and support for Amazon Web Services CloudTrail, see Logging Amazon Web Services Secrets Manager Events with Amazon Web Services CloudTrail in the Amazon Web Services Secrets Manager User Guide. To learn more about CloudTrail, including enabling it and find your log files, see the Amazon Web Services CloudTrail User Guide.
",
+ "service": "Amazon Web Services Secrets Manager Amazon Web Services Secrets Manager provides a service to enable you to store, manage, and retrieve, secrets.
This guide provides descriptions of the Secrets Manager API. For more information about using this service, see the Amazon Web Services Secrets Manager User Guide.
API Version
This version of the Secrets Manager API Reference documents the Secrets Manager API version 2017-10-17.
For a list of endpoints, see Amazon Web Services Secrets Manager endpoints.
Support and Feedback for Amazon Web Services Secrets Manager
We welcome your feedback. Send your comments to awssecretsmanager-feedback@amazon.com, or post your feedback and questions in the Amazon Web Services Secrets Manager Discussion Forum. For more information about the Amazon Web Services Discussion Forums, see Forums Help.
Logging API Requests
Amazon Web Services Secrets Manager supports Amazon Web Services CloudTrail, a service that records Amazon Web Services API calls for your Amazon Web Services account and delivers log files to an Amazon S3 bucket. By using information that's collected by Amazon Web Services CloudTrail, you can determine the requests successfully made to Secrets Manager, who made the request, when it was made, and so on. For more about Amazon Web Services Secrets Manager and support for Amazon Web Services CloudTrail, see Logging Amazon Web Services Secrets Manager Events with Amazon Web Services CloudTrail in the Amazon Web Services Secrets Manager User Guide. To learn more about CloudTrail, including enabling it and find your log files, see the Amazon Web Services CloudTrail User Guide.
",
"operations": {
"CancelRotateSecret": "Turns off automatic rotation, and if a rotation is currently in progress, cancels the rotation.
If you cancel a rotation in progress, it can leave the VersionStage
labels in an unexpected state. You might need to remove the staging label AWSPENDING
from the partially created version. You also need to determine whether to roll back to the previous version of the secret by moving the staging label AWSCURRENT
to the version that has AWSPENDING
. To determine which version has a specific staging label, call ListSecretVersionIds. Then use UpdateSecretVersionStage to change staging labels. For more information, see How rotation works.
To turn on automatic rotation again, call RotateSecret.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:CancelRotateSecret
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.
",
- "CreateSecret": "Creates a new secret. A secret can be a password, a set of credentials such as a user name and password, an OAuth token, or other secret information that you store in an encrypted form in Secrets Manager. The secret also includes the connection information to access a database or other service, which Secrets Manager doesn't encrypt. A secret in Secrets Manager consists of both the protected secret data and the important information needed to manage the secret.
For information about creating a secret in the console, see Create a secret.
To create a secret, you can provide the secret value to be encrypted in either the SecretString
parameter or the SecretBinary
parameter, but not both. If you include SecretString
or SecretBinary
then Secrets Manager creates an initial secret version and automatically attaches the staging label AWSCURRENT
to it.
For database credentials you want to rotate, for Secrets Manager to be able to rotate the secret, you must make sure the JSON you store in the SecretString
matches the JSON structure of a database secret.
If you don't specify an KMS encryption key, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager
. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager
. Creating aws/secretsmanager
can result in a one-time significant delay in returning the result.
If the secret is in a different Amazon Web Services account from the credentials calling the API, then you can't use aws/secretsmanager
to encrypt the secret, and you must create and use a customer managed KMS key.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary
or SecretString
because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:CreateSecret
. If you include tags in the secret, you also need secretsmanager:TagResource
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.
To encrypt the secret with a KMS key other than aws/secretsmanager
, you need kms:GenerateDataKey
and kms:Decrypt
permission to the key.
",
+ "CreateSecret": "Creates a new secret. A secret can be a password, a set of credentials such as a user name and password, an OAuth token, or other secret information that you store in an encrypted form in Secrets Manager. The secret also includes the connection information to access a database or other service, which Secrets Manager doesn't encrypt. A secret in Secrets Manager consists of both the protected secret data and the important information needed to manage the secret.
For secrets that use managed rotation, you need to create the secret through the managing service. For more information, see Secrets Manager secrets managed by other Amazon Web Services services.
For information about creating a secret in the console, see Create a secret.
To create a secret, you can provide the secret value to be encrypted in either the SecretString
parameter or the SecretBinary
parameter, but not both. If you include SecretString
or SecretBinary
then Secrets Manager creates an initial secret version and automatically attaches the staging label AWSCURRENT
to it.
For database credentials you want to rotate, for Secrets Manager to be able to rotate the secret, you must make sure the JSON you store in the SecretString
matches the JSON structure of a database secret.
If you don't specify an KMS encryption key, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager
. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager
. Creating aws/secretsmanager
can result in a one-time significant delay in returning the result.
If the secret is in a different Amazon Web Services account from the credentials calling the API, then you can't use aws/secretsmanager
to encrypt the secret, and you must create and use a customer managed KMS key.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary
or SecretString
because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:CreateSecret
. If you include tags in the secret, you also need secretsmanager:TagResource
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.
To encrypt the secret with a KMS key other than aws/secretsmanager
, you need kms:GenerateDataKey
and kms:Decrypt
permission to the key.
",
"DeleteResourcePolicy": "Deletes the resource-based permission policy attached to the secret. To attach a policy to a secret, use PutResourcePolicy.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:DeleteResourcePolicy
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.
",
"DeleteSecret": "Deletes a secret and all of its versions. You can specify a recovery window during which you can restore the secret. The minimum recovery window is 7 days. The default recovery window is 30 days. Secrets Manager attaches a DeletionDate
stamp to the secret that specifies the end of the recovery window. At the end of the recovery window, Secrets Manager deletes the secret permanently.
You can't delete a primary secret that is replicated to other Regions. You must first delete the replicas using RemoveRegionsFromReplication, and then delete the primary secret. When you delete a replica, it is deleted immediately.
You can't directly delete a version of a secret. Instead, you remove all staging labels from the version using UpdateSecretVersionStage. This marks the version as deprecated, and then Secrets Manager can automatically delete the version in the background.
To determine whether an application still uses a secret, you can create an Amazon CloudWatch alarm to alert you to any attempts to access a secret during the recovery window. For more information, see Monitor secrets scheduled for deletion.
Secrets Manager performs the permanent secret deletion at the end of the waiting period as a background task with low priority. There is no guarantee of a specific time after the recovery window for the permanent delete to occur.
At any time before recovery window ends, you can use RestoreSecret to remove the DeletionDate
and cancel the deletion of the secret.
When a secret is scheduled for deletion, you cannot retrieve the secret value. You must first cancel the deletion with RestoreSecret and then you can retrieve the secret.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:DeleteSecret
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.
",
"DescribeSecret": "Retrieves the details of a secret. It does not include the encrypted secret value. Secrets Manager only returns fields that have a value in the response.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:DescribeSecret
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.
",
@@ -17,11 +17,11 @@
"RemoveRegionsFromReplication": "For a secret that is replicated to other Regions, deletes the secret replicas from the Regions you specify.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:RemoveRegionsFromReplication
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.
",
"ReplicateSecretToRegions": "Replicates the secret to a new Regions. See Multi-Region secrets.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:ReplicateSecretToRegions
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.
",
"RestoreSecret": "Cancels the scheduled deletion of a secret by removing the DeletedDate
time stamp. You can access a secret again after it has been restored.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:RestoreSecret
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.
",
- "RotateSecret": "Configures and starts the asynchronous process of rotating the secret. For more information about rotation, see Rotate secrets.
If you include the configuration parameters, the operation sets the values for the secret and then immediately starts a rotation. If you don't include the configuration parameters, the operation starts a rotation with the values already stored in the secret.
For database credentials you want to rotate, for Secrets Manager to be able to rotate the secret, you must make sure the secret value is in the JSON structure of a database secret. In particular, if you want to use the alternating users strategy, your secret must contain the ARN of a superuser secret.
To configure rotation, you also need the ARN of an Amazon Web Services Lambda function and the schedule for the rotation. The Lambda rotation function creates a new version of the secret and creates or updates the credentials on the database or service to match. After testing the new credentials, the function marks the new secret version with the staging label AWSCURRENT
. Then anyone who retrieves the secret gets the new version. For more information, see How rotation works.
You can create the Lambda rotation function based on the rotation function templates that Secrets Manager provides. Choose a template that matches your Rotation strategy.
When rotation is successful, the AWSPENDING
staging label might be attached to the same version as the AWSCURRENT
version, or it might not be attached to any version. If the AWSPENDING
staging label is present but not attached to the same version as AWSCURRENT
, then any later invocation of RotateSecret
assumes that a previous rotation request is still in progress and returns an error.
When rotation is unsuccessful, the AWSPENDING
staging label might be attached to an empty secret version. For more information, see Troubleshoot rotation in the Secrets Manager User Guide.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:RotateSecret
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager. You also need lambda:InvokeFunction
permissions on the rotation function. For more information, see Permissions for rotation.
",
+ "RotateSecret": "Configures and starts the asynchronous process of rotating the secret. For information about rotation, see Rotate secrets in the Secrets Manager User Guide. If you include the configuration parameters, the operation sets the values for the secret and then immediately starts a rotation. If you don't include the configuration parameters, the operation starts a rotation with the values already stored in the secret.
When rotation is successful, the AWSPENDING
staging label might be attached to the same version as the AWSCURRENT
version, or it might not be attached to any version. If the AWSPENDING
staging label is present but not attached to the same version as AWSCURRENT
, then any later invocation of RotateSecret
assumes that a previous rotation request is still in progress and returns an error. When rotation is unsuccessful, the AWSPENDING
staging label might be attached to an empty secret version. For more information, see Troubleshoot rotation in the Secrets Manager User Guide.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:RotateSecret
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager. You also need lambda:InvokeFunction
permissions on the rotation function. For more information, see Permissions for rotation.
",
"StopReplicationToReplica": "Removes the link between the replica secret and the primary secret and promotes the replica to a primary secret in the replica Region.
You must call this operation from the Region in which you want to promote the replica to a primary secret.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:StopReplicationToReplica
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.
",
"TagResource": "Attaches tags to a secret. Tags consist of a key name and a value. Tags are part of the secret's metadata. They are not associated with specific versions of the secret. This operation appends tags to the existing list of tags.
The following restrictions apply to tags:
-
Maximum number of tags per secret: 50
-
Maximum key length: 127 Unicode characters in UTF-8
-
Maximum value length: 255 Unicode characters in UTF-8
-
Tag keys and values are case sensitive.
-
Do not use the aws:
prefix in your tag names or values because Amazon Web Services reserves it for Amazon Web Services use. You can't edit or delete tag names or values with this prefix. Tags with this prefix do not count against your tags per secret limit.
-
If you use your tagging schema across multiple services and resources, other services might have restrictions on allowed characters. Generally allowed characters: letters, spaces, and numbers representable in UTF-8, plus the following special characters: + - = . _ : / @.
If you use tags as part of your security strategy, then adding or removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:TagResource
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.
",
"UntagResource": "Removes specific tags from a secret.
This operation is idempotent. If a requested tag is not attached to the secret, no error is returned and the secret metadata is unchanged.
If you use tags as part of your security strategy, then removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:UntagResource
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.
",
- "UpdateSecret": "Modifies the details of a secret, including metadata and the secret value. To change the secret value, you can also use PutSecretValue.
To change the rotation configuration of a secret, use RotateSecret instead.
We recommend you avoid calling UpdateSecret
at a sustained rate of more than once every 10 minutes. When you call UpdateSecret
to update the secret value, Secrets Manager creates a new version of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not remove versions created less than 24 hours ago. If you update the secret value more than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach the quota for secret versions.
If you include SecretString
or SecretBinary
to create a new secret version, Secrets Manager automatically moves the staging label AWSCURRENT
to the new version. Then it attaches the label AWSPREVIOUS
to the version that AWSCURRENT
was removed from.
If you call this operation with a ClientRequestToken
that matches an existing version's VersionId
, the operation results in an error. You can't modify an existing version, you can only create a new version. To remove a version, remove all staging labels from it. See UpdateSecretVersionStage.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary
or SecretString
because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:UpdateSecret
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager. If you use a customer managed key, you must also have kms:GenerateDataKey
and kms:Decrypt
permissions on the key. For more information, see Secret encryption and decryption.
",
+ "UpdateSecret": "Modifies the details of a secret, including metadata and the secret value. To change the secret value, you can also use PutSecretValue.
To change the rotation configuration of a secret, use RotateSecret instead.
To change a secret so that it is managed by another service, you need to recreate the secret in that service. See Secrets Manager secrets managed by other Amazon Web Services services.
We recommend you avoid calling UpdateSecret
at a sustained rate of more than once every 10 minutes. When you call UpdateSecret
to update the secret value, Secrets Manager creates a new version of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not remove versions created less than 24 hours ago. If you update the secret value more than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach the quota for secret versions.
If you include SecretString
or SecretBinary
to create a new secret version, Secrets Manager automatically moves the staging label AWSCURRENT
to the new version. Then it attaches the label AWSPREVIOUS
to the version that AWSCURRENT
was removed from.
If you call this operation with a ClientRequestToken
that matches an existing version's VersionId
, the operation results in an error. You can't modify an existing version, you can only create a new version. To remove a version, remove all staging labels from it. See UpdateSecretVersionStage.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary
or SecretString
because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:UpdateSecret
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager. If you use a customer managed key, you must also have kms:GenerateDataKey
and kms:Decrypt
permissions on the key. For more information, see Secret encryption and decryption.
",
"UpdateSecretVersionStage": "Modifies the staging labels attached to a version of a secret. Secrets Manager uses staging labels to track a version as it progresses through the secret rotation process. Each staging label can be attached to only one version at a time. To add a staging label to a version when it is already attached to another version, Secrets Manager first removes it from the other version first and then attaches it to this one. For more information about versions and staging labels, see Concepts: Version.
The staging labels that you specify in the VersionStage
parameter are added to the existing list of staging labels for the version.
You can move the AWSCURRENT
staging label to this version by including it in this call.
Whenever you move AWSCURRENT
, Secrets Manager automatically moves the label AWSPREVIOUS
to the version that AWSCURRENT
was removed from.
If this action results in the last label being removed from a version, then the version is considered to be 'deprecated' and can be deleted by Secrets Manager.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:UpdateSecretVersionStage
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.
",
"ValidateResourcePolicy": "Validates that a resource policy does not grant a wide range of principals access to your secret. A resource-based policy is optional for secrets.
The API performs three checks when validating the policy:
-
Sends a call to Zelkova, an automated reasoning engine, to ensure your resource policy does not allow broad access to your secret, for example policies that use a wildcard for the principal.
-
Checks for correct syntax in a policy.
-
Verifies the policy does not lock out a caller.
Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.
Required permissions: secretsmanager:ValidateResourcePolicy
. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.
"
},
@@ -47,7 +47,7 @@
"ListSecretVersionIdsRequest$IncludeDeprecated": "Specifies whether to include versions of secrets that don't have any staging labels attached to them. Versions without staging labels are considered deprecated and are subject to deletion by Secrets Manager.
",
"PutResourcePolicyRequest$BlockPublicPolicy": "Specifies whether to block resource-based policies that allow broad access to the secret, for example those that use a wildcard for the principal.
",
"ReplicateSecretToRegionsRequest$ForceOverwriteReplicaSecret": "Specifies whether to overwrite a secret with the same name in the destination Region.
",
- "RotateSecretRequest$RotateImmediately": "Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window. The rotation schedule is defined in RotateSecretRequest$RotationRules.
If you don't immediately rotate the secret, Secrets Manager tests the rotation configuration by running the testSecret
step of the Lambda rotation function. The test creates an AWSPENDING
version of the secret and then removes it.
If you don't specify this value, then by default, Secrets Manager rotates the secret immediately.
",
+ "RotateSecretRequest$RotateImmediately": "Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window. The rotation schedule is defined in RotateSecretRequest$RotationRules.
For secrets that use a Lambda rotation function to rotate, if you don't immediately rotate the secret, Secrets Manager tests the rotation configuration by running the testSecret
step of the Lambda rotation function. The test creates an AWSPENDING
version of the secret and then removes it.
If you don't specify this value, then by default, Secrets Manager rotates the secret immediately.
",
"ValidateResourcePolicyResponse$PolicyValidationPassed": "True if your policy passes validation, otherwise false.
"
}
},
@@ -553,7 +553,7 @@
"base": null,
"refs": {
"DescribeSecretResponse$RotationLambdaARN": "The ARN of the Lambda function that Secrets Manager invokes to rotate the secret.
",
- "RotateSecretRequest$RotationLambdaARN": "The ARN of the Lambda rotation function that can rotate the secret.
",
+ "RotateSecretRequest$RotationLambdaARN": "For secrets that use a Lambda rotation function to rotate, the ARN of the Lambda rotation function.
For secrets that use managed rotation, omit this field. For more information, see Managed rotation in the Secrets Manager User Guide.
",
"SecretListEntry$RotationLambdaARN": "The ARN of an Amazon Web Services Lambda function invoked by Secrets Manager to rotate and expire the secret either automatically per the schedule or manually by a call to RotateSecret
.
"
}
},
diff --git a/models/apis/secretsmanager/2017-10-17/endpoint-rule-set-1.json b/models/apis/secretsmanager/2017-10-17/endpoint-rule-set-1.json
index 870860755a2..abd9f15e405 100644
--- a/models/apis/secretsmanager/2017-10-17/endpoint-rule-set-1.json
+++ b/models/apis/secretsmanager/2017-10-17/endpoint-rule-set-1.json
@@ -3,7 +3,7 @@
"parameters": {
"Region": {
"builtIn": "AWS::Region",
- "required": false,
+ "required": true,
"documentation": "The AWS region used to dispatch the request.",
"type": "String"
},
@@ -52,15 +52,6 @@
"ref": "Endpoint"
}
]
- },
- {
- "fn": "parseURL",
- "argv": [
- {
- "ref": "Endpoint"
- }
- ],
- "assign": "url"
}
],
"type": "tree",
diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json
index cd6ed5212b6..1b6029560ba 100644
--- a/models/endpoints/endpoints.json
+++ b/models/endpoints/endpoints.json
@@ -8960,6 +8960,75 @@
}
}
},
+ "license-manager-linux-subscriptions" : {
+ "endpoints" : {
+ "ap-northeast-1" : { },
+ "ap-northeast-2" : { },
+ "ap-northeast-3" : { },
+ "ap-south-1" : { },
+ "ap-southeast-1" : { },
+ "ap-southeast-2" : { },
+ "ca-central-1" : { },
+ "eu-central-1" : { },
+ "eu-north-1" : { },
+ "eu-west-1" : { },
+ "eu-west-2" : { },
+ "eu-west-3" : { },
+ "fips-us-east-1" : {
+ "credentialScope" : {
+ "region" : "us-east-1"
+ },
+ "deprecated" : true,
+ "hostname" : "license-manager-linux-subscriptions-fips.us-east-1.amazonaws.com"
+ },
+ "fips-us-east-2" : {
+ "credentialScope" : {
+ "region" : "us-east-2"
+ },
+ "deprecated" : true,
+ "hostname" : "license-manager-linux-subscriptions-fips.us-east-2.amazonaws.com"
+ },
+ "fips-us-west-1" : {
+ "credentialScope" : {
+ "region" : "us-west-1"
+ },
+ "deprecated" : true,
+ "hostname" : "license-manager-linux-subscriptions-fips.us-west-1.amazonaws.com"
+ },
+ "fips-us-west-2" : {
+ "credentialScope" : {
+ "region" : "us-west-2"
+ },
+ "deprecated" : true,
+ "hostname" : "license-manager-linux-subscriptions-fips.us-west-2.amazonaws.com"
+ },
+ "sa-east-1" : { },
+ "us-east-1" : {
+ "variants" : [ {
+ "hostname" : "license-manager-linux-subscriptions-fips.us-east-1.amazonaws.com",
+ "tags" : [ "fips" ]
+ } ]
+ },
+ "us-east-2" : {
+ "variants" : [ {
+ "hostname" : "license-manager-linux-subscriptions-fips.us-east-2.amazonaws.com",
+ "tags" : [ "fips" ]
+ } ]
+ },
+ "us-west-1" : {
+ "variants" : [ {
+ "hostname" : "license-manager-linux-subscriptions-fips.us-west-1.amazonaws.com",
+ "tags" : [ "fips" ]
+ } ]
+ },
+ "us-west-2" : {
+ "variants" : [ {
+ "hostname" : "license-manager-linux-subscriptions-fips.us-west-2.amazonaws.com",
+ "tags" : [ "fips" ]
+ } ]
+ }
+ }
+ },
"license-manager-user-subscriptions" : {
"endpoints" : {
"af-south-1" : { },
@@ -13232,19 +13301,67 @@
},
"servicediscovery" : {
"endpoints" : {
- "af-south-1" : { },
- "ap-east-1" : { },
- "ap-northeast-1" : { },
- "ap-northeast-2" : { },
- "ap-northeast-3" : { },
- "ap-south-1" : { },
- "ap-southeast-1" : { },
- "ap-southeast-2" : { },
- "ap-southeast-3" : { },
+ "af-south-1" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.af-south-1.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
+ "ap-east-1" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.ap-east-1.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
+ "ap-northeast-1" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.ap-northeast-1.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
+ "ap-northeast-2" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.ap-northeast-2.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
+ "ap-northeast-3" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.ap-northeast-3.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
+ "ap-south-1" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.ap-south-1.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
+ "ap-southeast-1" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.ap-southeast-1.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
+ "ap-southeast-2" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.ap-southeast-2.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
+ "ap-southeast-3" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.ap-southeast-3.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
"ca-central-1" : {
"variants" : [ {
"hostname" : "servicediscovery-fips.ca-central-1.amazonaws.com",
"tags" : [ "fips" ]
+ }, {
+ "hostname" : "servicediscovery.ca-central-1.amazonaws.com",
+ "tags" : [ "dualstack" ]
} ]
},
"ca-central-1-fips" : {
@@ -13254,15 +13371,60 @@
"deprecated" : true,
"hostname" : "servicediscovery-fips.ca-central-1.amazonaws.com"
},
- "eu-central-1" : { },
- "eu-north-1" : { },
- "eu-south-1" : { },
- "eu-west-1" : { },
- "eu-west-2" : { },
- "eu-west-3" : { },
- "me-central-1" : { },
- "me-south-1" : { },
- "sa-east-1" : { },
+ "eu-central-1" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.eu-central-1.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
+ "eu-north-1" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.eu-north-1.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
+ "eu-south-1" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.eu-south-1.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
+ "eu-west-1" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.eu-west-1.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
+ "eu-west-2" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.eu-west-2.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
+ "eu-west-3" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.eu-west-3.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
+ "me-central-1" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.me-central-1.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
+ "me-south-1" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.me-south-1.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
+ "sa-east-1" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.sa-east-1.amazonaws.com",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
"servicediscovery" : {
"credentialScope" : {
"region" : "ca-central-1"
@@ -13284,6 +13446,9 @@
"variants" : [ {
"hostname" : "servicediscovery-fips.us-east-1.amazonaws.com",
"tags" : [ "fips" ]
+ }, {
+ "hostname" : "servicediscovery.us-east-1.amazonaws.com",
+ "tags" : [ "dualstack" ]
} ]
},
"us-east-1-fips" : {
@@ -13297,6 +13462,9 @@
"variants" : [ {
"hostname" : "servicediscovery-fips.us-east-2.amazonaws.com",
"tags" : [ "fips" ]
+ }, {
+ "hostname" : "servicediscovery.us-east-2.amazonaws.com",
+ "tags" : [ "dualstack" ]
} ]
},
"us-east-2-fips" : {
@@ -13310,6 +13478,9 @@
"variants" : [ {
"hostname" : "servicediscovery-fips.us-west-1.amazonaws.com",
"tags" : [ "fips" ]
+ }, {
+ "hostname" : "servicediscovery.us-west-1.amazonaws.com",
+ "tags" : [ "dualstack" ]
} ]
},
"us-west-1-fips" : {
@@ -13323,6 +13494,9 @@
"variants" : [ {
"hostname" : "servicediscovery-fips.us-west-2.amazonaws.com",
"tags" : [ "fips" ]
+ }, {
+ "hostname" : "servicediscovery.us-west-2.amazonaws.com",
+ "tags" : [ "dualstack" ]
} ]
},
"us-west-2-fips" : {
@@ -17021,8 +17195,18 @@
},
"servicediscovery" : {
"endpoints" : {
- "cn-north-1" : { },
- "cn-northwest-1" : { }
+ "cn-north-1" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.cn-north-1.amazonaws.com.cn",
+ "tags" : [ "dualstack" ]
+ } ]
+ },
+ "cn-northwest-1" : {
+ "variants" : [ {
+ "hostname" : "servicediscovery.cn-northwest-1.amazonaws.com.cn",
+ "tags" : [ "dualstack" ]
+ } ]
+ }
}
},
"sms" : {
@@ -20380,6 +20564,9 @@
"variants" : [ {
"hostname" : "servicediscovery-fips.us-gov-east-1.amazonaws.com",
"tags" : [ "fips" ]
+ }, {
+ "hostname" : "servicediscovery.us-gov-east-1.amazonaws.com",
+ "tags" : [ "dualstack" ]
} ]
},
"us-gov-east-1-fips" : {
@@ -20393,6 +20580,9 @@
"variants" : [ {
"hostname" : "servicediscovery-fips.us-gov-west-1.amazonaws.com",
"tags" : [ "fips" ]
+ }, {
+ "hostname" : "servicediscovery.us-gov-west-1.amazonaws.com",
+ "tags" : [ "dualstack" ]
} ]
},
"us-gov-west-1-fips" : {
diff --git a/service/computeoptimizer/api.go b/service/computeoptimizer/api.go
index aefd641bb59..2c2da806780 100644
--- a/service/computeoptimizer/api.go
+++ b/service/computeoptimizer/api.go
@@ -148,6 +148,12 @@ func (c *ComputeOptimizer) DescribeRecommendationExportJobsRequest(input *Descri
Name: opDescribeRecommendationExportJobs,
HTTPMethod: "POST",
HTTPPath: "/",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"nextToken"},
+ OutputTokens: []string{"nextToken"},
+ LimitToken: "maxResults",
+ TruncationToken: "",
+ },
}
if input == nil {
@@ -223,6 +229,57 @@ func (c *ComputeOptimizer) DescribeRecommendationExportJobsWithContext(ctx aws.C
return out, req.Send()
}
+// DescribeRecommendationExportJobsPages iterates over the pages of a DescribeRecommendationExportJobs operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See DescribeRecommendationExportJobs method for more information on how to use this operation.
+//
+// Note: This operation can generate multiple requests to a service.
+//
+// // Example iterating over at most 3 pages of a DescribeRecommendationExportJobs operation.
+// pageNum := 0
+// err := client.DescribeRecommendationExportJobsPages(params,
+// func(page *computeoptimizer.DescribeRecommendationExportJobsOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+func (c *ComputeOptimizer) DescribeRecommendationExportJobsPages(input *DescribeRecommendationExportJobsInput, fn func(*DescribeRecommendationExportJobsOutput, bool) bool) error {
+ return c.DescribeRecommendationExportJobsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeRecommendationExportJobsPagesWithContext same as DescribeRecommendationExportJobsPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ComputeOptimizer) DescribeRecommendationExportJobsPagesWithContext(ctx aws.Context, input *DescribeRecommendationExportJobsInput, fn func(*DescribeRecommendationExportJobsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeRecommendationExportJobsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeRecommendationExportJobsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ for p.Next() {
+ if !fn(p.Page().(*DescribeRecommendationExportJobsOutput), !p.HasNextPage()) {
+ break
+ }
+ }
+
+ return p.Err()
+}
+
const opExportAutoScalingGroupRecommendations = "ExportAutoScalingGroupRecommendations"
// ExportAutoScalingGroupRecommendationsRequest generates a "aws/request.Request" representing the
@@ -553,6 +610,115 @@ func (c *ComputeOptimizer) ExportEC2InstanceRecommendationsWithContext(ctx aws.C
return out, req.Send()
}
+const opExportECSServiceRecommendations = "ExportECSServiceRecommendations"
+
+// ExportECSServiceRecommendationsRequest generates a "aws/request.Request" representing the
+// client's request for the ExportECSServiceRecommendations 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 ExportECSServiceRecommendations for more information on using the ExportECSServiceRecommendations
+// 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 ExportECSServiceRecommendationsRequest method.
+// req, resp := client.ExportECSServiceRecommendationsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportECSServiceRecommendations
+func (c *ComputeOptimizer) ExportECSServiceRecommendationsRequest(input *ExportECSServiceRecommendationsInput) (req *request.Request, output *ExportECSServiceRecommendationsOutput) {
+ op := &request.Operation{
+ Name: opExportECSServiceRecommendations,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ExportECSServiceRecommendationsInput{}
+ }
+
+ output = &ExportECSServiceRecommendationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ExportECSServiceRecommendations API operation for AWS Compute Optimizer.
+//
+// Exports optimization recommendations for Amazon ECS services on Fargate.
+//
+// Recommendations are exported in a CSV file, and its metadata in a JSON file,
+// to an existing Amazon Simple Storage Service (Amazon S3) bucket that you
+// specify. For more information, see Exporting Recommendations (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html)
+// in the Compute Optimizer User Guide.
+//
+// You can only have one Amazon ECS service export job in progress per Amazon
+// Web Services Region.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS Compute Optimizer's
+// API operation ExportECSServiceRecommendations for usage and error information.
+//
+// Returned Error Types:
+//
+// - OptInRequiredException
+// The account is not opted in to Compute Optimizer.
+//
+// - InternalServerException
+// An internal error has occurred. Try your call again.
+//
+// - ServiceUnavailableException
+// The request has failed due to a temporary failure of the server.
+//
+// - AccessDeniedException
+// You do not have sufficient access to perform this action.
+//
+// - InvalidParameterValueException
+// The value supplied for the input parameter is out of range or not valid.
+//
+// - MissingAuthenticationToken
+// The request must contain either a valid (registered) Amazon Web Services
+// access key ID or X.509 certificate.
+//
+// - ThrottlingException
+// The request was denied due to request throttling.
+//
+// - LimitExceededException
+// The request exceeds a limit of the service.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportECSServiceRecommendations
+func (c *ComputeOptimizer) ExportECSServiceRecommendations(input *ExportECSServiceRecommendationsInput) (*ExportECSServiceRecommendationsOutput, error) {
+ req, out := c.ExportECSServiceRecommendationsRequest(input)
+ return out, req.Send()
+}
+
+// ExportECSServiceRecommendationsWithContext is the same as ExportECSServiceRecommendations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ExportECSServiceRecommendations 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 *ComputeOptimizer) ExportECSServiceRecommendationsWithContext(ctx aws.Context, input *ExportECSServiceRecommendationsInput, opts ...request.Option) (*ExportECSServiceRecommendationsOutput, error) {
+ req, out := c.ExportECSServiceRecommendationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opExportLambdaFunctionRecommendations = "ExportLambdaFunctionRecommendations"
// ExportLambdaFunctionRecommendationsRequest generates a "aws/request.Request" representing the
@@ -1088,63 +1254,57 @@ func (c *ComputeOptimizer) GetEC2RecommendationProjectedMetricsWithContext(ctx a
return out, req.Send()
}
-const opGetEffectiveRecommendationPreferences = "GetEffectiveRecommendationPreferences"
+const opGetECSServiceRecommendationProjectedMetrics = "GetECSServiceRecommendationProjectedMetrics"
-// GetEffectiveRecommendationPreferencesRequest generates a "aws/request.Request" representing the
-// client's request for the GetEffectiveRecommendationPreferences operation. The "output" return
+// GetECSServiceRecommendationProjectedMetricsRequest generates a "aws/request.Request" representing the
+// client's request for the GetECSServiceRecommendationProjectedMetrics 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 GetEffectiveRecommendationPreferences for more information on using the GetEffectiveRecommendationPreferences
+// See GetECSServiceRecommendationProjectedMetrics for more information on using the GetECSServiceRecommendationProjectedMetrics
// 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 GetEffectiveRecommendationPreferencesRequest method.
-// req, resp := client.GetEffectiveRecommendationPreferencesRequest(params)
+// // Example sending a request using the GetECSServiceRecommendationProjectedMetricsRequest method.
+// req, resp := client.GetECSServiceRecommendationProjectedMetricsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEffectiveRecommendationPreferences
-func (c *ComputeOptimizer) GetEffectiveRecommendationPreferencesRequest(input *GetEffectiveRecommendationPreferencesInput) (req *request.Request, output *GetEffectiveRecommendationPreferencesOutput) {
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetECSServiceRecommendationProjectedMetrics
+func (c *ComputeOptimizer) GetECSServiceRecommendationProjectedMetricsRequest(input *GetECSServiceRecommendationProjectedMetricsInput) (req *request.Request, output *GetECSServiceRecommendationProjectedMetricsOutput) {
op := &request.Operation{
- Name: opGetEffectiveRecommendationPreferences,
+ Name: opGetECSServiceRecommendationProjectedMetrics,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
- input = &GetEffectiveRecommendationPreferencesInput{}
+ input = &GetECSServiceRecommendationProjectedMetricsInput{}
}
- output = &GetEffectiveRecommendationPreferencesOutput{}
+ output = &GetECSServiceRecommendationProjectedMetricsOutput{}
req = c.newRequest(op, input, output)
return
}
-// GetEffectiveRecommendationPreferences API operation for AWS Compute Optimizer.
+// GetECSServiceRecommendationProjectedMetrics API operation for AWS Compute Optimizer.
//
-// Returns the recommendation preferences that are in effect for a given resource,
-// such as enhanced infrastructure metrics. Considers all applicable preferences
-// that you might have set at the resource, account, and organization level.
-//
-// When you create a recommendation preference, you can set its status to Active
-// or Inactive. Use this action to view the recommendation preferences that
-// are in effect, or Active.
+// Returns the projected metrics of Amazon ECS service recommendations.
//
// 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 Compute Optimizer's
-// API operation GetEffectiveRecommendationPreferences for usage and error information.
+// API operation GetECSServiceRecommendationProjectedMetrics for usage and error information.
//
// Returned Error Types:
//
@@ -1173,88 +1333,90 @@ func (c *ComputeOptimizer) GetEffectiveRecommendationPreferencesRequest(input *G
// - ThrottlingException
// The request was denied due to request throttling.
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEffectiveRecommendationPreferences
-func (c *ComputeOptimizer) GetEffectiveRecommendationPreferences(input *GetEffectiveRecommendationPreferencesInput) (*GetEffectiveRecommendationPreferencesOutput, error) {
- req, out := c.GetEffectiveRecommendationPreferencesRequest(input)
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetECSServiceRecommendationProjectedMetrics
+func (c *ComputeOptimizer) GetECSServiceRecommendationProjectedMetrics(input *GetECSServiceRecommendationProjectedMetricsInput) (*GetECSServiceRecommendationProjectedMetricsOutput, error) {
+ req, out := c.GetECSServiceRecommendationProjectedMetricsRequest(input)
return out, req.Send()
}
-// GetEffectiveRecommendationPreferencesWithContext is the same as GetEffectiveRecommendationPreferences with the addition of
+// GetECSServiceRecommendationProjectedMetricsWithContext is the same as GetECSServiceRecommendationProjectedMetrics with the addition of
// the ability to pass a context and additional request options.
//
-// See GetEffectiveRecommendationPreferences for details on how to use this API operation.
+// See GetECSServiceRecommendationProjectedMetrics 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 *ComputeOptimizer) GetEffectiveRecommendationPreferencesWithContext(ctx aws.Context, input *GetEffectiveRecommendationPreferencesInput, opts ...request.Option) (*GetEffectiveRecommendationPreferencesOutput, error) {
- req, out := c.GetEffectiveRecommendationPreferencesRequest(input)
+func (c *ComputeOptimizer) GetECSServiceRecommendationProjectedMetricsWithContext(ctx aws.Context, input *GetECSServiceRecommendationProjectedMetricsInput, opts ...request.Option) (*GetECSServiceRecommendationProjectedMetricsOutput, error) {
+ req, out := c.GetECSServiceRecommendationProjectedMetricsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
-const opGetEnrollmentStatus = "GetEnrollmentStatus"
+const opGetECSServiceRecommendations = "GetECSServiceRecommendations"
-// GetEnrollmentStatusRequest generates a "aws/request.Request" representing the
-// client's request for the GetEnrollmentStatus operation. The "output" return
+// GetECSServiceRecommendationsRequest generates a "aws/request.Request" representing the
+// client's request for the GetECSServiceRecommendations 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 GetEnrollmentStatus for more information on using the GetEnrollmentStatus
+// See GetECSServiceRecommendations for more information on using the GetECSServiceRecommendations
// 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 GetEnrollmentStatusRequest method.
-// req, resp := client.GetEnrollmentStatusRequest(params)
+// // Example sending a request using the GetECSServiceRecommendationsRequest method.
+// req, resp := client.GetECSServiceRecommendationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatus
-func (c *ComputeOptimizer) GetEnrollmentStatusRequest(input *GetEnrollmentStatusInput) (req *request.Request, output *GetEnrollmentStatusOutput) {
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetECSServiceRecommendations
+func (c *ComputeOptimizer) GetECSServiceRecommendationsRequest(input *GetECSServiceRecommendationsInput) (req *request.Request, output *GetECSServiceRecommendationsOutput) {
op := &request.Operation{
- Name: opGetEnrollmentStatus,
+ Name: opGetECSServiceRecommendations,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
- input = &GetEnrollmentStatusInput{}
+ input = &GetECSServiceRecommendationsInput{}
}
- output = &GetEnrollmentStatusOutput{}
+ output = &GetECSServiceRecommendationsOutput{}
req = c.newRequest(op, input, output)
return
}
-// GetEnrollmentStatus API operation for AWS Compute Optimizer.
+// GetECSServiceRecommendations API operation for AWS Compute Optimizer.
//
-// Returns the enrollment (opt in) status of an account to the Compute Optimizer
-// service.
+// Returns Amazon ECS service recommendations.
//
-// If the account is the management account of an organization, this action
-// also confirms the enrollment status of member accounts of the organization.
-// Use the GetEnrollmentStatusesForOrganization action to get detailed information
-// about the enrollment status of member accounts of an organization.
+// Compute Optimizer generates recommendations for Amazon ECS services on Fargate
+// that meet a specific set of requirements. For more information, see the Supported
+// resources and requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html)
+// in the Compute Optimizer User Guide.
//
// 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 Compute Optimizer's
-// API operation GetEnrollmentStatus for usage and error information.
+// API operation GetECSServiceRecommendations for usage and error information.
//
// Returned Error Types:
//
+// - OptInRequiredException
+// The account is not opted in to Compute Optimizer.
+//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
@@ -1267,6 +1429,9 @@ func (c *ComputeOptimizer) GetEnrollmentStatusRequest(input *GetEnrollmentStatus
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
+// - ResourceNotFoundException
+// A resource that is required for the action doesn't exist.
+//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
@@ -1274,86 +1439,91 @@ func (c *ComputeOptimizer) GetEnrollmentStatusRequest(input *GetEnrollmentStatus
// - ThrottlingException
// The request was denied due to request throttling.
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatus
-func (c *ComputeOptimizer) GetEnrollmentStatus(input *GetEnrollmentStatusInput) (*GetEnrollmentStatusOutput, error) {
- req, out := c.GetEnrollmentStatusRequest(input)
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetECSServiceRecommendations
+func (c *ComputeOptimizer) GetECSServiceRecommendations(input *GetECSServiceRecommendationsInput) (*GetECSServiceRecommendationsOutput, error) {
+ req, out := c.GetECSServiceRecommendationsRequest(input)
return out, req.Send()
}
-// GetEnrollmentStatusWithContext is the same as GetEnrollmentStatus with the addition of
+// GetECSServiceRecommendationsWithContext is the same as GetECSServiceRecommendations with the addition of
// the ability to pass a context and additional request options.
//
-// See GetEnrollmentStatus for details on how to use this API operation.
+// See GetECSServiceRecommendations 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 *ComputeOptimizer) GetEnrollmentStatusWithContext(ctx aws.Context, input *GetEnrollmentStatusInput, opts ...request.Option) (*GetEnrollmentStatusOutput, error) {
- req, out := c.GetEnrollmentStatusRequest(input)
+func (c *ComputeOptimizer) GetECSServiceRecommendationsWithContext(ctx aws.Context, input *GetECSServiceRecommendationsInput, opts ...request.Option) (*GetECSServiceRecommendationsOutput, error) {
+ req, out := c.GetECSServiceRecommendationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
-const opGetEnrollmentStatusesForOrganization = "GetEnrollmentStatusesForOrganization"
+const opGetEffectiveRecommendationPreferences = "GetEffectiveRecommendationPreferences"
-// GetEnrollmentStatusesForOrganizationRequest generates a "aws/request.Request" representing the
-// client's request for the GetEnrollmentStatusesForOrganization operation. The "output" return
+// GetEffectiveRecommendationPreferencesRequest generates a "aws/request.Request" representing the
+// client's request for the GetEffectiveRecommendationPreferences 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 GetEnrollmentStatusesForOrganization for more information on using the GetEnrollmentStatusesForOrganization
+// See GetEffectiveRecommendationPreferences for more information on using the GetEffectiveRecommendationPreferences
// 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 GetEnrollmentStatusesForOrganizationRequest method.
-// req, resp := client.GetEnrollmentStatusesForOrganizationRequest(params)
+// // Example sending a request using the GetEffectiveRecommendationPreferencesRequest method.
+// req, resp := client.GetEffectiveRecommendationPreferencesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatusesForOrganization
-func (c *ComputeOptimizer) GetEnrollmentStatusesForOrganizationRequest(input *GetEnrollmentStatusesForOrganizationInput) (req *request.Request, output *GetEnrollmentStatusesForOrganizationOutput) {
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEffectiveRecommendationPreferences
+func (c *ComputeOptimizer) GetEffectiveRecommendationPreferencesRequest(input *GetEffectiveRecommendationPreferencesInput) (req *request.Request, output *GetEffectiveRecommendationPreferencesOutput) {
op := &request.Operation{
- Name: opGetEnrollmentStatusesForOrganization,
+ Name: opGetEffectiveRecommendationPreferences,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
- input = &GetEnrollmentStatusesForOrganizationInput{}
+ input = &GetEffectiveRecommendationPreferencesInput{}
}
- output = &GetEnrollmentStatusesForOrganizationOutput{}
+ output = &GetEffectiveRecommendationPreferencesOutput{}
req = c.newRequest(op, input, output)
return
}
-// GetEnrollmentStatusesForOrganization API operation for AWS Compute Optimizer.
+// GetEffectiveRecommendationPreferences API operation for AWS Compute Optimizer.
//
-// Returns the Compute Optimizer enrollment (opt-in) status of organization
-// member accounts, if your account is an organization management account.
+// Returns the recommendation preferences that are in effect for a given resource,
+// such as enhanced infrastructure metrics. Considers all applicable preferences
+// that you might have set at the resource, account, and organization level.
//
-// To get the enrollment status of standalone accounts, use the GetEnrollmentStatus
-// action.
+// When you create a recommendation preference, you can set its status to Active
+// or Inactive. Use this action to view the recommendation preferences that
+// are in effect, or Active.
//
// 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 Compute Optimizer's
-// API operation GetEnrollmentStatusesForOrganization for usage and error information.
+// API operation GetEffectiveRecommendationPreferences for usage and error information.
//
// Returned Error Types:
//
+// - OptInRequiredException
+// The account is not opted in to Compute Optimizer.
+//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
@@ -1366,6 +1536,9 @@ func (c *ComputeOptimizer) GetEnrollmentStatusesForOrganizationRequest(input *Ge
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
+// - ResourceNotFoundException
+// A resource that is required for the action doesn't exist.
+//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
@@ -1373,90 +1546,88 @@ func (c *ComputeOptimizer) GetEnrollmentStatusesForOrganizationRequest(input *Ge
// - ThrottlingException
// The request was denied due to request throttling.
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatusesForOrganization
-func (c *ComputeOptimizer) GetEnrollmentStatusesForOrganization(input *GetEnrollmentStatusesForOrganizationInput) (*GetEnrollmentStatusesForOrganizationOutput, error) {
- req, out := c.GetEnrollmentStatusesForOrganizationRequest(input)
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEffectiveRecommendationPreferences
+func (c *ComputeOptimizer) GetEffectiveRecommendationPreferences(input *GetEffectiveRecommendationPreferencesInput) (*GetEffectiveRecommendationPreferencesOutput, error) {
+ req, out := c.GetEffectiveRecommendationPreferencesRequest(input)
return out, req.Send()
}
-// GetEnrollmentStatusesForOrganizationWithContext is the same as GetEnrollmentStatusesForOrganization with the addition of
+// GetEffectiveRecommendationPreferencesWithContext is the same as GetEffectiveRecommendationPreferences with the addition of
// the ability to pass a context and additional request options.
//
-// See GetEnrollmentStatusesForOrganization for details on how to use this API operation.
+// See GetEffectiveRecommendationPreferences 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 *ComputeOptimizer) GetEnrollmentStatusesForOrganizationWithContext(ctx aws.Context, input *GetEnrollmentStatusesForOrganizationInput, opts ...request.Option) (*GetEnrollmentStatusesForOrganizationOutput, error) {
- req, out := c.GetEnrollmentStatusesForOrganizationRequest(input)
+func (c *ComputeOptimizer) GetEffectiveRecommendationPreferencesWithContext(ctx aws.Context, input *GetEffectiveRecommendationPreferencesInput, opts ...request.Option) (*GetEffectiveRecommendationPreferencesOutput, error) {
+ req, out := c.GetEffectiveRecommendationPreferencesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
-const opGetLambdaFunctionRecommendations = "GetLambdaFunctionRecommendations"
+const opGetEnrollmentStatus = "GetEnrollmentStatus"
-// GetLambdaFunctionRecommendationsRequest generates a "aws/request.Request" representing the
-// client's request for the GetLambdaFunctionRecommendations operation. The "output" return
+// GetEnrollmentStatusRequest generates a "aws/request.Request" representing the
+// client's request for the GetEnrollmentStatus 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 GetLambdaFunctionRecommendations for more information on using the GetLambdaFunctionRecommendations
+// See GetEnrollmentStatus for more information on using the GetEnrollmentStatus
// 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 GetLambdaFunctionRecommendationsRequest method.
-// req, resp := client.GetLambdaFunctionRecommendationsRequest(params)
+// // Example sending a request using the GetEnrollmentStatusRequest method.
+// req, resp := client.GetEnrollmentStatusRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetLambdaFunctionRecommendations
-func (c *ComputeOptimizer) GetLambdaFunctionRecommendationsRequest(input *GetLambdaFunctionRecommendationsInput) (req *request.Request, output *GetLambdaFunctionRecommendationsOutput) {
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatus
+func (c *ComputeOptimizer) GetEnrollmentStatusRequest(input *GetEnrollmentStatusInput) (req *request.Request, output *GetEnrollmentStatusOutput) {
op := &request.Operation{
- Name: opGetLambdaFunctionRecommendations,
+ Name: opGetEnrollmentStatus,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
- input = &GetLambdaFunctionRecommendationsInput{}
+ input = &GetEnrollmentStatusInput{}
}
- output = &GetLambdaFunctionRecommendationsOutput{}
+ output = &GetEnrollmentStatusOutput{}
req = c.newRequest(op, input, output)
return
}
-// GetLambdaFunctionRecommendations API operation for AWS Compute Optimizer.
+// GetEnrollmentStatus API operation for AWS Compute Optimizer.
//
-// Returns Lambda function recommendations.
+// Returns the enrollment (opt in) status of an account to the Compute Optimizer
+// service.
//
-// Compute Optimizer generates recommendations for functions that meet a specific
-// set of requirements. For more information, see the Supported resources and
-// requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html)
-// in the Compute Optimizer User Guide.
+// If the account is the management account of an organization, this action
+// also confirms the enrollment status of member accounts of the organization.
+// Use the GetEnrollmentStatusesForOrganization action to get detailed information
+// about the enrollment status of member accounts of an organization.
//
// 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 Compute Optimizer's
-// API operation GetLambdaFunctionRecommendations for usage and error information.
+// API operation GetEnrollmentStatus for usage and error information.
//
// Returned Error Types:
//
-// - OptInRequiredException
-// The account is not opted in to Compute Optimizer.
-//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
@@ -1476,96 +1647,92 @@ func (c *ComputeOptimizer) GetLambdaFunctionRecommendationsRequest(input *GetLam
// - ThrottlingException
// The request was denied due to request throttling.
//
-// - LimitExceededException
-// The request exceeds a limit of the service.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetLambdaFunctionRecommendations
-func (c *ComputeOptimizer) GetLambdaFunctionRecommendations(input *GetLambdaFunctionRecommendationsInput) (*GetLambdaFunctionRecommendationsOutput, error) {
- req, out := c.GetLambdaFunctionRecommendationsRequest(input)
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatus
+func (c *ComputeOptimizer) GetEnrollmentStatus(input *GetEnrollmentStatusInput) (*GetEnrollmentStatusOutput, error) {
+ req, out := c.GetEnrollmentStatusRequest(input)
return out, req.Send()
}
-// GetLambdaFunctionRecommendationsWithContext is the same as GetLambdaFunctionRecommendations with the addition of
+// GetEnrollmentStatusWithContext is the same as GetEnrollmentStatus with the addition of
// the ability to pass a context and additional request options.
//
-// See GetLambdaFunctionRecommendations for details on how to use this API operation.
+// See GetEnrollmentStatus 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 *ComputeOptimizer) GetLambdaFunctionRecommendationsWithContext(ctx aws.Context, input *GetLambdaFunctionRecommendationsInput, opts ...request.Option) (*GetLambdaFunctionRecommendationsOutput, error) {
- req, out := c.GetLambdaFunctionRecommendationsRequest(input)
+func (c *ComputeOptimizer) GetEnrollmentStatusWithContext(ctx aws.Context, input *GetEnrollmentStatusInput, opts ...request.Option) (*GetEnrollmentStatusOutput, error) {
+ req, out := c.GetEnrollmentStatusRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
-const opGetRecommendationPreferences = "GetRecommendationPreferences"
+const opGetEnrollmentStatusesForOrganization = "GetEnrollmentStatusesForOrganization"
-// GetRecommendationPreferencesRequest generates a "aws/request.Request" representing the
-// client's request for the GetRecommendationPreferences operation. The "output" return
+// GetEnrollmentStatusesForOrganizationRequest generates a "aws/request.Request" representing the
+// client's request for the GetEnrollmentStatusesForOrganization 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 GetRecommendationPreferences for more information on using the GetRecommendationPreferences
+// See GetEnrollmentStatusesForOrganization for more information on using the GetEnrollmentStatusesForOrganization
// 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 GetRecommendationPreferencesRequest method.
-// req, resp := client.GetRecommendationPreferencesRequest(params)
+// // Example sending a request using the GetEnrollmentStatusesForOrganizationRequest method.
+// req, resp := client.GetEnrollmentStatusesForOrganizationRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationPreferences
-func (c *ComputeOptimizer) GetRecommendationPreferencesRequest(input *GetRecommendationPreferencesInput) (req *request.Request, output *GetRecommendationPreferencesOutput) {
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatusesForOrganization
+func (c *ComputeOptimizer) GetEnrollmentStatusesForOrganizationRequest(input *GetEnrollmentStatusesForOrganizationInput) (req *request.Request, output *GetEnrollmentStatusesForOrganizationOutput) {
op := &request.Operation{
- Name: opGetRecommendationPreferences,
+ Name: opGetEnrollmentStatusesForOrganization,
HTTPMethod: "POST",
HTTPPath: "/",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"nextToken"},
+ OutputTokens: []string{"nextToken"},
+ LimitToken: "maxResults",
+ TruncationToken: "",
+ },
}
if input == nil {
- input = &GetRecommendationPreferencesInput{}
+ input = &GetEnrollmentStatusesForOrganizationInput{}
}
- output = &GetRecommendationPreferencesOutput{}
+ output = &GetEnrollmentStatusesForOrganizationOutput{}
req = c.newRequest(op, input, output)
return
}
-// GetRecommendationPreferences API operation for AWS Compute Optimizer.
-//
-// Returns existing recommendation preferences, such as enhanced infrastructure
-// metrics.
+// GetEnrollmentStatusesForOrganization API operation for AWS Compute Optimizer.
//
-// Use the scope parameter to specify which preferences to return. You can specify
-// to return preferences for an organization, a specific account ID, or a specific
-// EC2 instance or Auto Scaling group Amazon Resource Name (ARN).
+// Returns the Compute Optimizer enrollment (opt-in) status of organization
+// member accounts, if your account is an organization management account.
//
-// For more information, see Activating enhanced infrastructure metrics (https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)
-// in the Compute Optimizer User Guide.
+// To get the enrollment status of standalone accounts, use the GetEnrollmentStatus
+// action.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Compute Optimizer's
-// API operation GetRecommendationPreferences for usage and error information.
+// API operation GetEnrollmentStatusesForOrganization for usage and error information.
//
// Returned Error Types:
//
-// - OptInRequiredException
-// The account is not opted in to Compute Optimizer.
-//
// - InternalServerException
// An internal error has occurred. Try your call again.
//
@@ -1578,9 +1745,6 @@ func (c *ComputeOptimizer) GetRecommendationPreferencesRequest(input *GetRecomme
// - InvalidParameterValueException
// The value supplied for the input parameter is out of range or not valid.
//
-// - ResourceNotFoundException
-// A resource that is required for the action doesn't exist.
-//
// - MissingAuthenticationToken
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
@@ -1588,90 +1752,141 @@ func (c *ComputeOptimizer) GetRecommendationPreferencesRequest(input *GetRecomme
// - ThrottlingException
// The request was denied due to request throttling.
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationPreferences
-func (c *ComputeOptimizer) GetRecommendationPreferences(input *GetRecommendationPreferencesInput) (*GetRecommendationPreferencesOutput, error) {
- req, out := c.GetRecommendationPreferencesRequest(input)
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatusesForOrganization
+func (c *ComputeOptimizer) GetEnrollmentStatusesForOrganization(input *GetEnrollmentStatusesForOrganizationInput) (*GetEnrollmentStatusesForOrganizationOutput, error) {
+ req, out := c.GetEnrollmentStatusesForOrganizationRequest(input)
return out, req.Send()
}
-// GetRecommendationPreferencesWithContext is the same as GetRecommendationPreferences with the addition of
+// GetEnrollmentStatusesForOrganizationWithContext is the same as GetEnrollmentStatusesForOrganization with the addition of
// the ability to pass a context and additional request options.
//
-// See GetRecommendationPreferences for details on how to use this API operation.
+// See GetEnrollmentStatusesForOrganization 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 *ComputeOptimizer) GetRecommendationPreferencesWithContext(ctx aws.Context, input *GetRecommendationPreferencesInput, opts ...request.Option) (*GetRecommendationPreferencesOutput, error) {
- req, out := c.GetRecommendationPreferencesRequest(input)
+func (c *ComputeOptimizer) GetEnrollmentStatusesForOrganizationWithContext(ctx aws.Context, input *GetEnrollmentStatusesForOrganizationInput, opts ...request.Option) (*GetEnrollmentStatusesForOrganizationOutput, error) {
+ req, out := c.GetEnrollmentStatusesForOrganizationRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
-const opGetRecommendationSummaries = "GetRecommendationSummaries"
+// GetEnrollmentStatusesForOrganizationPages iterates over the pages of a GetEnrollmentStatusesForOrganization operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See GetEnrollmentStatusesForOrganization method for more information on how to use this operation.
+//
+// Note: This operation can generate multiple requests to a service.
+//
+// // Example iterating over at most 3 pages of a GetEnrollmentStatusesForOrganization operation.
+// pageNum := 0
+// err := client.GetEnrollmentStatusesForOrganizationPages(params,
+// func(page *computeoptimizer.GetEnrollmentStatusesForOrganizationOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+func (c *ComputeOptimizer) GetEnrollmentStatusesForOrganizationPages(input *GetEnrollmentStatusesForOrganizationInput, fn func(*GetEnrollmentStatusesForOrganizationOutput, bool) bool) error {
+ return c.GetEnrollmentStatusesForOrganizationPagesWithContext(aws.BackgroundContext(), input, fn)
+}
-// GetRecommendationSummariesRequest generates a "aws/request.Request" representing the
-// client's request for the GetRecommendationSummaries operation. The "output" return
+// GetEnrollmentStatusesForOrganizationPagesWithContext same as GetEnrollmentStatusesForOrganizationPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ComputeOptimizer) GetEnrollmentStatusesForOrganizationPagesWithContext(ctx aws.Context, input *GetEnrollmentStatusesForOrganizationInput, fn func(*GetEnrollmentStatusesForOrganizationOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *GetEnrollmentStatusesForOrganizationInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.GetEnrollmentStatusesForOrganizationRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ for p.Next() {
+ if !fn(p.Page().(*GetEnrollmentStatusesForOrganizationOutput), !p.HasNextPage()) {
+ break
+ }
+ }
+
+ return p.Err()
+}
+
+const opGetLambdaFunctionRecommendations = "GetLambdaFunctionRecommendations"
+
+// GetLambdaFunctionRecommendationsRequest generates a "aws/request.Request" representing the
+// client's request for the GetLambdaFunctionRecommendations 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 GetRecommendationSummaries for more information on using the GetRecommendationSummaries
+// See GetLambdaFunctionRecommendations for more information on using the GetLambdaFunctionRecommendations
// 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 GetRecommendationSummariesRequest method.
-// req, resp := client.GetRecommendationSummariesRequest(params)
+// // Example sending a request using the GetLambdaFunctionRecommendationsRequest method.
+// req, resp := client.GetLambdaFunctionRecommendationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationSummaries
-func (c *ComputeOptimizer) GetRecommendationSummariesRequest(input *GetRecommendationSummariesInput) (req *request.Request, output *GetRecommendationSummariesOutput) {
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetLambdaFunctionRecommendations
+func (c *ComputeOptimizer) GetLambdaFunctionRecommendationsRequest(input *GetLambdaFunctionRecommendationsInput) (req *request.Request, output *GetLambdaFunctionRecommendationsOutput) {
op := &request.Operation{
- Name: opGetRecommendationSummaries,
+ Name: opGetLambdaFunctionRecommendations,
HTTPMethod: "POST",
HTTPPath: "/",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"nextToken"},
+ OutputTokens: []string{"nextToken"},
+ LimitToken: "maxResults",
+ TruncationToken: "",
+ },
}
if input == nil {
- input = &GetRecommendationSummariesInput{}
+ input = &GetLambdaFunctionRecommendationsInput{}
}
- output = &GetRecommendationSummariesOutput{}
+ output = &GetLambdaFunctionRecommendationsOutput{}
req = c.newRequest(op, input, output)
return
}
-// GetRecommendationSummaries API operation for AWS Compute Optimizer.
-//
-// Returns the optimization findings for an account.
-//
-// It returns the number of:
-//
-// - Amazon EC2 instances in an account that are Underprovisioned, Overprovisioned,
-// or Optimized.
-//
-// - Auto Scaling groups in an account that are NotOptimized, or Optimized.
+// GetLambdaFunctionRecommendations API operation for AWS Compute Optimizer.
//
-// - Amazon EBS volumes in an account that are NotOptimized, or Optimized.
+// Returns Lambda function recommendations.
//
-// - Lambda functions in an account that are NotOptimized, or Optimized.
+// Compute Optimizer generates recommendations for functions that meet a specific
+// set of requirements. For more information, see the Supported resources and
+// requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html)
+// in the Compute Optimizer User Guide.
//
// 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 Compute Optimizer's
-// API operation GetRecommendationSummaries for usage and error information.
+// API operation GetLambdaFunctionRecommendations for usage and error information.
//
// Returned Error Types:
//
@@ -1697,74 +1912,137 @@ func (c *ComputeOptimizer) GetRecommendationSummariesRequest(input *GetRecommend
// - ThrottlingException
// The request was denied due to request throttling.
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationSummaries
-func (c *ComputeOptimizer) GetRecommendationSummaries(input *GetRecommendationSummariesInput) (*GetRecommendationSummariesOutput, error) {
- req, out := c.GetRecommendationSummariesRequest(input)
+// - LimitExceededException
+// The request exceeds a limit of the service.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetLambdaFunctionRecommendations
+func (c *ComputeOptimizer) GetLambdaFunctionRecommendations(input *GetLambdaFunctionRecommendationsInput) (*GetLambdaFunctionRecommendationsOutput, error) {
+ req, out := c.GetLambdaFunctionRecommendationsRequest(input)
return out, req.Send()
}
-// GetRecommendationSummariesWithContext is the same as GetRecommendationSummaries with the addition of
+// GetLambdaFunctionRecommendationsWithContext is the same as GetLambdaFunctionRecommendations with the addition of
// the ability to pass a context and additional request options.
//
-// See GetRecommendationSummaries for details on how to use this API operation.
+// See GetLambdaFunctionRecommendations 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 *ComputeOptimizer) GetRecommendationSummariesWithContext(ctx aws.Context, input *GetRecommendationSummariesInput, opts ...request.Option) (*GetRecommendationSummariesOutput, error) {
- req, out := c.GetRecommendationSummariesRequest(input)
+func (c *ComputeOptimizer) GetLambdaFunctionRecommendationsWithContext(ctx aws.Context, input *GetLambdaFunctionRecommendationsInput, opts ...request.Option) (*GetLambdaFunctionRecommendationsOutput, error) {
+ req, out := c.GetLambdaFunctionRecommendationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
-const opPutRecommendationPreferences = "PutRecommendationPreferences"
+// GetLambdaFunctionRecommendationsPages iterates over the pages of a GetLambdaFunctionRecommendations operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See GetLambdaFunctionRecommendations method for more information on how to use this operation.
+//
+// Note: This operation can generate multiple requests to a service.
+//
+// // Example iterating over at most 3 pages of a GetLambdaFunctionRecommendations operation.
+// pageNum := 0
+// err := client.GetLambdaFunctionRecommendationsPages(params,
+// func(page *computeoptimizer.GetLambdaFunctionRecommendationsOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+func (c *ComputeOptimizer) GetLambdaFunctionRecommendationsPages(input *GetLambdaFunctionRecommendationsInput, fn func(*GetLambdaFunctionRecommendationsOutput, bool) bool) error {
+ return c.GetLambdaFunctionRecommendationsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
-// PutRecommendationPreferencesRequest generates a "aws/request.Request" representing the
-// client's request for the PutRecommendationPreferences operation. The "output" return
+// GetLambdaFunctionRecommendationsPagesWithContext same as GetLambdaFunctionRecommendationsPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ComputeOptimizer) GetLambdaFunctionRecommendationsPagesWithContext(ctx aws.Context, input *GetLambdaFunctionRecommendationsInput, fn func(*GetLambdaFunctionRecommendationsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *GetLambdaFunctionRecommendationsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.GetLambdaFunctionRecommendationsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ for p.Next() {
+ if !fn(p.Page().(*GetLambdaFunctionRecommendationsOutput), !p.HasNextPage()) {
+ break
+ }
+ }
+
+ return p.Err()
+}
+
+const opGetRecommendationPreferences = "GetRecommendationPreferences"
+
+// GetRecommendationPreferencesRequest generates a "aws/request.Request" representing the
+// client's request for the GetRecommendationPreferences 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 PutRecommendationPreferences for more information on using the PutRecommendationPreferences
+// See GetRecommendationPreferences for more information on using the GetRecommendationPreferences
// 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 PutRecommendationPreferencesRequest method.
-// req, resp := client.PutRecommendationPreferencesRequest(params)
+// // Example sending a request using the GetRecommendationPreferencesRequest method.
+// req, resp := client.GetRecommendationPreferencesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/PutRecommendationPreferences
-func (c *ComputeOptimizer) PutRecommendationPreferencesRequest(input *PutRecommendationPreferencesInput) (req *request.Request, output *PutRecommendationPreferencesOutput) {
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationPreferences
+func (c *ComputeOptimizer) GetRecommendationPreferencesRequest(input *GetRecommendationPreferencesInput) (req *request.Request, output *GetRecommendationPreferencesOutput) {
op := &request.Operation{
- Name: opPutRecommendationPreferences,
+ Name: opGetRecommendationPreferences,
HTTPMethod: "POST",
HTTPPath: "/",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"nextToken"},
+ OutputTokens: []string{"nextToken"},
+ LimitToken: "maxResults",
+ TruncationToken: "",
+ },
}
if input == nil {
- input = &PutRecommendationPreferencesInput{}
+ input = &GetRecommendationPreferencesInput{}
}
- output = &PutRecommendationPreferencesOutput{}
+ output = &GetRecommendationPreferencesOutput{}
req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
-// PutRecommendationPreferences API operation for AWS Compute Optimizer.
+// GetRecommendationPreferences API operation for AWS Compute Optimizer.
//
-// Creates a new recommendation preference or updates an existing recommendation
-// preference, such as enhanced infrastructure metrics.
+// Returns existing recommendation preferences, such as enhanced infrastructure
+// metrics.
+//
+// Use the scope parameter to specify which preferences to return. You can specify
+// to return preferences for an organization, a specific account ID, or a specific
+// EC2 instance or Auto Scaling group Amazon Resource Name (ARN).
//
// For more information, see Activating enhanced infrastructure metrics (https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)
// in the Compute Optimizer User Guide.
@@ -1774,7 +2052,7 @@ func (c *ComputeOptimizer) PutRecommendationPreferencesRequest(input *PutRecomme
// the error.
//
// See the AWS API reference guide for AWS Compute Optimizer's
-// API operation PutRecommendationPreferences for usage and error information.
+// API operation GetRecommendationPreferences for usage and error information.
//
// Returned Error Types:
//
@@ -1803,70 +2081,396 @@ func (c *ComputeOptimizer) PutRecommendationPreferencesRequest(input *PutRecomme
// - ThrottlingException
// The request was denied due to request throttling.
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/PutRecommendationPreferences
-func (c *ComputeOptimizer) PutRecommendationPreferences(input *PutRecommendationPreferencesInput) (*PutRecommendationPreferencesOutput, error) {
- req, out := c.PutRecommendationPreferencesRequest(input)
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationPreferences
+func (c *ComputeOptimizer) GetRecommendationPreferences(input *GetRecommendationPreferencesInput) (*GetRecommendationPreferencesOutput, error) {
+ req, out := c.GetRecommendationPreferencesRequest(input)
return out, req.Send()
}
-// PutRecommendationPreferencesWithContext is the same as PutRecommendationPreferences with the addition of
+// GetRecommendationPreferencesWithContext is the same as GetRecommendationPreferences with the addition of
// the ability to pass a context and additional request options.
//
-// See PutRecommendationPreferences for details on how to use this API operation.
+// See GetRecommendationPreferences 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 *ComputeOptimizer) PutRecommendationPreferencesWithContext(ctx aws.Context, input *PutRecommendationPreferencesInput, opts ...request.Option) (*PutRecommendationPreferencesOutput, error) {
- req, out := c.PutRecommendationPreferencesRequest(input)
+func (c *ComputeOptimizer) GetRecommendationPreferencesWithContext(ctx aws.Context, input *GetRecommendationPreferencesInput, opts ...request.Option) (*GetRecommendationPreferencesOutput, error) {
+ req, out := c.GetRecommendationPreferencesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
-const opUpdateEnrollmentStatus = "UpdateEnrollmentStatus"
+// GetRecommendationPreferencesPages iterates over the pages of a GetRecommendationPreferences operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See GetRecommendationPreferences method for more information on how to use this operation.
+//
+// Note: This operation can generate multiple requests to a service.
+//
+// // Example iterating over at most 3 pages of a GetRecommendationPreferences operation.
+// pageNum := 0
+// err := client.GetRecommendationPreferencesPages(params,
+// func(page *computeoptimizer.GetRecommendationPreferencesOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+func (c *ComputeOptimizer) GetRecommendationPreferencesPages(input *GetRecommendationPreferencesInput, fn func(*GetRecommendationPreferencesOutput, bool) bool) error {
+ return c.GetRecommendationPreferencesPagesWithContext(aws.BackgroundContext(), input, fn)
+}
-// UpdateEnrollmentStatusRequest generates a "aws/request.Request" representing the
-// client's request for the UpdateEnrollmentStatus operation. The "output" return
+// GetRecommendationPreferencesPagesWithContext same as GetRecommendationPreferencesPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ComputeOptimizer) GetRecommendationPreferencesPagesWithContext(ctx aws.Context, input *GetRecommendationPreferencesInput, fn func(*GetRecommendationPreferencesOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *GetRecommendationPreferencesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.GetRecommendationPreferencesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ for p.Next() {
+ if !fn(p.Page().(*GetRecommendationPreferencesOutput), !p.HasNextPage()) {
+ break
+ }
+ }
+
+ return p.Err()
+}
+
+const opGetRecommendationSummaries = "GetRecommendationSummaries"
+
+// GetRecommendationSummariesRequest generates a "aws/request.Request" representing the
+// client's request for the GetRecommendationSummaries 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 UpdateEnrollmentStatus for more information on using the UpdateEnrollmentStatus
+// See GetRecommendationSummaries for more information on using the GetRecommendationSummaries
// 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 UpdateEnrollmentStatusRequest method.
-// req, resp := client.UpdateEnrollmentStatusRequest(params)
+// // Example sending a request using the GetRecommendationSummariesRequest method.
+// req, resp := client.GetRecommendationSummariesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/UpdateEnrollmentStatus
-func (c *ComputeOptimizer) UpdateEnrollmentStatusRequest(input *UpdateEnrollmentStatusInput) (req *request.Request, output *UpdateEnrollmentStatusOutput) {
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationSummaries
+func (c *ComputeOptimizer) GetRecommendationSummariesRequest(input *GetRecommendationSummariesInput) (req *request.Request, output *GetRecommendationSummariesOutput) {
op := &request.Operation{
- Name: opUpdateEnrollmentStatus,
+ Name: opGetRecommendationSummaries,
HTTPMethod: "POST",
HTTPPath: "/",
+ Paginator: &request.Paginator{
+ InputTokens: []string{"nextToken"},
+ OutputTokens: []string{"nextToken"},
+ LimitToken: "maxResults",
+ TruncationToken: "",
+ },
}
if input == nil {
- input = &UpdateEnrollmentStatusInput{}
+ input = &GetRecommendationSummariesInput{}
}
- output = &UpdateEnrollmentStatusOutput{}
+ output = &GetRecommendationSummariesOutput{}
req = c.newRequest(op, input, output)
return
}
-// UpdateEnrollmentStatus API operation for AWS Compute Optimizer.
+// GetRecommendationSummaries API operation for AWS Compute Optimizer.
+//
+// Returns the optimization findings for an account.
+//
+// It returns the number of:
+//
+// - Amazon EC2 instances in an account that are Underprovisioned, Overprovisioned,
+// or Optimized.
+//
+// - Auto Scaling groups in an account that are NotOptimized, or Optimized.
+//
+// - Amazon EBS volumes in an account that are NotOptimized, or Optimized.
+//
+// - Lambda functions in an account that are NotOptimized, or Optimized.
+//
+// - Amazon ECS services in an account that are Underprovisioned, Overprovisioned,
+// or Optimized.
+//
+// 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 Compute Optimizer's
+// API operation GetRecommendationSummaries for usage and error information.
+//
+// Returned Error Types:
+//
+// - OptInRequiredException
+// The account is not opted in to Compute Optimizer.
+//
+// - InternalServerException
+// An internal error has occurred. Try your call again.
+//
+// - ServiceUnavailableException
+// The request has failed due to a temporary failure of the server.
+//
+// - AccessDeniedException
+// You do not have sufficient access to perform this action.
+//
+// - InvalidParameterValueException
+// The value supplied for the input parameter is out of range or not valid.
+//
+// - MissingAuthenticationToken
+// The request must contain either a valid (registered) Amazon Web Services
+// access key ID or X.509 certificate.
+//
+// - ThrottlingException
+// The request was denied due to request throttling.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationSummaries
+func (c *ComputeOptimizer) GetRecommendationSummaries(input *GetRecommendationSummariesInput) (*GetRecommendationSummariesOutput, error) {
+ req, out := c.GetRecommendationSummariesRequest(input)
+ return out, req.Send()
+}
+
+// GetRecommendationSummariesWithContext is the same as GetRecommendationSummaries with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetRecommendationSummaries 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 *ComputeOptimizer) GetRecommendationSummariesWithContext(ctx aws.Context, input *GetRecommendationSummariesInput, opts ...request.Option) (*GetRecommendationSummariesOutput, error) {
+ req, out := c.GetRecommendationSummariesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+// GetRecommendationSummariesPages iterates over the pages of a GetRecommendationSummaries operation,
+// calling the "fn" function with the response data for each page. To stop
+// iterating, return false from the fn function.
+//
+// See GetRecommendationSummaries method for more information on how to use this operation.
+//
+// Note: This operation can generate multiple requests to a service.
+//
+// // Example iterating over at most 3 pages of a GetRecommendationSummaries operation.
+// pageNum := 0
+// err := client.GetRecommendationSummariesPages(params,
+// func(page *computeoptimizer.GetRecommendationSummariesOutput, lastPage bool) bool {
+// pageNum++
+// fmt.Println(page)
+// return pageNum <= 3
+// })
+func (c *ComputeOptimizer) GetRecommendationSummariesPages(input *GetRecommendationSummariesInput, fn func(*GetRecommendationSummariesOutput, bool) bool) error {
+ return c.GetRecommendationSummariesPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// GetRecommendationSummariesPagesWithContext same as GetRecommendationSummariesPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ComputeOptimizer) GetRecommendationSummariesPagesWithContext(ctx aws.Context, input *GetRecommendationSummariesInput, fn func(*GetRecommendationSummariesOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *GetRecommendationSummariesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.GetRecommendationSummariesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ for p.Next() {
+ if !fn(p.Page().(*GetRecommendationSummariesOutput), !p.HasNextPage()) {
+ break
+ }
+ }
+
+ return p.Err()
+}
+
+const opPutRecommendationPreferences = "PutRecommendationPreferences"
+
+// PutRecommendationPreferencesRequest generates a "aws/request.Request" representing the
+// client's request for the PutRecommendationPreferences 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 PutRecommendationPreferences for more information on using the PutRecommendationPreferences
+// 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 PutRecommendationPreferencesRequest method.
+// req, resp := client.PutRecommendationPreferencesRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/PutRecommendationPreferences
+func (c *ComputeOptimizer) PutRecommendationPreferencesRequest(input *PutRecommendationPreferencesInput) (req *request.Request, output *PutRecommendationPreferencesOutput) {
+ op := &request.Operation{
+ Name: opPutRecommendationPreferences,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &PutRecommendationPreferencesInput{}
+ }
+
+ output = &PutRecommendationPreferencesOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutRecommendationPreferences API operation for AWS Compute Optimizer.
+//
+// Creates a new recommendation preference or updates an existing recommendation
+// preference, such as enhanced infrastructure metrics.
+//
+// For more information, see Activating enhanced infrastructure metrics (https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)
+// in the Compute Optimizer User Guide.
+//
+// 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 Compute Optimizer's
+// API operation PutRecommendationPreferences for usage and error information.
+//
+// Returned Error Types:
+//
+// - OptInRequiredException
+// The account is not opted in to Compute Optimizer.
+//
+// - InternalServerException
+// An internal error has occurred. Try your call again.
+//
+// - ServiceUnavailableException
+// The request has failed due to a temporary failure of the server.
+//
+// - AccessDeniedException
+// You do not have sufficient access to perform this action.
+//
+// - InvalidParameterValueException
+// The value supplied for the input parameter is out of range or not valid.
+//
+// - ResourceNotFoundException
+// A resource that is required for the action doesn't exist.
+//
+// - MissingAuthenticationToken
+// The request must contain either a valid (registered) Amazon Web Services
+// access key ID or X.509 certificate.
+//
+// - ThrottlingException
+// The request was denied due to request throttling.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/PutRecommendationPreferences
+func (c *ComputeOptimizer) PutRecommendationPreferences(input *PutRecommendationPreferencesInput) (*PutRecommendationPreferencesOutput, error) {
+ req, out := c.PutRecommendationPreferencesRequest(input)
+ return out, req.Send()
+}
+
+// PutRecommendationPreferencesWithContext is the same as PutRecommendationPreferences with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutRecommendationPreferences 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 *ComputeOptimizer) PutRecommendationPreferencesWithContext(ctx aws.Context, input *PutRecommendationPreferencesInput, opts ...request.Option) (*PutRecommendationPreferencesOutput, error) {
+ req, out := c.PutRecommendationPreferencesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opUpdateEnrollmentStatus = "UpdateEnrollmentStatus"
+
+// UpdateEnrollmentStatusRequest generates a "aws/request.Request" representing the
+// client's request for the UpdateEnrollmentStatus 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 UpdateEnrollmentStatus for more information on using the UpdateEnrollmentStatus
+// 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 UpdateEnrollmentStatusRequest method.
+// req, resp := client.UpdateEnrollmentStatusRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/UpdateEnrollmentStatus
+func (c *ComputeOptimizer) UpdateEnrollmentStatusRequest(input *UpdateEnrollmentStatusInput) (req *request.Request, output *UpdateEnrollmentStatusOutput) {
+ op := &request.Operation{
+ Name: opUpdateEnrollmentStatus,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &UpdateEnrollmentStatusInput{}
+ }
+
+ output = &UpdateEnrollmentStatusOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// UpdateEnrollmentStatus API operation for AWS Compute Optimizer.
//
// Updates the enrollment (opt in and opt out) status of an account to the Compute
// Optimizer service.
@@ -2398,26 +3002,19 @@ func (s *AutoScalingGroupRecommendationOption) SetSavingsOpportunity(v *SavingsO
return s
}
-// Describes the performance risk ratings for a given resource type.
-//
-// Resources with a high or medium rating are at risk of not meeting the performance
-// needs of their workloads, while resources with a low rating are performing
-// well in their workloads.
-type CurrentPerformanceRiskRatings struct {
+// Describes the container configurations within the tasks of your Amazon ECS
+// service.
+type ContainerConfiguration struct {
_ struct{} `type:"structure"`
- // A count of the applicable resource types with a high performance risk rating.
- High *int64 `locationName:"high" type:"long"`
-
- // A count of the applicable resource types with a low performance risk rating.
- Low *int64 `locationName:"low" type:"long"`
+ // The name of the container.
+ ContainerName *string `locationName:"containerName" type:"string"`
- // A count of the applicable resource types with a medium performance risk rating.
- Medium *int64 `locationName:"medium" type:"long"`
+ // The number of CPU units reserved for the container.
+ Cpu *int64 `locationName:"cpu" type:"integer"`
- // A count of the applicable resource types with a very low performance risk
- // rating.
- VeryLow *int64 `locationName:"veryLow" type:"long"`
+ // The memory size configurations for the container.
+ MemorySizeConfiguration *MemorySizeConfiguration `locationName:"memorySizeConfiguration" type:"structure"`
}
// String returns the string representation.
@@ -2425,7 +3022,7 @@ type CurrentPerformanceRiskRatings 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 CurrentPerformanceRiskRatings) String() string {
+func (s ContainerConfiguration) String() string {
return awsutil.Prettify(s)
}
@@ -2434,13 +3031,122 @@ func (s CurrentPerformanceRiskRatings) 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 CurrentPerformanceRiskRatings) GoString() string {
+func (s ContainerConfiguration) GoString() string {
return s.String()
}
-// SetHigh sets the High field's value.
-func (s *CurrentPerformanceRiskRatings) SetHigh(v int64) *CurrentPerformanceRiskRatings {
- s.High = &v
+// SetContainerName sets the ContainerName field's value.
+func (s *ContainerConfiguration) SetContainerName(v string) *ContainerConfiguration {
+ s.ContainerName = &v
+ return s
+}
+
+// SetCpu sets the Cpu field's value.
+func (s *ContainerConfiguration) SetCpu(v int64) *ContainerConfiguration {
+ s.Cpu = &v
+ return s
+}
+
+// SetMemorySizeConfiguration sets the MemorySizeConfiguration field's value.
+func (s *ContainerConfiguration) SetMemorySizeConfiguration(v *MemorySizeConfiguration) *ContainerConfiguration {
+ s.MemorySizeConfiguration = v
+ return s
+}
+
+// The CPU and memory recommendations for a container within the tasks of your
+// Amazon ECS service.
+type ContainerRecommendation struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the container.
+ ContainerName *string `locationName:"containerName" type:"string"`
+
+ // The recommended number of CPU units reserved for the container.
+ Cpu *int64 `locationName:"cpu" type:"integer"`
+
+ // The recommended memory size configurations for the container.
+ MemorySizeConfiguration *MemorySizeConfiguration `locationName:"memorySizeConfiguration" 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 ContainerRecommendation) 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 ContainerRecommendation) GoString() string {
+ return s.String()
+}
+
+// SetContainerName sets the ContainerName field's value.
+func (s *ContainerRecommendation) SetContainerName(v string) *ContainerRecommendation {
+ s.ContainerName = &v
+ return s
+}
+
+// SetCpu sets the Cpu field's value.
+func (s *ContainerRecommendation) SetCpu(v int64) *ContainerRecommendation {
+ s.Cpu = &v
+ return s
+}
+
+// SetMemorySizeConfiguration sets the MemorySizeConfiguration field's value.
+func (s *ContainerRecommendation) SetMemorySizeConfiguration(v *MemorySizeConfiguration) *ContainerRecommendation {
+ s.MemorySizeConfiguration = v
+ return s
+}
+
+// Describes the performance risk ratings for a given resource type.
+//
+// Resources with a high or medium rating are at risk of not meeting the performance
+// needs of their workloads, while resources with a low rating are performing
+// well in their workloads.
+type CurrentPerformanceRiskRatings struct {
+ _ struct{} `type:"structure"`
+
+ // A count of the applicable resource types with a high performance risk rating.
+ High *int64 `locationName:"high" type:"long"`
+
+ // A count of the applicable resource types with a low performance risk rating.
+ Low *int64 `locationName:"low" type:"long"`
+
+ // A count of the applicable resource types with a medium performance risk rating.
+ Medium *int64 `locationName:"medium" type:"long"`
+
+ // A count of the applicable resource types with a very low performance risk
+ // rating.
+ VeryLow *int64 `locationName:"veryLow" type:"long"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s CurrentPerformanceRiskRatings) 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 CurrentPerformanceRiskRatings) GoString() string {
+ return s.String()
+}
+
+// SetHigh sets the High field's value.
+func (s *CurrentPerformanceRiskRatings) SetHigh(v int64) *CurrentPerformanceRiskRatings {
+ s.High = &v
return s
}
@@ -2596,7 +3302,572 @@ type DescribeRecommendationExportJobsInput 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 DescribeRecommendationExportJobsInput) String() string {
+func (s DescribeRecommendationExportJobsInput) 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 DescribeRecommendationExportJobsInput) GoString() string {
+ return s.String()
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeRecommendationExportJobsInput) SetFilters(v []*JobFilter) *DescribeRecommendationExportJobsInput {
+ s.Filters = v
+ return s
+}
+
+// SetJobIds sets the JobIds field's value.
+func (s *DescribeRecommendationExportJobsInput) SetJobIds(v []*string) *DescribeRecommendationExportJobsInput {
+ s.JobIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeRecommendationExportJobsInput) SetMaxResults(v int64) *DescribeRecommendationExportJobsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeRecommendationExportJobsInput) SetNextToken(v string) *DescribeRecommendationExportJobsInput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeRecommendationExportJobsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The token to use to advance to the next page of export jobs.
+ //
+ // This value is null when there are no more pages of export jobs to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // An array of objects that describe recommendation export jobs.
+ RecommendationExportJobs []*RecommendationExportJob `locationName:"recommendationExportJobs" type:"list"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s DescribeRecommendationExportJobsOutput) 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 DescribeRecommendationExportJobsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeRecommendationExportJobsOutput) SetNextToken(v string) *DescribeRecommendationExportJobsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetRecommendationExportJobs sets the RecommendationExportJobs field's value.
+func (s *DescribeRecommendationExportJobsOutput) SetRecommendationExportJobs(v []*RecommendationExportJob) *DescribeRecommendationExportJobsOutput {
+ s.RecommendationExportJobs = v
+ return s
+}
+
+// Describes a filter that returns a more specific list of Amazon Elastic Block
+// Store (Amazon EBS) volume recommendations. Use this filter with the GetEBSVolumeRecommendations
+// action.
+//
+// You can use LambdaFunctionRecommendationFilter with the GetLambdaFunctionRecommendations
+// action, JobFilter with the DescribeRecommendationExportJobs action, and Filter
+// with the GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations
+// actions.
+type EBSFilter struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the filter.
+ //
+ // Specify Finding to return recommendations with a specific finding classification
+ // (for example, NotOptimized).
+ Name *string `locationName:"name" type:"string" enum:"EBSFilterName"`
+
+ // The value of the filter.
+ //
+ // The valid values are Optimized, or NotOptimized.
+ Values []*string `locationName:"values" type:"list"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s EBSFilter) 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 EBSFilter) GoString() string {
+ return s.String()
+}
+
+// SetName sets the Name field's value.
+func (s *EBSFilter) SetName(v string) *EBSFilter {
+ s.Name = &v
+ return s
+}
+
+// SetValues sets the Values field's value.
+func (s *EBSFilter) SetValues(v []*string) *EBSFilter {
+ s.Values = v
+ return s
+}
+
+// Describes a utilization metric of an Amazon Elastic Block Store (Amazon EBS)
+// volume.
+//
+// Compare the utilization metric data of your resource against its projected
+// utilization metric data to determine the performance difference between your
+// current resource and the recommended option.
+type EBSUtilizationMetric struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the utilization metric.
+ //
+ // The following utilization metrics are available:
+ //
+ // * VolumeReadOpsPerSecond - The completed read operations per second from
+ // the volume in a specified period of time. Unit: Count
+ //
+ // * VolumeWriteOpsPerSecond - The completed write operations per second
+ // to the volume in a specified period of time. Unit: Count
+ //
+ // * VolumeReadBytesPerSecond - The bytes read per second from the volume
+ // in a specified period of time. Unit: Bytes
+ //
+ // * VolumeWriteBytesPerSecond - The bytes written to the volume in a specified
+ // period of time. Unit: Bytes
+ Name *string `locationName:"name" type:"string" enum:"EBSMetricName"`
+
+ // The statistic of the utilization metric.
+ //
+ // The Compute Optimizer API, Command Line Interface (CLI), and SDKs return
+ // utilization metrics using only the Maximum statistic, which is the highest
+ // value observed during the specified period.
+ //
+ // The Compute Optimizer console displays graphs for some utilization metrics
+ // using the Average statistic, which is the value of Sum / SampleCount during
+ // the specified period. For more information, see Viewing resource recommendations
+ // (https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html)
+ // in the Compute Optimizer User Guide. You can also get averaged utilization
+ // metric data for your resources using Amazon CloudWatch. For more information,
+ // see the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html).
+ Statistic *string `locationName:"statistic" type:"string" enum:"MetricStatistic"`
+
+ // The value of the utilization metric.
+ Value *float64 `locationName:"value" type:"double"`
+}
+
+// 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 EBSUtilizationMetric) 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 EBSUtilizationMetric) GoString() string {
+ return s.String()
+}
+
+// SetName sets the Name field's value.
+func (s *EBSUtilizationMetric) SetName(v string) *EBSUtilizationMetric {
+ s.Name = &v
+ return s
+}
+
+// SetStatistic sets the Statistic field's value.
+func (s *EBSUtilizationMetric) SetStatistic(v string) *EBSUtilizationMetric {
+ s.Statistic = &v
+ return s
+}
+
+// SetValue sets the Value field's value.
+func (s *EBSUtilizationMetric) SetValue(v float64) *EBSUtilizationMetric {
+ s.Value = &v
+ return s
+}
+
+// Describes the projected metrics of an Amazon ECS service recommendation option.
+//
+// To determine the performance difference between your current ECS service
+// and the recommended option, compare the metric data of your service against
+// its projected metric data.
+type ECSServiceProjectedMetric struct {
+ _ struct{} `type:"structure"`
+
+ // The lower bound values for the projected metric.
+ LowerBoundValues []*float64 `locationName:"lowerBoundValues" type:"list"`
+
+ // The name of the projected metric.
+ //
+ // The following metrics are available:
+ //
+ // * CPU — The percentage of allocated compute units that are currently
+ // in use on the ECS service tasks.
+ //
+ // * Memory — The percentage of memory that is currently in use on the
+ // ECS service tasks.
+ Name *string `locationName:"name" type:"string" enum:"ECSServiceMetricName"`
+
+ // The timestamps of the projected metric.
+ Timestamps []*time.Time `locationName:"timestamps" type:"list"`
+
+ // The upper bound values for the projected metric.
+ UpperBoundValues []*float64 `locationName:"upperBoundValues" type:"list"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s ECSServiceProjectedMetric) 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 ECSServiceProjectedMetric) GoString() string {
+ return s.String()
+}
+
+// SetLowerBoundValues sets the LowerBoundValues field's value.
+func (s *ECSServiceProjectedMetric) SetLowerBoundValues(v []*float64) *ECSServiceProjectedMetric {
+ s.LowerBoundValues = v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *ECSServiceProjectedMetric) SetName(v string) *ECSServiceProjectedMetric {
+ s.Name = &v
+ return s
+}
+
+// SetTimestamps sets the Timestamps field's value.
+func (s *ECSServiceProjectedMetric) SetTimestamps(v []*time.Time) *ECSServiceProjectedMetric {
+ s.Timestamps = v
+ return s
+}
+
+// SetUpperBoundValues sets the UpperBoundValues field's value.
+func (s *ECSServiceProjectedMetric) SetUpperBoundValues(v []*float64) *ECSServiceProjectedMetric {
+ s.UpperBoundValues = v
+ return s
+}
+
+// Describes the projected utilization metrics of an Amazon ECS service recommendation
+// option.
+//
+// To determine the performance difference between your current ECS service
+// and the recommended option, compare the utilization metric data of your service
+// against its projected utilization metric data.
+type ECSServiceProjectedUtilizationMetric struct {
+ _ struct{} `type:"structure"`
+
+ // The lower bound values for the projected utilization metrics.
+ LowerBoundValue *float64 `locationName:"lowerBoundValue" type:"double"`
+
+ // The name of the projected utilization metric.
+ //
+ // The following utilization metrics are available:
+ //
+ // * CPU — The percentage of allocated compute units that are currently
+ // in use on the ECS service tasks.
+ //
+ // * Memory — The percentage of memory that is currently in use on the
+ // ECS service tasks.
+ Name *string `locationName:"name" type:"string" enum:"ECSServiceMetricName"`
+
+ // The statistic of the projected utilization metric.
+ //
+ // The Compute Optimizer API, Command Line Interface (CLI), and SDKs return
+ // utilization metrics using only the Maximum statistic, which is the highest
+ // value observed during the specified period.
+ //
+ // The Compute Optimizer console displays graphs for some utilization metrics
+ // using the Average statistic, which is the value of Sum / SampleCount during
+ // the specified period. For more information, see Viewing resource recommendations
+ // (https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html)
+ // in the Compute Optimizer User Guide. You can also get averaged utilization
+ // metric data for your resources using Amazon CloudWatch. For more information,
+ // see the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html).
+ Statistic *string `locationName:"statistic" type:"string" enum:"ECSServiceMetricStatistic"`
+
+ // The upper bound values for the projected utilization metrics.
+ UpperBoundValue *float64 `locationName:"upperBoundValue" type:"double"`
+}
+
+// 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 ECSServiceProjectedUtilizationMetric) 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 ECSServiceProjectedUtilizationMetric) GoString() string {
+ return s.String()
+}
+
+// SetLowerBoundValue sets the LowerBoundValue field's value.
+func (s *ECSServiceProjectedUtilizationMetric) SetLowerBoundValue(v float64) *ECSServiceProjectedUtilizationMetric {
+ s.LowerBoundValue = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *ECSServiceProjectedUtilizationMetric) SetName(v string) *ECSServiceProjectedUtilizationMetric {
+ s.Name = &v
+ return s
+}
+
+// SetStatistic sets the Statistic field's value.
+func (s *ECSServiceProjectedUtilizationMetric) SetStatistic(v string) *ECSServiceProjectedUtilizationMetric {
+ s.Statistic = &v
+ return s
+}
+
+// SetUpperBoundValue sets the UpperBoundValue field's value.
+func (s *ECSServiceProjectedUtilizationMetric) SetUpperBoundValue(v float64) *ECSServiceProjectedUtilizationMetric {
+ s.UpperBoundValue = &v
+ return s
+}
+
+// Describes an Amazon ECS service recommendation.
+type ECSServiceRecommendation struct {
+ _ struct{} `type:"structure"`
+
+ // The Amazon Web Services account ID of the ECS service.
+ AccountId *string `locationName:"accountId" type:"string"`
+
+ // The risk of the current ECS service not meeting the performance needs of
+ // its workloads. The higher the risk, the more likely the current service can't
+ // meet the performance requirements of its workload.
+ CurrentPerformanceRisk *string `locationName:"currentPerformanceRisk" type:"string" enum:"CurrentPerformanceRisk"`
+
+ // The configuration of the current ECS service.
+ CurrentServiceConfiguration *ServiceConfiguration `locationName:"currentServiceConfiguration" type:"structure"`
+
+ // The finding classification of an ECS service.
+ //
+ // Findings for ECS services include:
+ //
+ // * Underprovisioned — When Compute Optimizer detects that there’s not
+ // enough memory or CPU, an ECS service is considered under-provisioned.
+ // An under-provisioned ECS service might result in poor application performance.
+ //
+ // * Overprovisioned — When Compute Optimizer detects that there’s excessive
+ // memory or CPU, an ECS service is considered over-provisioned. An over-provisioned
+ // ECS service might result in additional infrastructure costs.
+ //
+ // * Optimized — When both the CPU and memory of your ECS service meet
+ // the performance requirements of your workload, the service is considered
+ // optimized.
+ Finding *string `locationName:"finding" type:"string" enum:"ECSServiceRecommendationFinding"`
+
+ // The reason for the finding classification of an ECS service.
+ //
+ // Finding reason codes for ECS services include:
+ //
+ // * CPUUnderprovisioned — The ECS service CPU configuration can be sized
+ // up to enhance the performance of your workload. This is identified by
+ // analyzing the CPUUtilization metric of the current service during the
+ // look-back period.
+ //
+ // * CPUOverprovisioned — The ECS service CPU configuration can be sized
+ // down while still meeting the performance requirements of your workload.
+ // This is identified by analyzing the CPUUtilization metric of the current
+ // service during the look-back period.
+ //
+ // * MemoryUnderprovisioned — The ECS service memory configuration can
+ // be sized up to enhance the performance of your workload. This is identified
+ // by analyzing the MemoryUtilization metric of the current service during
+ // the look-back period.
+ //
+ // * MemoryOverprovisioned — The ECS service memory configuration can be
+ // sized down while still meeting the performance requirements of your workload.
+ // This is identified by analyzing the MemoryUtilization metric of the current
+ // service during the look-back period.
+ FindingReasonCodes []*string `locationName:"findingReasonCodes" type:"list" enum:"ECSServiceRecommendationFindingReasonCode"`
+
+ // The timestamp of when the ECS service recommendation was last generated.
+ LastRefreshTimestamp *time.Time `locationName:"lastRefreshTimestamp" type:"timestamp"`
+
+ // The launch type the ECS service is using.
+ //
+ // Compute Optimizer only supports the Fargate launch type.
+ LaunchType *string `locationName:"launchType" type:"string" enum:"ECSServiceLaunchType"`
+
+ // The number of days the ECS service utilization metrics were analyzed.
+ LookbackPeriodInDays *float64 `locationName:"lookbackPeriodInDays" type:"double"`
+
+ // The Amazon Resource Name (ARN) of the current ECS service.
+ //
+ // The following is the format of the ARN:
+ //
+ // arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name
+ ServiceArn *string `locationName:"serviceArn" type:"string"`
+
+ // An array of objects that describe the recommendation options for the ECS
+ // service.
+ ServiceRecommendationOptions []*ECSServiceRecommendationOption `locationName:"serviceRecommendationOptions" type:"list"`
+
+ // An array of objects that describe the utilization metrics of the ECS service.
+ UtilizationMetrics []*ECSServiceUtilizationMetric `locationName:"utilizationMetrics" type:"list"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s ECSServiceRecommendation) 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 ECSServiceRecommendation) GoString() string {
+ return s.String()
+}
+
+// SetAccountId sets the AccountId field's value.
+func (s *ECSServiceRecommendation) SetAccountId(v string) *ECSServiceRecommendation {
+ s.AccountId = &v
+ return s
+}
+
+// SetCurrentPerformanceRisk sets the CurrentPerformanceRisk field's value.
+func (s *ECSServiceRecommendation) SetCurrentPerformanceRisk(v string) *ECSServiceRecommendation {
+ s.CurrentPerformanceRisk = &v
+ return s
+}
+
+// SetCurrentServiceConfiguration sets the CurrentServiceConfiguration field's value.
+func (s *ECSServiceRecommendation) SetCurrentServiceConfiguration(v *ServiceConfiguration) *ECSServiceRecommendation {
+ s.CurrentServiceConfiguration = v
+ return s
+}
+
+// SetFinding sets the Finding field's value.
+func (s *ECSServiceRecommendation) SetFinding(v string) *ECSServiceRecommendation {
+ s.Finding = &v
+ return s
+}
+
+// SetFindingReasonCodes sets the FindingReasonCodes field's value.
+func (s *ECSServiceRecommendation) SetFindingReasonCodes(v []*string) *ECSServiceRecommendation {
+ s.FindingReasonCodes = v
+ return s
+}
+
+// SetLastRefreshTimestamp sets the LastRefreshTimestamp field's value.
+func (s *ECSServiceRecommendation) SetLastRefreshTimestamp(v time.Time) *ECSServiceRecommendation {
+ s.LastRefreshTimestamp = &v
+ return s
+}
+
+// SetLaunchType sets the LaunchType field's value.
+func (s *ECSServiceRecommendation) SetLaunchType(v string) *ECSServiceRecommendation {
+ s.LaunchType = &v
+ return s
+}
+
+// SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value.
+func (s *ECSServiceRecommendation) SetLookbackPeriodInDays(v float64) *ECSServiceRecommendation {
+ s.LookbackPeriodInDays = &v
+ return s
+}
+
+// SetServiceArn sets the ServiceArn field's value.
+func (s *ECSServiceRecommendation) SetServiceArn(v string) *ECSServiceRecommendation {
+ s.ServiceArn = &v
+ return s
+}
+
+// SetServiceRecommendationOptions sets the ServiceRecommendationOptions field's value.
+func (s *ECSServiceRecommendation) SetServiceRecommendationOptions(v []*ECSServiceRecommendationOption) *ECSServiceRecommendation {
+ s.ServiceRecommendationOptions = v
+ return s
+}
+
+// SetUtilizationMetrics sets the UtilizationMetrics field's value.
+func (s *ECSServiceRecommendation) SetUtilizationMetrics(v []*ECSServiceUtilizationMetric) *ECSServiceRecommendation {
+ s.UtilizationMetrics = v
+ return s
+}
+
+// Describes a filter that returns a more specific list of Amazon ECS service
+// recommendations. Use this filter with the GetECSServiceRecommendations action.
+type ECSServiceRecommendationFilter struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the filter.
+ //
+ // Specify Finding to return recommendations with a specific finding classification.
+ //
+ // Specify FindingReasonCode to return recommendations with a specific finding
+ // reason code.
+ Name *string `locationName:"name" type:"string" enum:"ECSServiceRecommendationFilterName"`
+
+ // The value of the filter.
+ //
+ // The valid values for this parameter are as follows:
+ //
+ // * If you specify the name parameter as Finding, specify Optimized, NotOptimized,
+ // or Unavailable.
+ //
+ // * If you specify the name parameter as FindingReasonCode, specify CPUUnderprovisioned,
+ // CPUOverprovisioned, MemoryUnderprovisioned, or MemoryOverprovisioned.
+ Values []*string `locationName:"values" type:"list"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s ECSServiceRecommendationFilter) String() string {
return awsutil.Prettify(s)
}
@@ -2605,44 +3876,57 @@ func (s DescribeRecommendationExportJobsInput) 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 DescribeRecommendationExportJobsInput) GoString() string {
+func (s ECSServiceRecommendationFilter) GoString() string {
return s.String()
}
-// SetFilters sets the Filters field's value.
-func (s *DescribeRecommendationExportJobsInput) SetFilters(v []*JobFilter) *DescribeRecommendationExportJobsInput {
- s.Filters = v
+// SetName sets the Name field's value.
+func (s *ECSServiceRecommendationFilter) SetName(v string) *ECSServiceRecommendationFilter {
+ s.Name = &v
return s
}
-// SetJobIds sets the JobIds field's value.
-func (s *DescribeRecommendationExportJobsInput) SetJobIds(v []*string) *DescribeRecommendationExportJobsInput {
- s.JobIds = v
+// SetValues sets the Values field's value.
+func (s *ECSServiceRecommendationFilter) SetValues(v []*string) *ECSServiceRecommendationFilter {
+ s.Values = v
return s
}
-// SetMaxResults sets the MaxResults field's value.
-func (s *DescribeRecommendationExportJobsInput) SetMaxResults(v int64) *DescribeRecommendationExportJobsInput {
- s.MaxResults = &v
- return s
-}
+// Describes the recommendation options for an Amazon ECS service.
+type ECSServiceRecommendationOption struct {
+ _ struct{} `type:"structure"`
-// SetNextToken sets the NextToken field's value.
-func (s *DescribeRecommendationExportJobsInput) SetNextToken(v string) *DescribeRecommendationExportJobsInput {
- s.NextToken = &v
- return s
-}
+ // The CPU and memory size recommendations for the containers within the task
+ // of your ECS service.
+ ContainerRecommendations []*ContainerRecommendation `locationName:"containerRecommendations" type:"list"`
-type DescribeRecommendationExportJobsOutput struct {
- _ struct{} `type:"structure"`
+ // The CPU size of the ECS service recommendation option.
+ Cpu *int64 `locationName:"cpu" type:"integer"`
- // The token to use to advance to the next page of export jobs.
- //
- // This value is null when there are no more pages of export jobs to return.
- NextToken *string `locationName:"nextToken" type:"string"`
+ // The memory size of the ECS service recommendation option.
+ Memory *int64 `locationName:"memory" type:"integer"`
- // An array of objects that describe recommendation export jobs.
- RecommendationExportJobs []*RecommendationExportJob `locationName:"recommendationExportJobs" type:"list"`
+ // An array of objects that describe the projected utilization metrics of the
+ // ECS service recommendation option.
+ ProjectedUtilizationMetrics []*ECSServiceProjectedUtilizationMetric `locationName:"projectedUtilizationMetrics" type:"list"`
+
+ // Describes the savings opportunity for recommendations of a given resource
+ // type or for the recommendation option of an individual resource.
+ //
+ // Savings opportunity represents the estimated monthly savings you can achieve
+ // by implementing a given Compute Optimizer recommendation.
+ //
+ // Savings opportunity data requires that you opt in to Cost Explorer, as well
+ // as activate Receive Amazon EC2 resource recommendations in the Cost Explorer
+ // preferences page. That creates a connection between Cost Explorer and Compute
+ // Optimizer. With this connection, Cost Explorer generates savings estimates
+ // considering the price of existing resources, the price of recommended resources,
+ // and historical usage data. Estimated monthly savings reflects the projected
+ // dollar savings associated with each of the recommendations generated. For
+ // more information, see Enabling Cost Explorer (https://docs.aws.amazon.com/cost-management/latest/userguide/ce-enable.html)
+ // and Optimizing your cost with Rightsizing Recommendations (https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html)
+ // in the Cost Management User Guide.
+ SavingsOpportunity *SavingsOpportunity `locationName:"savingsOpportunity" type:"structure"`
}
// String returns the string representation.
@@ -2650,7 +3934,7 @@ type DescribeRecommendationExportJobsOutput 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 DescribeRecommendationExportJobsOutput) String() string {
+func (s ECSServiceRecommendationOption) String() string {
return awsutil.Prettify(s)
}
@@ -2659,43 +3943,56 @@ func (s DescribeRecommendationExportJobsOutput) 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 DescribeRecommendationExportJobsOutput) GoString() string {
+func (s ECSServiceRecommendationOption) GoString() string {
return s.String()
}
-// SetNextToken sets the NextToken field's value.
-func (s *DescribeRecommendationExportJobsOutput) SetNextToken(v string) *DescribeRecommendationExportJobsOutput {
- s.NextToken = &v
+// SetContainerRecommendations sets the ContainerRecommendations field's value.
+func (s *ECSServiceRecommendationOption) SetContainerRecommendations(v []*ContainerRecommendation) *ECSServiceRecommendationOption {
+ s.ContainerRecommendations = v
return s
}
-// SetRecommendationExportJobs sets the RecommendationExportJobs field's value.
-func (s *DescribeRecommendationExportJobsOutput) SetRecommendationExportJobs(v []*RecommendationExportJob) *DescribeRecommendationExportJobsOutput {
- s.RecommendationExportJobs = v
+// SetCpu sets the Cpu field's value.
+func (s *ECSServiceRecommendationOption) SetCpu(v int64) *ECSServiceRecommendationOption {
+ s.Cpu = &v
return s
}
-// Describes a filter that returns a more specific list of Amazon Elastic Block
-// Store (Amazon EBS) volume recommendations. Use this filter with the GetEBSVolumeRecommendations
-// action.
+// SetMemory sets the Memory field's value.
+func (s *ECSServiceRecommendationOption) SetMemory(v int64) *ECSServiceRecommendationOption {
+ s.Memory = &v
+ return s
+}
+
+// SetProjectedUtilizationMetrics sets the ProjectedUtilizationMetrics field's value.
+func (s *ECSServiceRecommendationOption) SetProjectedUtilizationMetrics(v []*ECSServiceProjectedUtilizationMetric) *ECSServiceRecommendationOption {
+ s.ProjectedUtilizationMetrics = v
+ return s
+}
+
+// SetSavingsOpportunity sets the SavingsOpportunity field's value.
+func (s *ECSServiceRecommendationOption) SetSavingsOpportunity(v *SavingsOpportunity) *ECSServiceRecommendationOption {
+ s.SavingsOpportunity = v
+ return s
+}
+
+// Describes the projected metrics of an Amazon ECS service recommendation option.
//
-// You can use LambdaFunctionRecommendationFilter with the GetLambdaFunctionRecommendations
-// action, JobFilter with the DescribeRecommendationExportJobs action, and Filter
-// with the GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations
-// actions.
-type EBSFilter struct {
+// To determine the performance difference between your current ECS service
+// and the recommended option, compare the metric data of your service against
+// its projected metric data.
+type ECSServiceRecommendedOptionProjectedMetric struct {
_ struct{} `type:"structure"`
- // The name of the filter.
- //
- // Specify Finding to return recommendations with a specific finding classification
- // (for example, NotOptimized).
- Name *string `locationName:"name" type:"string" enum:"EBSFilterName"`
+ // An array of objects that describe the projected metric.
+ ProjectedMetrics []*ECSServiceProjectedMetric `locationName:"projectedMetrics" type:"list"`
- // The value of the filter.
- //
- // The valid values are Optimized, or NotOptimized.
- Values []*string `locationName:"values" type:"list"`
+ // The recommended CPU size for the ECS service.
+ RecommendedCpuUnits *int64 `locationName:"recommendedCpuUnits" type:"integer"`
+
+ // The recommended memory size for the ECS service.
+ RecommendedMemorySize *int64 `locationName:"recommendedMemorySize" type:"integer"`
}
// String returns the string representation.
@@ -2703,7 +4000,7 @@ type EBSFilter 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 EBSFilter) String() string {
+func (s ECSServiceRecommendedOptionProjectedMetric) String() string {
return awsutil.Prettify(s)
}
@@ -2712,47 +4009,44 @@ func (s EBSFilter) 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 EBSFilter) GoString() string {
+func (s ECSServiceRecommendedOptionProjectedMetric) GoString() string {
return s.String()
}
-// SetName sets the Name field's value.
-func (s *EBSFilter) SetName(v string) *EBSFilter {
- s.Name = &v
+// SetProjectedMetrics sets the ProjectedMetrics field's value.
+func (s *ECSServiceRecommendedOptionProjectedMetric) SetProjectedMetrics(v []*ECSServiceProjectedMetric) *ECSServiceRecommendedOptionProjectedMetric {
+ s.ProjectedMetrics = v
return s
}
-// SetValues sets the Values field's value.
-func (s *EBSFilter) SetValues(v []*string) *EBSFilter {
- s.Values = v
+// SetRecommendedCpuUnits sets the RecommendedCpuUnits field's value.
+func (s *ECSServiceRecommendedOptionProjectedMetric) SetRecommendedCpuUnits(v int64) *ECSServiceRecommendedOptionProjectedMetric {
+ s.RecommendedCpuUnits = &v
return s
}
-// Describes a utilization metric of an Amazon Elastic Block Store (Amazon EBS)
-// volume.
+// SetRecommendedMemorySize sets the RecommendedMemorySize field's value.
+func (s *ECSServiceRecommendedOptionProjectedMetric) SetRecommendedMemorySize(v int64) *ECSServiceRecommendedOptionProjectedMetric {
+ s.RecommendedMemorySize = &v
+ return s
+}
+
+// Describes the utilization metric of an Amazon ECS service.
//
-// Compare the utilization metric data of your resource against its projected
-// utilization metric data to determine the performance difference between your
-// current resource and the recommended option.
-type EBSUtilizationMetric struct {
+// To determine the performance difference between your current ECS service
+// and the recommended option, compare the utilization metric data of your service
+// against its projected utilization metric data.
+type ECSServiceUtilizationMetric struct {
_ struct{} `type:"structure"`
// The name of the utilization metric.
//
// The following utilization metrics are available:
//
- // * VolumeReadOpsPerSecond - The completed read operations per second from
- // the volume in a specified period of time. Unit: Count
- //
- // * VolumeWriteOpsPerSecond - The completed write operations per second
- // to the volume in a specified period of time. Unit: Count
- //
- // * VolumeReadBytesPerSecond - The bytes read per second from the volume
- // in a specified period of time. Unit: Bytes
+ // * Cpu — The amount of CPU units that are used in the service.
//
- // * VolumeWriteBytesPerSecond - The bytes written to the volume in a specified
- // period of time. Unit: Bytes
- Name *string `locationName:"name" type:"string" enum:"EBSMetricName"`
+ // * Memory — The amount of memory that is used in the service.
+ Name *string `locationName:"name" type:"string" enum:"ECSServiceMetricName"`
// The statistic of the utilization metric.
//
@@ -2767,7 +4061,7 @@ type EBSUtilizationMetric struct {
// in the Compute Optimizer User Guide. You can also get averaged utilization
// metric data for your resources using Amazon CloudWatch. For more information,
// see the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html).
- Statistic *string `locationName:"statistic" type:"string" enum:"MetricStatistic"`
+ Statistic *string `locationName:"statistic" type:"string" enum:"ECSServiceMetricStatistic"`
// The value of the utilization metric.
Value *float64 `locationName:"value" type:"double"`
@@ -2778,7 +4072,7 @@ type EBSUtilizationMetric 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 EBSUtilizationMetric) String() string {
+func (s ECSServiceUtilizationMetric) String() string {
return awsutil.Prettify(s)
}
@@ -2787,24 +4081,24 @@ func (s EBSUtilizationMetric) 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 EBSUtilizationMetric) GoString() string {
+func (s ECSServiceUtilizationMetric) GoString() string {
return s.String()
}
// SetName sets the Name field's value.
-func (s *EBSUtilizationMetric) SetName(v string) *EBSUtilizationMetric {
+func (s *ECSServiceUtilizationMetric) SetName(v string) *ECSServiceUtilizationMetric {
s.Name = &v
return s
}
// SetStatistic sets the Statistic field's value.
-func (s *EBSUtilizationMetric) SetStatistic(v string) *EBSUtilizationMetric {
+func (s *ECSServiceUtilizationMetric) SetStatistic(v string) *ECSServiceUtilizationMetric {
s.Statistic = &v
return s
}
// SetValue sets the Value field's value.
-func (s *EBSUtilizationMetric) SetValue(v float64) *EBSUtilizationMetric {
+func (s *ECSServiceUtilizationMetric) SetValue(v float64) *ECSServiceUtilizationMetric {
s.Value = &v
return s
}
@@ -3560,7 +4854,185 @@ type ExportEC2InstanceRecommendationsOutput 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 ExportEC2InstanceRecommendationsOutput) String() string {
+func (s ExportEC2InstanceRecommendationsOutput) 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 ExportEC2InstanceRecommendationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetJobId sets the JobId field's value.
+func (s *ExportEC2InstanceRecommendationsOutput) SetJobId(v string) *ExportEC2InstanceRecommendationsOutput {
+ s.JobId = &v
+ return s
+}
+
+// SetS3Destination sets the S3Destination field's value.
+func (s *ExportEC2InstanceRecommendationsOutput) SetS3Destination(v *S3Destination) *ExportEC2InstanceRecommendationsOutput {
+ s.S3Destination = v
+ return s
+}
+
+type ExportECSServiceRecommendationsInput struct {
+ _ struct{} `type:"structure"`
+
+ // The Amazon Web Services account IDs for the export ECS service recommendations.
+ //
+ // If your account is the management account or the delegated administrator
+ // of an organization, use this parameter to specify the member account you
+ // want to export recommendations to.
+ //
+ // This parameter can't be specified together with the include member accounts
+ // parameter. The parameters are mutually exclusive.
+ //
+ // If this parameter or the include member accounts parameter is omitted, the
+ // recommendations for member accounts aren't included in the export.
+ //
+ // You can specify multiple account IDs per request.
+ AccountIds []*string `locationName:"accountIds" type:"list"`
+
+ // The recommendations data to include in the export file. For more information
+ // about the fields that can be exported, see Exported files (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files)
+ // in the Compute Optimizer User Guide.
+ FieldsToExport []*string `locationName:"fieldsToExport" type:"list" enum:"ExportableECSServiceField"`
+
+ // The format of the export file.
+ //
+ // The CSV file is the only export file format currently supported.
+ FileFormat *string `locationName:"fileFormat" type:"string" enum:"FileFormat"`
+
+ // An array of objects to specify a filter that exports a more specific set
+ // of ECS service recommendations.
+ Filters []*ECSServiceRecommendationFilter `locationName:"filters" type:"list"`
+
+ // If your account is the management account or the delegated administrator
+ // of an organization, this parameter indicates whether to include recommendations
+ // for resources in all member accounts of the organization.
+ //
+ // The member accounts must also be opted in to Compute Optimizer, and trusted
+ // access for Compute Optimizer must be enabled in the organization account.
+ // For more information, see Compute Optimizer and Amazon Web Services Organizations
+ // trusted access (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access)
+ // in the Compute Optimizer User Guide.
+ //
+ // If this parameter is omitted, recommendations for member accounts of the
+ // organization aren't included in the export file.
+ //
+ // If this parameter or the account ID parameter is omitted, recommendations
+ // for member accounts aren't included in the export.
+ IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"`
+
+ // Describes the destination Amazon Simple Storage Service (Amazon S3) bucket
+ // name and key prefix for a recommendations export job.
+ //
+ // You must create the destination Amazon S3 bucket for your recommendations
+ // export before you create the export job. Compute Optimizer does not create
+ // the S3 bucket for you. After you create the S3 bucket, ensure that it has
+ // the required permission policy to allow Compute Optimizer to write the export
+ // file to it. If you plan to specify an object prefix when you create the export
+ // job, you must include the object prefix in the policy that you add to the
+ // S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute
+ // Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html)
+ // in the Compute Optimizer User Guide.
+ //
+ // S3DestinationConfig is a required field
+ S3DestinationConfig *S3DestinationConfig `locationName:"s3DestinationConfig" 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 ExportECSServiceRecommendationsInput) 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 ExportECSServiceRecommendationsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ExportECSServiceRecommendationsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ExportECSServiceRecommendationsInput"}
+ if s.S3DestinationConfig == nil {
+ invalidParams.Add(request.NewErrParamRequired("S3DestinationConfig"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAccountIds sets the AccountIds field's value.
+func (s *ExportECSServiceRecommendationsInput) SetAccountIds(v []*string) *ExportECSServiceRecommendationsInput {
+ s.AccountIds = v
+ return s
+}
+
+// SetFieldsToExport sets the FieldsToExport field's value.
+func (s *ExportECSServiceRecommendationsInput) SetFieldsToExport(v []*string) *ExportECSServiceRecommendationsInput {
+ s.FieldsToExport = v
+ return s
+}
+
+// SetFileFormat sets the FileFormat field's value.
+func (s *ExportECSServiceRecommendationsInput) SetFileFormat(v string) *ExportECSServiceRecommendationsInput {
+ s.FileFormat = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *ExportECSServiceRecommendationsInput) SetFilters(v []*ECSServiceRecommendationFilter) *ExportECSServiceRecommendationsInput {
+ s.Filters = v
+ return s
+}
+
+// SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value.
+func (s *ExportECSServiceRecommendationsInput) SetIncludeMemberAccounts(v bool) *ExportECSServiceRecommendationsInput {
+ s.IncludeMemberAccounts = &v
+ return s
+}
+
+// SetS3DestinationConfig sets the S3DestinationConfig field's value.
+func (s *ExportECSServiceRecommendationsInput) SetS3DestinationConfig(v *S3DestinationConfig) *ExportECSServiceRecommendationsInput {
+ s.S3DestinationConfig = v
+ return s
+}
+
+type ExportECSServiceRecommendationsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The identification number of the export job.
+ //
+ // To view the status of an export job, use the DescribeRecommendationExportJobs
+ // action and specify the job ID.
+ JobId *string `locationName:"jobId" type:"string"`
+
+ // Describes the destination Amazon Simple Storage Service (Amazon S3) bucket
+ // name and object keys of a recommendations export file, and its associated
+ // metadata file.
+ S3Destination *S3Destination `locationName:"s3Destination" 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 ExportECSServiceRecommendationsOutput) String() string {
return awsutil.Prettify(s)
}
@@ -3569,18 +5041,18 @@ func (s ExportEC2InstanceRecommendationsOutput) 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 ExportEC2InstanceRecommendationsOutput) GoString() string {
+func (s ExportECSServiceRecommendationsOutput) GoString() string {
return s.String()
}
// SetJobId sets the JobId field's value.
-func (s *ExportEC2InstanceRecommendationsOutput) SetJobId(v string) *ExportEC2InstanceRecommendationsOutput {
+func (s *ExportECSServiceRecommendationsOutput) SetJobId(v string) *ExportECSServiceRecommendationsOutput {
s.JobId = &v
return s
}
// SetS3Destination sets the S3Destination field's value.
-func (s *ExportEC2InstanceRecommendationsOutput) SetS3Destination(v *S3Destination) *ExportEC2InstanceRecommendationsOutput {
+func (s *ExportECSServiceRecommendationsOutput) SetS3Destination(v *S3Destination) *ExportECSServiceRecommendationsOutput {
s.S3Destination = v
return s
}
@@ -4344,22 +5816,304 @@ type GetEC2RecommendationProjectedMetricsInput struct {
// The granularity, in seconds, of the projected metrics data points.
//
- // Period is a required field
- Period *int64 `locationName:"period" type:"integer" required:"true"`
+ // Period is a required field
+ Period *int64 `locationName:"period" type:"integer" required:"true"`
+
+ // An object to specify the preferences for the Amazon EC2 recommendation projected
+ // metrics to return in the response.
+ RecommendationPreferences *RecommendationPreferences `locationName:"recommendationPreferences" type:"structure"`
+
+ // The timestamp of the first projected metrics data point to return.
+ //
+ // StartTime is a required field
+ StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
+
+ // The statistic of the projected metrics.
+ //
+ // Stat is a required field
+ Stat *string `locationName:"stat" type:"string" required:"true" enum:"MetricStatistic"`
+}
+
+// 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 GetEC2RecommendationProjectedMetricsInput) 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 GetEC2RecommendationProjectedMetricsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetEC2RecommendationProjectedMetricsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetEC2RecommendationProjectedMetricsInput"}
+ if s.EndTime == nil {
+ invalidParams.Add(request.NewErrParamRequired("EndTime"))
+ }
+ if s.InstanceArn == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
+ }
+ if s.Period == nil {
+ invalidParams.Add(request.NewErrParamRequired("Period"))
+ }
+ if s.StartTime == nil {
+ invalidParams.Add(request.NewErrParamRequired("StartTime"))
+ }
+ if s.Stat == nil {
+ invalidParams.Add(request.NewErrParamRequired("Stat"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetEndTime sets the EndTime field's value.
+func (s *GetEC2RecommendationProjectedMetricsInput) SetEndTime(v time.Time) *GetEC2RecommendationProjectedMetricsInput {
+ s.EndTime = &v
+ return s
+}
+
+// SetInstanceArn sets the InstanceArn field's value.
+func (s *GetEC2RecommendationProjectedMetricsInput) SetInstanceArn(v string) *GetEC2RecommendationProjectedMetricsInput {
+ s.InstanceArn = &v
+ return s
+}
+
+// SetPeriod sets the Period field's value.
+func (s *GetEC2RecommendationProjectedMetricsInput) SetPeriod(v int64) *GetEC2RecommendationProjectedMetricsInput {
+ s.Period = &v
+ return s
+}
+
+// SetRecommendationPreferences sets the RecommendationPreferences field's value.
+func (s *GetEC2RecommendationProjectedMetricsInput) SetRecommendationPreferences(v *RecommendationPreferences) *GetEC2RecommendationProjectedMetricsInput {
+ s.RecommendationPreferences = v
+ return s
+}
+
+// SetStartTime sets the StartTime field's value.
+func (s *GetEC2RecommendationProjectedMetricsInput) SetStartTime(v time.Time) *GetEC2RecommendationProjectedMetricsInput {
+ s.StartTime = &v
+ return s
+}
+
+// SetStat sets the Stat field's value.
+func (s *GetEC2RecommendationProjectedMetricsInput) SetStat(v string) *GetEC2RecommendationProjectedMetricsInput {
+ s.Stat = &v
+ return s
+}
+
+type GetEC2RecommendationProjectedMetricsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // An array of objects that describes projected metrics.
+ RecommendedOptionProjectedMetrics []*RecommendedOptionProjectedMetric `locationName:"recommendedOptionProjectedMetrics" type:"list"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s GetEC2RecommendationProjectedMetricsOutput) 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 GetEC2RecommendationProjectedMetricsOutput) GoString() string {
+ return s.String()
+}
+
+// SetRecommendedOptionProjectedMetrics sets the RecommendedOptionProjectedMetrics field's value.
+func (s *GetEC2RecommendationProjectedMetricsOutput) SetRecommendedOptionProjectedMetrics(v []*RecommendedOptionProjectedMetric) *GetEC2RecommendationProjectedMetricsOutput {
+ s.RecommendedOptionProjectedMetrics = v
+ return s
+}
+
+type GetECSServiceRecommendationProjectedMetricsInput struct {
+ _ struct{} `type:"structure"`
+
+ // The timestamp of the last projected metrics data point to return.
+ //
+ // EndTime is a required field
+ EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"`
+
+ // The granularity, in seconds, of the projected metrics data points.
+ //
+ // Period is a required field
+ Period *int64 `locationName:"period" type:"integer" required:"true"`
+
+ // The ARN that identifies the ECS service.
+ //
+ // The following is the format of the ARN:
+ //
+ // arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name
+ //
+ // ServiceArn is a required field
+ ServiceArn *string `locationName:"serviceArn" type:"string" required:"true"`
+
+ // The timestamp of the first projected metrics data point to return.
+ //
+ // StartTime is a required field
+ StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
+
+ // The statistic of the projected metrics.
+ //
+ // Stat is a required field
+ Stat *string `locationName:"stat" type:"string" required:"true" enum:"MetricStatistic"`
+}
+
+// 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 GetECSServiceRecommendationProjectedMetricsInput) 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 GetECSServiceRecommendationProjectedMetricsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetECSServiceRecommendationProjectedMetricsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetECSServiceRecommendationProjectedMetricsInput"}
+ if s.EndTime == nil {
+ invalidParams.Add(request.NewErrParamRequired("EndTime"))
+ }
+ if s.Period == nil {
+ invalidParams.Add(request.NewErrParamRequired("Period"))
+ }
+ if s.ServiceArn == nil {
+ invalidParams.Add(request.NewErrParamRequired("ServiceArn"))
+ }
+ if s.StartTime == nil {
+ invalidParams.Add(request.NewErrParamRequired("StartTime"))
+ }
+ if s.Stat == nil {
+ invalidParams.Add(request.NewErrParamRequired("Stat"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetEndTime sets the EndTime field's value.
+func (s *GetECSServiceRecommendationProjectedMetricsInput) SetEndTime(v time.Time) *GetECSServiceRecommendationProjectedMetricsInput {
+ s.EndTime = &v
+ return s
+}
+
+// SetPeriod sets the Period field's value.
+func (s *GetECSServiceRecommendationProjectedMetricsInput) SetPeriod(v int64) *GetECSServiceRecommendationProjectedMetricsInput {
+ s.Period = &v
+ return s
+}
+
+// SetServiceArn sets the ServiceArn field's value.
+func (s *GetECSServiceRecommendationProjectedMetricsInput) SetServiceArn(v string) *GetECSServiceRecommendationProjectedMetricsInput {
+ s.ServiceArn = &v
+ return s
+}
+
+// SetStartTime sets the StartTime field's value.
+func (s *GetECSServiceRecommendationProjectedMetricsInput) SetStartTime(v time.Time) *GetECSServiceRecommendationProjectedMetricsInput {
+ s.StartTime = &v
+ return s
+}
+
+// SetStat sets the Stat field's value.
+func (s *GetECSServiceRecommendationProjectedMetricsInput) SetStat(v string) *GetECSServiceRecommendationProjectedMetricsInput {
+ s.Stat = &v
+ return s
+}
+
+type GetECSServiceRecommendationProjectedMetricsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // An array of objects that describes the projected metrics.
+ RecommendedOptionProjectedMetrics []*ECSServiceRecommendedOptionProjectedMetric `locationName:"recommendedOptionProjectedMetrics" type:"list"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s GetECSServiceRecommendationProjectedMetricsOutput) 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 GetECSServiceRecommendationProjectedMetricsOutput) GoString() string {
+ return s.String()
+}
+
+// SetRecommendedOptionProjectedMetrics sets the RecommendedOptionProjectedMetrics field's value.
+func (s *GetECSServiceRecommendationProjectedMetricsOutput) SetRecommendedOptionProjectedMetrics(v []*ECSServiceRecommendedOptionProjectedMetric) *GetECSServiceRecommendationProjectedMetricsOutput {
+ s.RecommendedOptionProjectedMetrics = v
+ return s
+}
+
+type GetECSServiceRecommendationsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Return the ECS service recommendations to the specified Amazon Web Services
+ // account IDs.
+ //
+ // If your account is the management account or the delegated administrator
+ // of an organization, use this parameter to return the ECS service recommendations
+ // to specific member accounts.
+ //
+ // You can only specify one account ID per request.
+ AccountIds []*string `locationName:"accountIds" type:"list"`
+
+ // An array of objects to specify a filter that returns a more specific list
+ // of ECS service recommendations.
+ Filters []*ECSServiceRecommendationFilter `locationName:"filters" type:"list"`
+
+ // The maximum number of ECS service recommendations to return with a single
+ // request.
+ //
+ // To retrieve the remaining results, make another request with the returned
+ // nextToken value.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
- // An object to specify the preferences for the Amazon EC2 recommendation projected
- // metrics to return in the response.
- RecommendationPreferences *RecommendationPreferences `locationName:"recommendationPreferences" type:"structure"`
+ // The token to advance to the next page of ECS service recommendations.
+ NextToken *string `locationName:"nextToken" type:"string"`
- // The timestamp of the first projected metrics data point to return.
+ // The ARN that identifies the ECS service.
//
- // StartTime is a required field
- StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
-
- // The statistic of the projected metrics.
+ // The following is the format of the ARN:
//
- // Stat is a required field
- Stat *string `locationName:"stat" type:"string" required:"true" enum:"MetricStatistic"`
+ // arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name
+ ServiceArns []*string `locationName:"serviceArns" type:"list"`
}
// String returns the string representation.
@@ -4367,7 +6121,7 @@ type GetEC2RecommendationProjectedMetricsInput 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 GetEC2RecommendationProjectedMetricsInput) String() string {
+func (s GetECSServiceRecommendationsInput) String() string {
return awsutil.Prettify(s)
}
@@ -4376,76 +6130,51 @@ func (s GetEC2RecommendationProjectedMetricsInput) 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 GetEC2RecommendationProjectedMetricsInput) GoString() string {
+func (s GetECSServiceRecommendationsInput) GoString() string {
return s.String()
}
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *GetEC2RecommendationProjectedMetricsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetEC2RecommendationProjectedMetricsInput"}
- if s.EndTime == nil {
- invalidParams.Add(request.NewErrParamRequired("EndTime"))
- }
- if s.InstanceArn == nil {
- invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
- }
- if s.Period == nil {
- invalidParams.Add(request.NewErrParamRequired("Period"))
- }
- if s.StartTime == nil {
- invalidParams.Add(request.NewErrParamRequired("StartTime"))
- }
- if s.Stat == nil {
- invalidParams.Add(request.NewErrParamRequired("Stat"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetEndTime sets the EndTime field's value.
-func (s *GetEC2RecommendationProjectedMetricsInput) SetEndTime(v time.Time) *GetEC2RecommendationProjectedMetricsInput {
- s.EndTime = &v
- return s
-}
-
-// SetInstanceArn sets the InstanceArn field's value.
-func (s *GetEC2RecommendationProjectedMetricsInput) SetInstanceArn(v string) *GetEC2RecommendationProjectedMetricsInput {
- s.InstanceArn = &v
+// SetAccountIds sets the AccountIds field's value.
+func (s *GetECSServiceRecommendationsInput) SetAccountIds(v []*string) *GetECSServiceRecommendationsInput {
+ s.AccountIds = v
return s
}
-// SetPeriod sets the Period field's value.
-func (s *GetEC2RecommendationProjectedMetricsInput) SetPeriod(v int64) *GetEC2RecommendationProjectedMetricsInput {
- s.Period = &v
+// SetFilters sets the Filters field's value.
+func (s *GetECSServiceRecommendationsInput) SetFilters(v []*ECSServiceRecommendationFilter) *GetECSServiceRecommendationsInput {
+ s.Filters = v
return s
}
-// SetRecommendationPreferences sets the RecommendationPreferences field's value.
-func (s *GetEC2RecommendationProjectedMetricsInput) SetRecommendationPreferences(v *RecommendationPreferences) *GetEC2RecommendationProjectedMetricsInput {
- s.RecommendationPreferences = v
+// SetMaxResults sets the MaxResults field's value.
+func (s *GetECSServiceRecommendationsInput) SetMaxResults(v int64) *GetECSServiceRecommendationsInput {
+ s.MaxResults = &v
return s
}
-// SetStartTime sets the StartTime field's value.
-func (s *GetEC2RecommendationProjectedMetricsInput) SetStartTime(v time.Time) *GetEC2RecommendationProjectedMetricsInput {
- s.StartTime = &v
+// SetNextToken sets the NextToken field's value.
+func (s *GetECSServiceRecommendationsInput) SetNextToken(v string) *GetECSServiceRecommendationsInput {
+ s.NextToken = &v
return s
}
-// SetStat sets the Stat field's value.
-func (s *GetEC2RecommendationProjectedMetricsInput) SetStat(v string) *GetEC2RecommendationProjectedMetricsInput {
- s.Stat = &v
+// SetServiceArns sets the ServiceArns field's value.
+func (s *GetECSServiceRecommendationsInput) SetServiceArns(v []*string) *GetECSServiceRecommendationsInput {
+ s.ServiceArns = v
return s
}
-type GetEC2RecommendationProjectedMetricsOutput struct {
+type GetECSServiceRecommendationsOutput struct {
_ struct{} `type:"structure"`
- // An array of objects that describes projected metrics.
- RecommendedOptionProjectedMetrics []*RecommendedOptionProjectedMetric `locationName:"recommendedOptionProjectedMetrics" type:"list"`
+ // An array of objects that describe the ECS service recommendations.
+ EcsServiceRecommendations []*ECSServiceRecommendation `locationName:"ecsServiceRecommendations" type:"list"`
+
+ // An array of objects that describe errors of the request.
+ Errors []*GetRecommendationError `locationName:"errors" type:"list"`
+
+ // The token to advance to the next page of ECS service recommendations.
+ NextToken *string `locationName:"nextToken" type:"string"`
}
// String returns the string representation.
@@ -4453,7 +6182,7 @@ type GetEC2RecommendationProjectedMetricsOutput 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 GetEC2RecommendationProjectedMetricsOutput) String() string {
+func (s GetECSServiceRecommendationsOutput) String() string {
return awsutil.Prettify(s)
}
@@ -4462,13 +6191,25 @@ func (s GetEC2RecommendationProjectedMetricsOutput) 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 GetEC2RecommendationProjectedMetricsOutput) GoString() string {
+func (s GetECSServiceRecommendationsOutput) GoString() string {
return s.String()
}
-// SetRecommendedOptionProjectedMetrics sets the RecommendedOptionProjectedMetrics field's value.
-func (s *GetEC2RecommendationProjectedMetricsOutput) SetRecommendedOptionProjectedMetrics(v []*RecommendedOptionProjectedMetric) *GetEC2RecommendationProjectedMetricsOutput {
- s.RecommendedOptionProjectedMetrics = v
+// SetEcsServiceRecommendations sets the EcsServiceRecommendations field's value.
+func (s *GetECSServiceRecommendationsOutput) SetEcsServiceRecommendations(v []*ECSServiceRecommendation) *GetECSServiceRecommendationsOutput {
+ s.EcsServiceRecommendations = v
+ return s
+}
+
+// SetErrors sets the Errors field's value.
+func (s *GetECSServiceRecommendationsOutput) SetErrors(v []*GetRecommendationError) *GetECSServiceRecommendationsOutput {
+ s.Errors = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *GetECSServiceRecommendationsOutput) SetNextToken(v string) *GetECSServiceRecommendationsOutput {
+ s.NextToken = &v
return s
}
@@ -4553,7 +6294,7 @@ type GetEffectiveRecommendationPreferencesOutput struct {
// of recommendations, review the effectiveRecommendationPreferences value in
// the response of the GetEC2InstanceRecommendations actions.
//
- // For more information, see Enhanced infrastructure metrics (https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html)
+ // For more information, see Enhanced infrastructure metrics (https://docs.aws.amazon.com/compute-optimizer/latest/ug/external-metrics-ingestion.html)
// in the Compute Optimizer User Guide.
ExternalMetricsPreference *ExternalMetricsPreference `locationName:"externalMetricsPreference" type:"structure"`
}
@@ -6371,6 +8112,47 @@ func (s *LimitExceededException) RequestID() string {
return s.RespMetadata.RequestID
}
+// The memory size configurations of a container.
+type MemorySizeConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // The amount of memory in the container.
+ Memory *int64 `locationName:"memory" type:"integer"`
+
+ // The limit of memory reserve for the container.
+ MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s MemorySizeConfiguration) 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 MemorySizeConfiguration) GoString() string {
+ return s.String()
+}
+
+// SetMemory sets the Memory field's value.
+func (s *MemorySizeConfiguration) SetMemory(v int64) *MemorySizeConfiguration {
+ s.Memory = &v
+ return s
+}
+
+// SetMemoryReservation sets the MemoryReservation field's value.
+func (s *MemorySizeConfiguration) SetMemoryReservation(v int64) *MemorySizeConfiguration {
+ s.MemoryReservation = &v
+ return s
+}
+
// The request must contain either a valid (registered) Amazon Web Services
// access key ID or X.509 certificate.
type MissingAuthenticationToken struct {
@@ -7493,6 +9275,91 @@ func (s *Scope) SetValue(v string) *Scope {
return s
}
+// The Amazon ECS service configurations used for recommendations.
+type ServiceConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // Describes the Auto Scaling configuration methods for an Amazon ECS service.
+ // This affects the generated recommendations. For example, if Auto Scaling
+ // is configured on a ECS service’s CPU, then Compute Optimizer doesn’t
+ // generate CPU size recommendations.
+ //
+ // The Auto Scaling configuration methods include:
+ //
+ // * TARGET_TRACKING_SCALING_CPU — If the ECS service is configured to
+ // use target scaling on CPU, Compute Optimizer doesn't generate CPU recommendations.
+ //
+ // * TARGET_TRACKING_SCALING_MEMORY — If the ECS service is configured
+ // to use target scaling on memory, Compute Optimizer doesn't generate memory
+ // recommendations.
+ //
+ // For more information about step scaling and target scaling, see Step scaling
+ // policies for Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html)
+ // and Target tracking scaling policies for Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)
+ // in the Application Auto Scaling User Guide.
+ AutoScalingConfiguration *string `locationName:"autoScalingConfiguration" type:"string" enum:"AutoScalingConfiguration"`
+
+ // The container configurations within a task of an ECS service.
+ ContainerConfigurations []*ContainerConfiguration `locationName:"containerConfigurations" type:"list"`
+
+ // The number of CPU units used by the tasks in the ECS service.
+ Cpu *int64 `locationName:"cpu" type:"integer"`
+
+ // The amount of memory used by the tasks in the ECS service.
+ Memory *int64 `locationName:"memory" type:"integer"`
+
+ // The task definition ARN used by the tasks in the ECS service.
+ TaskDefinitionArn *string `locationName:"taskDefinitionArn" 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 ServiceConfiguration) 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 ServiceConfiguration) GoString() string {
+ return s.String()
+}
+
+// SetAutoScalingConfiguration sets the AutoScalingConfiguration field's value.
+func (s *ServiceConfiguration) SetAutoScalingConfiguration(v string) *ServiceConfiguration {
+ s.AutoScalingConfiguration = &v
+ return s
+}
+
+// SetContainerConfigurations sets the ContainerConfigurations field's value.
+func (s *ServiceConfiguration) SetContainerConfigurations(v []*ContainerConfiguration) *ServiceConfiguration {
+ s.ContainerConfigurations = v
+ return s
+}
+
+// SetCpu sets the Cpu field's value.
+func (s *ServiceConfiguration) SetCpu(v int64) *ServiceConfiguration {
+ s.Cpu = &v
+ return s
+}
+
+// SetMemory sets the Memory field's value.
+func (s *ServiceConfiguration) SetMemory(v int64) *ServiceConfiguration {
+ s.Memory = &v
+ return s
+}
+
+// SetTaskDefinitionArn sets the TaskDefinitionArn field's value.
+func (s *ServiceConfiguration) SetTaskDefinitionArn(v string) *ServiceConfiguration {
+ s.TaskDefinitionArn = &v
+ return s
+}
+
// The request has failed due to a temporary failure of the server.
type ServiceUnavailableException struct {
_ struct{} `type:"structure"`
@@ -8192,6 +10059,22 @@ func (s *VolumeRecommendationOption) SetSavingsOpportunity(v *SavingsOpportunity
return s
}
+const (
+ // AutoScalingConfigurationTargetTrackingScalingCpu is a AutoScalingConfiguration enum value
+ AutoScalingConfigurationTargetTrackingScalingCpu = "TargetTrackingScalingCpu"
+
+ // AutoScalingConfigurationTargetTrackingScalingMemory is a AutoScalingConfiguration enum value
+ AutoScalingConfigurationTargetTrackingScalingMemory = "TargetTrackingScalingMemory"
+)
+
+// AutoScalingConfiguration_Values returns all elements of the AutoScalingConfiguration enum
+func AutoScalingConfiguration_Values() []string {
+ return []string{
+ AutoScalingConfigurationTargetTrackingScalingCpu,
+ AutoScalingConfigurationTargetTrackingScalingMemory,
+ }
+}
+
const (
// CpuVendorArchitectureAwsArm64 is a CpuVendorArchitecture enum value
CpuVendorArchitectureAwsArm64 = "AWS_ARM64"
@@ -8300,6 +10183,114 @@ func EBSMetricName_Values() []string {
}
}
+const (
+ // ECSServiceLaunchTypeEc2 is a ECSServiceLaunchType enum value
+ ECSServiceLaunchTypeEc2 = "EC2"
+
+ // ECSServiceLaunchTypeFargate is a ECSServiceLaunchType enum value
+ ECSServiceLaunchTypeFargate = "Fargate"
+)
+
+// ECSServiceLaunchType_Values returns all elements of the ECSServiceLaunchType enum
+func ECSServiceLaunchType_Values() []string {
+ return []string{
+ ECSServiceLaunchTypeEc2,
+ ECSServiceLaunchTypeFargate,
+ }
+}
+
+const (
+ // ECSServiceMetricNameCpu is a ECSServiceMetricName enum value
+ ECSServiceMetricNameCpu = "Cpu"
+
+ // ECSServiceMetricNameMemory is a ECSServiceMetricName enum value
+ ECSServiceMetricNameMemory = "Memory"
+)
+
+// ECSServiceMetricName_Values returns all elements of the ECSServiceMetricName enum
+func ECSServiceMetricName_Values() []string {
+ return []string{
+ ECSServiceMetricNameCpu,
+ ECSServiceMetricNameMemory,
+ }
+}
+
+const (
+ // ECSServiceMetricStatisticMaximum is a ECSServiceMetricStatistic enum value
+ ECSServiceMetricStatisticMaximum = "Maximum"
+
+ // ECSServiceMetricStatisticAverage is a ECSServiceMetricStatistic enum value
+ ECSServiceMetricStatisticAverage = "Average"
+)
+
+// ECSServiceMetricStatistic_Values returns all elements of the ECSServiceMetricStatistic enum
+func ECSServiceMetricStatistic_Values() []string {
+ return []string{
+ ECSServiceMetricStatisticMaximum,
+ ECSServiceMetricStatisticAverage,
+ }
+}
+
+const (
+ // ECSServiceRecommendationFilterNameFinding is a ECSServiceRecommendationFilterName enum value
+ ECSServiceRecommendationFilterNameFinding = "Finding"
+
+ // ECSServiceRecommendationFilterNameFindingReasonCode is a ECSServiceRecommendationFilterName enum value
+ ECSServiceRecommendationFilterNameFindingReasonCode = "FindingReasonCode"
+)
+
+// ECSServiceRecommendationFilterName_Values returns all elements of the ECSServiceRecommendationFilterName enum
+func ECSServiceRecommendationFilterName_Values() []string {
+ return []string{
+ ECSServiceRecommendationFilterNameFinding,
+ ECSServiceRecommendationFilterNameFindingReasonCode,
+ }
+}
+
+const (
+ // ECSServiceRecommendationFindingOptimized is a ECSServiceRecommendationFinding enum value
+ ECSServiceRecommendationFindingOptimized = "Optimized"
+
+ // ECSServiceRecommendationFindingUnderprovisioned is a ECSServiceRecommendationFinding enum value
+ ECSServiceRecommendationFindingUnderprovisioned = "Underprovisioned"
+
+ // ECSServiceRecommendationFindingOverprovisioned is a ECSServiceRecommendationFinding enum value
+ ECSServiceRecommendationFindingOverprovisioned = "Overprovisioned"
+)
+
+// ECSServiceRecommendationFinding_Values returns all elements of the ECSServiceRecommendationFinding enum
+func ECSServiceRecommendationFinding_Values() []string {
+ return []string{
+ ECSServiceRecommendationFindingOptimized,
+ ECSServiceRecommendationFindingUnderprovisioned,
+ ECSServiceRecommendationFindingOverprovisioned,
+ }
+}
+
+const (
+ // ECSServiceRecommendationFindingReasonCodeMemoryOverprovisioned is a ECSServiceRecommendationFindingReasonCode enum value
+ ECSServiceRecommendationFindingReasonCodeMemoryOverprovisioned = "MemoryOverprovisioned"
+
+ // ECSServiceRecommendationFindingReasonCodeMemoryUnderprovisioned is a ECSServiceRecommendationFindingReasonCode enum value
+ ECSServiceRecommendationFindingReasonCodeMemoryUnderprovisioned = "MemoryUnderprovisioned"
+
+ // ECSServiceRecommendationFindingReasonCodeCpuoverprovisioned is a ECSServiceRecommendationFindingReasonCode enum value
+ ECSServiceRecommendationFindingReasonCodeCpuoverprovisioned = "CPUOverprovisioned"
+
+ // ECSServiceRecommendationFindingReasonCodeCpuunderprovisioned is a ECSServiceRecommendationFindingReasonCode enum value
+ ECSServiceRecommendationFindingReasonCodeCpuunderprovisioned = "CPUUnderprovisioned"
+)
+
+// ECSServiceRecommendationFindingReasonCode_Values returns all elements of the ECSServiceRecommendationFindingReasonCode enum
+func ECSServiceRecommendationFindingReasonCode_Values() []string {
+ return []string{
+ ECSServiceRecommendationFindingReasonCodeMemoryOverprovisioned,
+ ECSServiceRecommendationFindingReasonCodeMemoryUnderprovisioned,
+ ECSServiceRecommendationFindingReasonCodeCpuoverprovisioned,
+ ECSServiceRecommendationFindingReasonCodeCpuunderprovisioned,
+ }
+}
+
const (
// EnhancedInfrastructureMetricsActive is a EnhancedInfrastructureMetrics enum value
EnhancedInfrastructureMetricsActive = "Active"
@@ -8552,6 +10543,106 @@ func ExportableAutoScalingGroupField_Values() []string {
}
}
+const (
+ // ExportableECSServiceFieldAccountId is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldAccountId = "AccountId"
+
+ // ExportableECSServiceFieldServiceArn is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldServiceArn = "ServiceArn"
+
+ // ExportableECSServiceFieldLookbackPeriodInDays is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldLookbackPeriodInDays = "LookbackPeriodInDays"
+
+ // ExportableECSServiceFieldLastRefreshTimestamp is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldLastRefreshTimestamp = "LastRefreshTimestamp"
+
+ // ExportableECSServiceFieldLaunchType is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldLaunchType = "LaunchType"
+
+ // ExportableECSServiceFieldCurrentPerformanceRisk is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldCurrentPerformanceRisk = "CurrentPerformanceRisk"
+
+ // ExportableECSServiceFieldCurrentServiceConfigurationMemory is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldCurrentServiceConfigurationMemory = "CurrentServiceConfigurationMemory"
+
+ // ExportableECSServiceFieldCurrentServiceConfigurationCpu is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldCurrentServiceConfigurationCpu = "CurrentServiceConfigurationCpu"
+
+ // ExportableECSServiceFieldCurrentServiceConfigurationTaskDefinitionArn is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldCurrentServiceConfigurationTaskDefinitionArn = "CurrentServiceConfigurationTaskDefinitionArn"
+
+ // ExportableECSServiceFieldCurrentServiceConfigurationAutoScalingConfiguration is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldCurrentServiceConfigurationAutoScalingConfiguration = "CurrentServiceConfigurationAutoScalingConfiguration"
+
+ // ExportableECSServiceFieldCurrentServiceContainerConfigurations is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldCurrentServiceContainerConfigurations = "CurrentServiceContainerConfigurations"
+
+ // ExportableECSServiceFieldUtilizationMetricsCpuMaximum is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldUtilizationMetricsCpuMaximum = "UtilizationMetricsCpuMaximum"
+
+ // ExportableECSServiceFieldUtilizationMetricsMemoryMaximum is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldUtilizationMetricsMemoryMaximum = "UtilizationMetricsMemoryMaximum"
+
+ // ExportableECSServiceFieldFinding is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldFinding = "Finding"
+
+ // ExportableECSServiceFieldFindingReasonCodes is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldFindingReasonCodes = "FindingReasonCodes"
+
+ // ExportableECSServiceFieldRecommendationOptionsMemory is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldRecommendationOptionsMemory = "RecommendationOptionsMemory"
+
+ // ExportableECSServiceFieldRecommendationOptionsCpu is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldRecommendationOptionsCpu = "RecommendationOptionsCpu"
+
+ // ExportableECSServiceFieldRecommendationOptionsSavingsOpportunityPercentage is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldRecommendationOptionsSavingsOpportunityPercentage = "RecommendationOptionsSavingsOpportunityPercentage"
+
+ // ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsCurrency is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsCurrency = "RecommendationOptionsEstimatedMonthlySavingsCurrency"
+
+ // ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsValue is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsValue = "RecommendationOptionsEstimatedMonthlySavingsValue"
+
+ // ExportableECSServiceFieldRecommendationOptionsContainerRecommendations is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldRecommendationOptionsContainerRecommendations = "RecommendationOptionsContainerRecommendations"
+
+ // ExportableECSServiceFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum = "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum"
+
+ // ExportableECSServiceFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum is a ExportableECSServiceField enum value
+ ExportableECSServiceFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum = "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum"
+)
+
+// ExportableECSServiceField_Values returns all elements of the ExportableECSServiceField enum
+func ExportableECSServiceField_Values() []string {
+ return []string{
+ ExportableECSServiceFieldAccountId,
+ ExportableECSServiceFieldServiceArn,
+ ExportableECSServiceFieldLookbackPeriodInDays,
+ ExportableECSServiceFieldLastRefreshTimestamp,
+ ExportableECSServiceFieldLaunchType,
+ ExportableECSServiceFieldCurrentPerformanceRisk,
+ ExportableECSServiceFieldCurrentServiceConfigurationMemory,
+ ExportableECSServiceFieldCurrentServiceConfigurationCpu,
+ ExportableECSServiceFieldCurrentServiceConfigurationTaskDefinitionArn,
+ ExportableECSServiceFieldCurrentServiceConfigurationAutoScalingConfiguration,
+ ExportableECSServiceFieldCurrentServiceContainerConfigurations,
+ ExportableECSServiceFieldUtilizationMetricsCpuMaximum,
+ ExportableECSServiceFieldUtilizationMetricsMemoryMaximum,
+ ExportableECSServiceFieldFinding,
+ ExportableECSServiceFieldFindingReasonCodes,
+ ExportableECSServiceFieldRecommendationOptionsMemory,
+ ExportableECSServiceFieldRecommendationOptionsCpu,
+ ExportableECSServiceFieldRecommendationOptionsSavingsOpportunityPercentage,
+ ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsCurrency,
+ ExportableECSServiceFieldRecommendationOptionsEstimatedMonthlySavingsValue,
+ ExportableECSServiceFieldRecommendationOptionsContainerRecommendations,
+ ExportableECSServiceFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum,
+ ExportableECSServiceFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum,
+ }
+}
+
const (
// ExportableInstanceFieldAccountId is a ExportableInstanceField enum value
ExportableInstanceFieldAccountId = "AccountId"
@@ -9556,6 +11647,9 @@ const (
// RecommendationSourceTypeLambdaFunction is a RecommendationSourceType enum value
RecommendationSourceTypeLambdaFunction = "LambdaFunction"
+
+ // RecommendationSourceTypeEcsService is a RecommendationSourceType enum value
+ RecommendationSourceTypeEcsService = "EcsService"
)
// RecommendationSourceType_Values returns all elements of the RecommendationSourceType enum
@@ -9565,6 +11659,7 @@ func RecommendationSourceType_Values() []string {
RecommendationSourceTypeAutoScalingGroup,
RecommendationSourceTypeEbsVolume,
RecommendationSourceTypeLambdaFunction,
+ RecommendationSourceTypeEcsService,
}
}
@@ -9583,6 +11678,9 @@ const (
// ResourceTypeNotApplicable is a ResourceType enum value
ResourceTypeNotApplicable = "NotApplicable"
+
+ // ResourceTypeEcsService is a ResourceType enum value
+ ResourceTypeEcsService = "EcsService"
)
// ResourceType_Values returns all elements of the ResourceType enum
@@ -9593,6 +11691,7 @@ func ResourceType_Values() []string {
ResourceTypeEbsVolume,
ResourceTypeLambdaFunction,
ResourceTypeNotApplicable,
+ ResourceTypeEcsService,
}
}
diff --git a/service/computeoptimizer/computeoptimizeriface/interface.go b/service/computeoptimizer/computeoptimizeriface/interface.go
index a4c231ffd76..ed7cb787eb6 100644
--- a/service/computeoptimizer/computeoptimizeriface/interface.go
+++ b/service/computeoptimizer/computeoptimizeriface/interface.go
@@ -68,6 +68,9 @@ type ComputeOptimizerAPI interface {
DescribeRecommendationExportJobsWithContext(aws.Context, *computeoptimizer.DescribeRecommendationExportJobsInput, ...request.Option) (*computeoptimizer.DescribeRecommendationExportJobsOutput, error)
DescribeRecommendationExportJobsRequest(*computeoptimizer.DescribeRecommendationExportJobsInput) (*request.Request, *computeoptimizer.DescribeRecommendationExportJobsOutput)
+ DescribeRecommendationExportJobsPages(*computeoptimizer.DescribeRecommendationExportJobsInput, func(*computeoptimizer.DescribeRecommendationExportJobsOutput, bool) bool) error
+ DescribeRecommendationExportJobsPagesWithContext(aws.Context, *computeoptimizer.DescribeRecommendationExportJobsInput, func(*computeoptimizer.DescribeRecommendationExportJobsOutput, bool) bool, ...request.Option) error
+
ExportAutoScalingGroupRecommendations(*computeoptimizer.ExportAutoScalingGroupRecommendationsInput) (*computeoptimizer.ExportAutoScalingGroupRecommendationsOutput, error)
ExportAutoScalingGroupRecommendationsWithContext(aws.Context, *computeoptimizer.ExportAutoScalingGroupRecommendationsInput, ...request.Option) (*computeoptimizer.ExportAutoScalingGroupRecommendationsOutput, error)
ExportAutoScalingGroupRecommendationsRequest(*computeoptimizer.ExportAutoScalingGroupRecommendationsInput) (*request.Request, *computeoptimizer.ExportAutoScalingGroupRecommendationsOutput)
@@ -80,6 +83,10 @@ type ComputeOptimizerAPI interface {
ExportEC2InstanceRecommendationsWithContext(aws.Context, *computeoptimizer.ExportEC2InstanceRecommendationsInput, ...request.Option) (*computeoptimizer.ExportEC2InstanceRecommendationsOutput, error)
ExportEC2InstanceRecommendationsRequest(*computeoptimizer.ExportEC2InstanceRecommendationsInput) (*request.Request, *computeoptimizer.ExportEC2InstanceRecommendationsOutput)
+ ExportECSServiceRecommendations(*computeoptimizer.ExportECSServiceRecommendationsInput) (*computeoptimizer.ExportECSServiceRecommendationsOutput, error)
+ ExportECSServiceRecommendationsWithContext(aws.Context, *computeoptimizer.ExportECSServiceRecommendationsInput, ...request.Option) (*computeoptimizer.ExportECSServiceRecommendationsOutput, error)
+ ExportECSServiceRecommendationsRequest(*computeoptimizer.ExportECSServiceRecommendationsInput) (*request.Request, *computeoptimizer.ExportECSServiceRecommendationsOutput)
+
ExportLambdaFunctionRecommendations(*computeoptimizer.ExportLambdaFunctionRecommendationsInput) (*computeoptimizer.ExportLambdaFunctionRecommendationsOutput, error)
ExportLambdaFunctionRecommendationsWithContext(aws.Context, *computeoptimizer.ExportLambdaFunctionRecommendationsInput, ...request.Option) (*computeoptimizer.ExportLambdaFunctionRecommendationsOutput, error)
ExportLambdaFunctionRecommendationsRequest(*computeoptimizer.ExportLambdaFunctionRecommendationsInput) (*request.Request, *computeoptimizer.ExportLambdaFunctionRecommendationsOutput)
@@ -100,6 +107,14 @@ type ComputeOptimizerAPI interface {
GetEC2RecommendationProjectedMetricsWithContext(aws.Context, *computeoptimizer.GetEC2RecommendationProjectedMetricsInput, ...request.Option) (*computeoptimizer.GetEC2RecommendationProjectedMetricsOutput, error)
GetEC2RecommendationProjectedMetricsRequest(*computeoptimizer.GetEC2RecommendationProjectedMetricsInput) (*request.Request, *computeoptimizer.GetEC2RecommendationProjectedMetricsOutput)
+ GetECSServiceRecommendationProjectedMetrics(*computeoptimizer.GetECSServiceRecommendationProjectedMetricsInput) (*computeoptimizer.GetECSServiceRecommendationProjectedMetricsOutput, error)
+ GetECSServiceRecommendationProjectedMetricsWithContext(aws.Context, *computeoptimizer.GetECSServiceRecommendationProjectedMetricsInput, ...request.Option) (*computeoptimizer.GetECSServiceRecommendationProjectedMetricsOutput, error)
+ GetECSServiceRecommendationProjectedMetricsRequest(*computeoptimizer.GetECSServiceRecommendationProjectedMetricsInput) (*request.Request, *computeoptimizer.GetECSServiceRecommendationProjectedMetricsOutput)
+
+ GetECSServiceRecommendations(*computeoptimizer.GetECSServiceRecommendationsInput) (*computeoptimizer.GetECSServiceRecommendationsOutput, error)
+ GetECSServiceRecommendationsWithContext(aws.Context, *computeoptimizer.GetECSServiceRecommendationsInput, ...request.Option) (*computeoptimizer.GetECSServiceRecommendationsOutput, error)
+ GetECSServiceRecommendationsRequest(*computeoptimizer.GetECSServiceRecommendationsInput) (*request.Request, *computeoptimizer.GetECSServiceRecommendationsOutput)
+
GetEffectiveRecommendationPreferences(*computeoptimizer.GetEffectiveRecommendationPreferencesInput) (*computeoptimizer.GetEffectiveRecommendationPreferencesOutput, error)
GetEffectiveRecommendationPreferencesWithContext(aws.Context, *computeoptimizer.GetEffectiveRecommendationPreferencesInput, ...request.Option) (*computeoptimizer.GetEffectiveRecommendationPreferencesOutput, error)
GetEffectiveRecommendationPreferencesRequest(*computeoptimizer.GetEffectiveRecommendationPreferencesInput) (*request.Request, *computeoptimizer.GetEffectiveRecommendationPreferencesOutput)
@@ -112,18 +127,30 @@ type ComputeOptimizerAPI interface {
GetEnrollmentStatusesForOrganizationWithContext(aws.Context, *computeoptimizer.GetEnrollmentStatusesForOrganizationInput, ...request.Option) (*computeoptimizer.GetEnrollmentStatusesForOrganizationOutput, error)
GetEnrollmentStatusesForOrganizationRequest(*computeoptimizer.GetEnrollmentStatusesForOrganizationInput) (*request.Request, *computeoptimizer.GetEnrollmentStatusesForOrganizationOutput)
+ GetEnrollmentStatusesForOrganizationPages(*computeoptimizer.GetEnrollmentStatusesForOrganizationInput, func(*computeoptimizer.GetEnrollmentStatusesForOrganizationOutput, bool) bool) error
+ GetEnrollmentStatusesForOrganizationPagesWithContext(aws.Context, *computeoptimizer.GetEnrollmentStatusesForOrganizationInput, func(*computeoptimizer.GetEnrollmentStatusesForOrganizationOutput, bool) bool, ...request.Option) error
+
GetLambdaFunctionRecommendations(*computeoptimizer.GetLambdaFunctionRecommendationsInput) (*computeoptimizer.GetLambdaFunctionRecommendationsOutput, error)
GetLambdaFunctionRecommendationsWithContext(aws.Context, *computeoptimizer.GetLambdaFunctionRecommendationsInput, ...request.Option) (*computeoptimizer.GetLambdaFunctionRecommendationsOutput, error)
GetLambdaFunctionRecommendationsRequest(*computeoptimizer.GetLambdaFunctionRecommendationsInput) (*request.Request, *computeoptimizer.GetLambdaFunctionRecommendationsOutput)
+ GetLambdaFunctionRecommendationsPages(*computeoptimizer.GetLambdaFunctionRecommendationsInput, func(*computeoptimizer.GetLambdaFunctionRecommendationsOutput, bool) bool) error
+ GetLambdaFunctionRecommendationsPagesWithContext(aws.Context, *computeoptimizer.GetLambdaFunctionRecommendationsInput, func(*computeoptimizer.GetLambdaFunctionRecommendationsOutput, bool) bool, ...request.Option) error
+
GetRecommendationPreferences(*computeoptimizer.GetRecommendationPreferencesInput) (*computeoptimizer.GetRecommendationPreferencesOutput, error)
GetRecommendationPreferencesWithContext(aws.Context, *computeoptimizer.GetRecommendationPreferencesInput, ...request.Option) (*computeoptimizer.GetRecommendationPreferencesOutput, error)
GetRecommendationPreferencesRequest(*computeoptimizer.GetRecommendationPreferencesInput) (*request.Request, *computeoptimizer.GetRecommendationPreferencesOutput)
+ GetRecommendationPreferencesPages(*computeoptimizer.GetRecommendationPreferencesInput, func(*computeoptimizer.GetRecommendationPreferencesOutput, bool) bool) error
+ GetRecommendationPreferencesPagesWithContext(aws.Context, *computeoptimizer.GetRecommendationPreferencesInput, func(*computeoptimizer.GetRecommendationPreferencesOutput, bool) bool, ...request.Option) error
+
GetRecommendationSummaries(*computeoptimizer.GetRecommendationSummariesInput) (*computeoptimizer.GetRecommendationSummariesOutput, error)
GetRecommendationSummariesWithContext(aws.Context, *computeoptimizer.GetRecommendationSummariesInput, ...request.Option) (*computeoptimizer.GetRecommendationSummariesOutput, error)
GetRecommendationSummariesRequest(*computeoptimizer.GetRecommendationSummariesInput) (*request.Request, *computeoptimizer.GetRecommendationSummariesOutput)
+ GetRecommendationSummariesPages(*computeoptimizer.GetRecommendationSummariesInput, func(*computeoptimizer.GetRecommendationSummariesOutput, bool) bool) error
+ GetRecommendationSummariesPagesWithContext(aws.Context, *computeoptimizer.GetRecommendationSummariesInput, func(*computeoptimizer.GetRecommendationSummariesOutput, bool) bool, ...request.Option) error
+
PutRecommendationPreferences(*computeoptimizer.PutRecommendationPreferencesInput) (*computeoptimizer.PutRecommendationPreferencesOutput, error)
PutRecommendationPreferencesWithContext(aws.Context, *computeoptimizer.PutRecommendationPreferencesInput, ...request.Option) (*computeoptimizer.PutRecommendationPreferencesOutput, error)
PutRecommendationPreferencesRequest(*computeoptimizer.PutRecommendationPreferencesInput) (*request.Request, *computeoptimizer.PutRecommendationPreferencesOutput)
diff --git a/service/computeoptimizer/doc.go b/service/computeoptimizer/doc.go
index 67cd81cc036..9890ff93c8f 100644
--- a/service/computeoptimizer/doc.go
+++ b/service/computeoptimizer/doc.go
@@ -5,17 +5,17 @@
//
// Compute Optimizer is a service that analyzes the configuration and utilization
// metrics of your Amazon Web Services compute resources, such as Amazon EC2
-// instances, Amazon EC2 Auto Scaling groups, Lambda functions, and Amazon EBS
-// volumes. It reports whether your resources are optimal, and generates optimization
-// recommendations to reduce the cost and improve the performance of your workloads.
-// Compute Optimizer also provides recent utilization metric data, in addition
-// to projected utilization metric data for the recommendations, which you can
-// use to evaluate which recommendation provides the best price-performance
-// trade-off. The analysis of your usage patterns can help you decide when to
-// move or resize your running resources, and still meet your performance and
-// capacity requirements. For more information about Compute Optimizer, including
-// the required permissions to use the service, see the Compute Optimizer User
-// Guide (https://docs.aws.amazon.com/compute-optimizer/latest/ug/).
+// instances, Amazon EC2 Auto Scaling groups, Lambda functions, Amazon EBS volumes,
+// and Amazon ECS services on Fargate. It reports whether your resources are
+// optimal, and generates optimization recommendations to reduce the cost and
+// improve the performance of your workloads. Compute Optimizer also provides
+// recent utilization metric data, in addition to projected utilization metric
+// data for the recommendations, which you can use to evaluate which recommendation
+// provides the best price-performance trade-off. The analysis of your usage
+// patterns can help you decide when to move or resize your running resources,
+// and still meet your performance and capacity requirements. For more information
+// about Compute Optimizer, including the required permissions to use the service,
+// see the Compute Optimizer User Guide (https://docs.aws.amazon.com/compute-optimizer/latest/ug/).
//
// See https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01 for more information on this service.
//
diff --git a/service/connect/api.go b/service/connect/api.go
index b9dd105ae3f..5909ff2c47a 100644
--- a/service/connect/api.go
+++ b/service/connect/api.go
@@ -12457,7 +12457,7 @@ func (c *Connect) MonitorContactRequest(input *MonitorContactInput) (req *reques
//
// Initiates silent monitoring of a contact. The Contact Control Panel (CCP)
// of the user specified by userId will be set to silent monitoring mode on
-// the contact.
+// the contact. Supports voice and chat contacts.
//
// 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
@@ -16184,6 +16184,114 @@ func (c *Connect) UpdateInstanceStorageConfigWithContext(ctx aws.Context, input
return out, req.Send()
}
+const opUpdateParticipantRoleConfig = "UpdateParticipantRoleConfig"
+
+// UpdateParticipantRoleConfigRequest generates a "aws/request.Request" representing the
+// client's request for the UpdateParticipantRoleConfig 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 UpdateParticipantRoleConfig for more information on using the UpdateParticipantRoleConfig
+// 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 UpdateParticipantRoleConfigRequest method.
+// req, resp := client.UpdateParticipantRoleConfigRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateParticipantRoleConfig
+func (c *Connect) UpdateParticipantRoleConfigRequest(input *UpdateParticipantRoleConfigInput) (req *request.Request, output *UpdateParticipantRoleConfigOutput) {
+ op := &request.Operation{
+ Name: opUpdateParticipantRoleConfig,
+ HTTPMethod: "PUT",
+ HTTPPath: "/contact/participant-role-config/{InstanceId}/{ContactId}",
+ }
+
+ if input == nil {
+ input = &UpdateParticipantRoleConfigInput{}
+ }
+
+ output = &UpdateParticipantRoleConfigOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// UpdateParticipantRoleConfig API operation for Amazon Connect Service.
+//
+// Updates timeouts for when human chat participants are to be considered idle,
+// and when agents are automatically disconnected from a chat due to idleness.
+// You can set four timers:
+//
+// - Customer idle timeout
+//
+// - Customer auto-disconnect timeout
+//
+// - Agent idle timeout
+//
+// - Agent auto-disconnect timeout
+//
+// For more information about how chat timeouts work, see Set up chat timeouts
+// for human participants (https://docs.aws.amazon.com/connect/latest/adminguide/setup-chat-timeouts.html).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Connect Service's
+// API operation UpdateParticipantRoleConfig for usage and error information.
+//
+// Returned Error Types:
+//
+// - InvalidRequestException
+// The request is not valid.
+//
+// - InvalidParameterException
+// One or more of the specified parameters are not valid.
+//
+// - ResourceNotFoundException
+// The specified resource was not found.
+//
+// - AccessDeniedException
+// You do not have sufficient permissions to perform this action.
+//
+// - ThrottlingException
+// The throttling limit has been exceeded.
+//
+// - InternalServiceException
+// Request processing failed because of an error or failure with the service.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateParticipantRoleConfig
+func (c *Connect) UpdateParticipantRoleConfig(input *UpdateParticipantRoleConfigInput) (*UpdateParticipantRoleConfigOutput, error) {
+ req, out := c.UpdateParticipantRoleConfigRequest(input)
+ return out, req.Send()
+}
+
+// UpdateParticipantRoleConfigWithContext is the same as UpdateParticipantRoleConfig with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UpdateParticipantRoleConfig 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 *Connect) UpdateParticipantRoleConfigWithContext(ctx aws.Context, input *UpdateParticipantRoleConfigInput, opts ...request.Option) (*UpdateParticipantRoleConfigOutput, error) {
+ req, out := c.UpdateParticipantRoleConfigRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opUpdatePhoneNumber = "UpdatePhoneNumber"
// UpdatePhoneNumberRequest generates a "aws/request.Request" representing the
@@ -20017,10 +20125,17 @@ type ChatMessage struct {
// The content of the chat message.
//
+ // * For text/plain and text/markdown, the Length Constraints are Minimum
+ // of 1, Maximum of 1024.
+ //
+ // * For application/json, the Length Constraints are Minimum of 1, Maximum
+ // of 12000.
+ //
// Content is a required field
Content *string `min:"1" type:"string" required:"true"`
- // The type of the content. Supported types are text/plain.
+ // The type of the content. Supported types are text/plain, text/markdown, and
+ // application/json.
//
// ContentType is a required field
ContentType *string `min:"1" type:"string" required:"true"`
@@ -20078,6 +20193,67 @@ func (s *ChatMessage) SetContentType(v string) *ChatMessage {
return s
}
+// Configuration information for the chat participant role.
+type ChatParticipantRoleConfig struct {
+ _ struct{} `type:"structure"`
+
+ // A list of participant timers. You can specify any unique combination of role
+ // and timer type. Duplicate entries error out the request with a 400.
+ //
+ // ParticipantTimerConfigList is a required field
+ ParticipantTimerConfigList []*ParticipantTimerConfiguration `min:"1" type:"list" required:"true"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s ChatParticipantRoleConfig) 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 ChatParticipantRoleConfig) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ChatParticipantRoleConfig) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ChatParticipantRoleConfig"}
+ if s.ParticipantTimerConfigList == nil {
+ invalidParams.Add(request.NewErrParamRequired("ParticipantTimerConfigList"))
+ }
+ if s.ParticipantTimerConfigList != nil && len(s.ParticipantTimerConfigList) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("ParticipantTimerConfigList", 1))
+ }
+ if s.ParticipantTimerConfigList != nil {
+ for i, v := range s.ParticipantTimerConfigList {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParticipantTimerConfigList", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetParticipantTimerConfigList sets the ParticipantTimerConfigList field's value.
+func (s *ChatParticipantRoleConfig) SetParticipantTimerConfigList(v []*ParticipantTimerConfiguration) *ChatParticipantRoleConfig {
+ s.ParticipantTimerConfigList = v
+ return s
+}
+
// The streaming configuration, such as the Amazon SNS streaming endpoint.
type ChatStreamingConfiguration struct {
_ struct{} `type:"structure"`
@@ -36809,6 +36985,153 @@ func (s *ParticipantDetails) SetDisplayName(v string) *ParticipantDetails {
return s
}
+// Configuration information for the timer. After the timer configuration is
+// set, it persists for the duration of the chat. It persists across new contacts
+// in the chain, for example, transfer contacts.
+//
+// For more information about how chat timeouts work, see Set up chat timeouts
+// for human participants (https://docs.aws.amazon.com/connect/latest/adminguide/setup-chat-timeouts.html).
+type ParticipantTimerConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // The role of the participant in the chat conversation.
+ //
+ // ParticipantRole is a required field
+ ParticipantRole *string `type:"string" required:"true" enum:"TimerEligibleParticipantRoles"`
+
+ // The type of timer. IDLE indicates the timer applies for considering a human
+ // chat participant as idle. DISCONNECT_NONCUSTOMER indicates the timer applies
+ // to automatically disconnecting a chat participant due to idleness.
+ //
+ // TimerType is a required field
+ TimerType *string `type:"string" required:"true" enum:"ParticipantTimerType"`
+
+ // The value of the timer. Either the timer action (Unset to delete the timer),
+ // or the duration of the timer in minutes. Only one value can be set.
+ //
+ // TimerValue is a required field
+ TimerValue *ParticipantTimerValue `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 ParticipantTimerConfiguration) 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 ParticipantTimerConfiguration) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ParticipantTimerConfiguration) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ParticipantTimerConfiguration"}
+ if s.ParticipantRole == nil {
+ invalidParams.Add(request.NewErrParamRequired("ParticipantRole"))
+ }
+ if s.TimerType == nil {
+ invalidParams.Add(request.NewErrParamRequired("TimerType"))
+ }
+ if s.TimerValue == nil {
+ invalidParams.Add(request.NewErrParamRequired("TimerValue"))
+ }
+ if s.TimerValue != nil {
+ if err := s.TimerValue.Validate(); err != nil {
+ invalidParams.AddNested("TimerValue", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetParticipantRole sets the ParticipantRole field's value.
+func (s *ParticipantTimerConfiguration) SetParticipantRole(v string) *ParticipantTimerConfiguration {
+ s.ParticipantRole = &v
+ return s
+}
+
+// SetTimerType sets the TimerType field's value.
+func (s *ParticipantTimerConfiguration) SetTimerType(v string) *ParticipantTimerConfiguration {
+ s.TimerType = &v
+ return s
+}
+
+// SetTimerValue sets the TimerValue field's value.
+func (s *ParticipantTimerConfiguration) SetTimerValue(v *ParticipantTimerValue) *ParticipantTimerConfiguration {
+ s.TimerValue = v
+ return s
+}
+
+// The value of the timer. Either the timer action (Unset to delete the timer),
+// or the duration of the timer in minutes. Only one value can be set.
+//
+// For more information about how chat timeouts work, see Set up chat timeouts
+// for human participants (https://docs.aws.amazon.com/connect/latest/adminguide/setup-chat-timeouts.html).
+type ParticipantTimerValue struct {
+ _ struct{} `type:"structure"`
+
+ // The timer action. Currently only one value is allowed: Unset. It deletes
+ // a timer.
+ ParticipantTimerAction *string `type:"string" enum:"ParticipantTimerAction"`
+
+ // The duration of a timer, in minutes.
+ ParticipantTimerDurationInMinutes *int64 `min:"2" type:"integer"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s ParticipantTimerValue) 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 ParticipantTimerValue) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ParticipantTimerValue) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ParticipantTimerValue"}
+ if s.ParticipantTimerDurationInMinutes != nil && *s.ParticipantTimerDurationInMinutes < 2 {
+ invalidParams.Add(request.NewErrParamMinValue("ParticipantTimerDurationInMinutes", 2))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetParticipantTimerAction sets the ParticipantTimerAction field's value.
+func (s *ParticipantTimerValue) SetParticipantTimerAction(v string) *ParticipantTimerValue {
+ s.ParticipantTimerAction = &v
+ return s
+}
+
+// SetParticipantTimerDurationInMinutes sets the ParticipantTimerDurationInMinutes field's value.
+func (s *ParticipantTimerValue) SetParticipantTimerDurationInMinutes(v int64) *ParticipantTimerValue {
+ s.ParticipantTimerDurationInMinutes = &v
+ return s
+}
+
// Contains information about a phone number for a quick connect.
type PhoneNumberQuickConnectConfig struct {
_ struct{} `type:"structure"`
@@ -41279,8 +41602,11 @@ type StartChatContactInput struct {
// ParticipantDetails is a required field
ParticipantDetails *ParticipantDetails `type:"structure" required:"true"`
- // The supported chat message content types. Content types can be text/plain
- // or both text/plain and text/markdown.
+ // The supported chat message content types. Content types must always contain
+ // text/plain. You can then put any other supported type in the list. For example,
+ // all the following lists are valid because they contain text/plain: [text/plain,
+ // text/markdown, application/json], [text/markdown, text/plain], [text/plain,
+ // application/json].
SupportedMessagingContentTypes []*string `type:"list"`
}
@@ -45256,6 +45582,161 @@ func (s UpdateInstanceStorageConfigOutput) GoString() string {
return s.String()
}
+// Configuration information for the chat participant role.
+type UpdateParticipantRoleConfigChannelInfo struct {
+ _ struct{} `type:"structure"`
+
+ // Configuration information for the chat participant role.
+ Chat *ChatParticipantRoleConfig `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 UpdateParticipantRoleConfigChannelInfo) 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 UpdateParticipantRoleConfigChannelInfo) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *UpdateParticipantRoleConfigChannelInfo) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UpdateParticipantRoleConfigChannelInfo"}
+ if s.Chat != nil {
+ if err := s.Chat.Validate(); err != nil {
+ invalidParams.AddNested("Chat", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetChat sets the Chat field's value.
+func (s *UpdateParticipantRoleConfigChannelInfo) SetChat(v *ChatParticipantRoleConfig) *UpdateParticipantRoleConfigChannelInfo {
+ s.Chat = v
+ return s
+}
+
+type UpdateParticipantRoleConfigInput struct {
+ _ struct{} `type:"structure"`
+
+ // The Amazon Connect channel you want to configure.
+ //
+ // ChannelConfiguration is a required field
+ ChannelConfiguration *UpdateParticipantRoleConfigChannelInfo `type:"structure" required:"true"`
+
+ // The identifier of the contact in this instance of Amazon Connect.
+ //
+ // ContactId is a required field
+ ContactId *string `location:"uri" locationName:"ContactId" min:"1" type:"string" required:"true"`
+
+ // The identifier of the Amazon Connect instance. You can find the instanceId
+ // in the ARN of the instance.
+ //
+ // InstanceId is a required field
+ InstanceId *string `location:"uri" locationName:"InstanceId" 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 UpdateParticipantRoleConfigInput) 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 UpdateParticipantRoleConfigInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *UpdateParticipantRoleConfigInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "UpdateParticipantRoleConfigInput"}
+ if s.ChannelConfiguration == nil {
+ invalidParams.Add(request.NewErrParamRequired("ChannelConfiguration"))
+ }
+ if s.ContactId == nil {
+ invalidParams.Add(request.NewErrParamRequired("ContactId"))
+ }
+ if s.ContactId != nil && len(*s.ContactId) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("ContactId", 1))
+ }
+ if s.InstanceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceId"))
+ }
+ if s.InstanceId != nil && len(*s.InstanceId) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
+ }
+ if s.ChannelConfiguration != nil {
+ if err := s.ChannelConfiguration.Validate(); err != nil {
+ invalidParams.AddNested("ChannelConfiguration", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetChannelConfiguration sets the ChannelConfiguration field's value.
+func (s *UpdateParticipantRoleConfigInput) SetChannelConfiguration(v *UpdateParticipantRoleConfigChannelInfo) *UpdateParticipantRoleConfigInput {
+ s.ChannelConfiguration = v
+ return s
+}
+
+// SetContactId sets the ContactId field's value.
+func (s *UpdateParticipantRoleConfigInput) SetContactId(v string) *UpdateParticipantRoleConfigInput {
+ s.ContactId = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *UpdateParticipantRoleConfigInput) SetInstanceId(v string) *UpdateParticipantRoleConfigInput {
+ s.InstanceId = &v
+ return s
+}
+
+type UpdateParticipantRoleConfigOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s UpdateParticipantRoleConfigOutput) 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 UpdateParticipantRoleConfigOutput) GoString() string {
+ return s.String()
+}
+
type UpdatePhoneNumberInput struct {
_ struct{} `type:"structure"`
@@ -49961,6 +50442,34 @@ func NotificationDeliveryType_Values() []string {
}
}
+const (
+ // ParticipantTimerActionUnset is a ParticipantTimerAction enum value
+ ParticipantTimerActionUnset = "Unset"
+)
+
+// ParticipantTimerAction_Values returns all elements of the ParticipantTimerAction enum
+func ParticipantTimerAction_Values() []string {
+ return []string{
+ ParticipantTimerActionUnset,
+ }
+}
+
+const (
+ // ParticipantTimerTypeIdle is a ParticipantTimerType enum value
+ ParticipantTimerTypeIdle = "IDLE"
+
+ // ParticipantTimerTypeDisconnectNoncustomer is a ParticipantTimerType enum value
+ ParticipantTimerTypeDisconnectNoncustomer = "DISCONNECT_NONCUSTOMER"
+)
+
+// ParticipantTimerType_Values returns all elements of the ParticipantTimerType enum
+func ParticipantTimerType_Values() []string {
+ return []string{
+ ParticipantTimerTypeIdle,
+ ParticipantTimerTypeDisconnectNoncustomer,
+ }
+}
+
const (
// PhoneNumberCountryCodeAf is a PhoneNumberCountryCode enum value
PhoneNumberCountryCodeAf = "AF"
@@ -51317,6 +51826,22 @@ func TaskTemplateStatus_Values() []string {
}
}
+const (
+ // TimerEligibleParticipantRolesCustomer is a TimerEligibleParticipantRoles enum value
+ TimerEligibleParticipantRolesCustomer = "CUSTOMER"
+
+ // TimerEligibleParticipantRolesAgent is a TimerEligibleParticipantRoles enum value
+ TimerEligibleParticipantRolesAgent = "AGENT"
+)
+
+// TimerEligibleParticipantRoles_Values returns all elements of the TimerEligibleParticipantRoles enum
+func TimerEligibleParticipantRoles_Values() []string {
+ return []string{
+ TimerEligibleParticipantRolesCustomer,
+ TimerEligibleParticipantRolesAgent,
+ }
+}
+
const (
// TrafficDistributionGroupStatusCreationInProgress is a TrafficDistributionGroupStatus enum value
TrafficDistributionGroupStatusCreationInProgress = "CREATION_IN_PROGRESS"
diff --git a/service/connect/connectiface/interface.go b/service/connect/connectiface/interface.go
index 56c03dd773e..883ee5e70bc 100644
--- a/service/connect/connectiface/interface.go
+++ b/service/connect/connectiface/interface.go
@@ -760,6 +760,10 @@ type ConnectAPI interface {
UpdateInstanceStorageConfigWithContext(aws.Context, *connect.UpdateInstanceStorageConfigInput, ...request.Option) (*connect.UpdateInstanceStorageConfigOutput, error)
UpdateInstanceStorageConfigRequest(*connect.UpdateInstanceStorageConfigInput) (*request.Request, *connect.UpdateInstanceStorageConfigOutput)
+ UpdateParticipantRoleConfig(*connect.UpdateParticipantRoleConfigInput) (*connect.UpdateParticipantRoleConfigOutput, error)
+ UpdateParticipantRoleConfigWithContext(aws.Context, *connect.UpdateParticipantRoleConfigInput, ...request.Option) (*connect.UpdateParticipantRoleConfigOutput, error)
+ UpdateParticipantRoleConfigRequest(*connect.UpdateParticipantRoleConfigInput) (*request.Request, *connect.UpdateParticipantRoleConfigOutput)
+
UpdatePhoneNumber(*connect.UpdatePhoneNumberInput) (*connect.UpdatePhoneNumberOutput, error)
UpdatePhoneNumberWithContext(aws.Context, *connect.UpdatePhoneNumberInput, ...request.Option) (*connect.UpdatePhoneNumberOutput, error)
UpdatePhoneNumberRequest(*connect.UpdatePhoneNumberInput) (*request.Request, *connect.UpdatePhoneNumberOutput)
diff --git a/service/iotdeviceadvisor/api.go b/service/iotdeviceadvisor/api.go
index 64f4053260b..955e017ca00 100644
--- a/service/iotdeviceadvisor/api.go
+++ b/service/iotdeviceadvisor/api.go
@@ -1416,7 +1416,9 @@ type CreateSuiteDefinitionInput struct {
_ struct{} `type:"structure"`
// Creates a Device Advisor test suite with suite definition configuration.
- SuiteDefinitionConfiguration *SuiteDefinitionConfiguration `locationName:"suiteDefinitionConfiguration" type:"structure"`
+ //
+ // SuiteDefinitionConfiguration is a required field
+ SuiteDefinitionConfiguration *SuiteDefinitionConfiguration `locationName:"suiteDefinitionConfiguration" type:"structure" required:"true"`
// The tags to be attached to the suite definition.
Tags map[string]*string `locationName:"tags" type:"map"`
@@ -1443,6 +1445,9 @@ func (s CreateSuiteDefinitionInput) GoString() string {
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateSuiteDefinitionInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateSuiteDefinitionInput"}
+ if s.SuiteDefinitionConfiguration == nil {
+ invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionConfiguration"))
+ }
if s.SuiteDefinitionConfiguration != nil {
if err := s.SuiteDefinitionConfiguration.Validate(); err != nil {
invalidParams.AddNested("SuiteDefinitionConfiguration", err.(request.ErrInvalidParams))
@@ -1470,16 +1475,16 @@ func (s *CreateSuiteDefinitionInput) SetTags(v map[string]*string) *CreateSuiteD
type CreateSuiteDefinitionOutput struct {
_ struct{} `type:"structure"`
- // Creates a Device Advisor test suite with TimeStamp of when it was created.
+ // The timestamp of when the test suite was created.
CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
- // Creates a Device Advisor test suite with Amazon Resource Name (ARN).
+ // The Amazon Resource Name (ARN) of the test suite.
SuiteDefinitionArn *string `locationName:"suiteDefinitionArn" min:"20" type:"string"`
- // Creates a Device Advisor test suite with suite UUID.
+ // The UUID of the test suite created.
SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"12" type:"string"`
- // Creates a Device Advisor test suite with suite definition name.
+ // The suite definition name of the test suite. This is a required parameter.
SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"`
}
@@ -2511,7 +2516,8 @@ func (s *ListSuiteRunsOutput) SetSuiteRunsList(v []*SuiteRunInformation) *ListSu
type ListTagsForResourceInput struct {
_ struct{} `type:"structure" nopayload:"true"`
- // The ARN of the IoT Device Advisor resource.
+ // The resource ARN of the IoT Device Advisor resource. This can be SuiteDefinition
+ // ARN or SuiteRun ARN.
//
// ResourceArn is a required field
ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
@@ -2665,7 +2671,9 @@ type StartSuiteRunInput struct {
SuiteDefinitionVersion *string `locationName:"suiteDefinitionVersion" min:"2" type:"string"`
// Suite run configuration.
- SuiteRunConfiguration *SuiteRunConfiguration `locationName:"suiteRunConfiguration" type:"structure"`
+ //
+ // SuiteRunConfiguration is a required field
+ SuiteRunConfiguration *SuiteRunConfiguration `locationName:"suiteRunConfiguration" type:"structure" required:"true"`
// The tags to be attached to the suite run.
Tags map[string]*string `locationName:"tags" type:"map"`
@@ -2701,6 +2709,9 @@ func (s *StartSuiteRunInput) Validate() error {
if s.SuiteDefinitionVersion != nil && len(*s.SuiteDefinitionVersion) < 2 {
invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionVersion", 2))
}
+ if s.SuiteRunConfiguration == nil {
+ invalidParams.Add(request.NewErrParamRequired("SuiteRunConfiguration"))
+ }
if s.SuiteRunConfiguration != nil {
if err := s.SuiteRunConfiguration.Validate(); err != nil {
invalidParams.AddNested("SuiteRunConfiguration", err.(request.ErrInvalidParams))
@@ -2743,6 +2754,9 @@ type StartSuiteRunOutput struct {
// Starts a Device Advisor test suite run based on suite create time.
CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
+ // The response of an Device Advisor test endpoint.
+ Endpoint *string `locationName:"endpoint" min:"45" type:"string"`
+
// Amazon Resource Name (ARN) of the started suite run.
SuiteRunArn *string `locationName:"suiteRunArn" min:"20" type:"string"`
@@ -2774,6 +2788,12 @@ func (s *StartSuiteRunOutput) SetCreatedAt(v time.Time) *StartSuiteRunOutput {
return s
}
+// SetEndpoint sets the Endpoint field's value.
+func (s *StartSuiteRunOutput) SetEndpoint(v string) *StartSuiteRunOutput {
+ s.Endpoint = &v
+ return s
+}
+
// SetSuiteRunArn sets the SuiteRunArn field's value.
func (s *StartSuiteRunOutput) SetSuiteRunArn(v string) *StartSuiteRunOutput {
s.SuiteRunArn = &v
@@ -2874,12 +2894,14 @@ func (s StopSuiteRunOutput) GoString() string {
return s.String()
}
-// Gets Suite Definition Configuration.
+// Gets the suite definition configuration.
type SuiteDefinitionConfiguration struct {
_ struct{} `type:"structure"`
- // Gets the device permission ARN.
- DevicePermissionRoleArn *string `locationName:"devicePermissionRoleArn" min:"20" type:"string"`
+ // Gets the device permission ARN. This is a required parameter.
+ //
+ // DevicePermissionRoleArn is a required field
+ DevicePermissionRoleArn *string `locationName:"devicePermissionRoleArn" min:"20" type:"string" required:"true"`
// Gets the devices configured.
Devices []*DeviceUnderTest `locationName:"devices" type:"list"`
@@ -2890,14 +2912,18 @@ type SuiteDefinitionConfiguration struct {
// Verifies if the test suite is a long duration test.
IsLongDurationTest *bool `locationName:"isLongDurationTest" type:"boolean"`
- // Gets the MQTT protocol that is configured in the suite definition.
+ // Sets the MQTT protocol that is configured in the suite definition.
Protocol *string `locationName:"protocol" type:"string" enum:"Protocol"`
- // Gets test suite root group.
- RootGroup *string `locationName:"rootGroup" min:"1" type:"string"`
+ // Gets the test suite root group. This is a required parameter.
+ //
+ // RootGroup is a required field
+ RootGroup *string `locationName:"rootGroup" min:"1" type:"string" required:"true"`
- // Gets Suite Definition Configuration name.
- SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"`
+ // Gets the suite definition name. This is a required parameter.
+ //
+ // SuiteDefinitionName is a required field
+ SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string" required:"true"`
}
// String returns the string representation.
@@ -2921,12 +2947,21 @@ func (s SuiteDefinitionConfiguration) GoString() string {
// Validate inspects the fields of the type to determine if they are valid.
func (s *SuiteDefinitionConfiguration) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "SuiteDefinitionConfiguration"}
+ if s.DevicePermissionRoleArn == nil {
+ invalidParams.Add(request.NewErrParamRequired("DevicePermissionRoleArn"))
+ }
if s.DevicePermissionRoleArn != nil && len(*s.DevicePermissionRoleArn) < 20 {
invalidParams.Add(request.NewErrParamMinLen("DevicePermissionRoleArn", 20))
}
+ if s.RootGroup == nil {
+ invalidParams.Add(request.NewErrParamRequired("RootGroup"))
+ }
if s.RootGroup != nil && len(*s.RootGroup) < 1 {
invalidParams.Add(request.NewErrParamMinLen("RootGroup", 1))
}
+ if s.SuiteDefinitionName == nil {
+ invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionName"))
+ }
if s.SuiteDefinitionName != nil && len(*s.SuiteDefinitionName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionName", 1))
}
@@ -3082,10 +3117,13 @@ type SuiteRunConfiguration struct {
// TRUE if multiple test suites run in parallel.
ParallelRun *bool `locationName:"parallelRun" type:"boolean"`
- // Gets the primary device for suite run.
- PrimaryDevice *DeviceUnderTest `locationName:"primaryDevice" type:"structure"`
+ // Sets the primary device for the test suite run. This requires a thing ARN
+ // or a certificate ARN.
+ //
+ // PrimaryDevice is a required field
+ PrimaryDevice *DeviceUnderTest `locationName:"primaryDevice" type:"structure" required:"true"`
- // Gets test case list.
+ // Sets test case list.
SelectedTestList []*string `locationName:"selectedTestList" type:"list"`
}
@@ -3110,6 +3148,9 @@ func (s SuiteRunConfiguration) GoString() string {
// Validate inspects the fields of the type to determine if they are valid.
func (s *SuiteRunConfiguration) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "SuiteRunConfiguration"}
+ if s.PrimaryDevice == nil {
+ invalidParams.Add(request.NewErrParamRequired("PrimaryDevice"))
+ }
if s.PrimaryDevice != nil {
if err := s.PrimaryDevice.Validate(); err != nil {
invalidParams.AddNested("PrimaryDevice", err.(request.ErrInvalidParams))
@@ -3259,7 +3300,8 @@ func (s *SuiteRunInformation) SetSuiteRunId(v string) *SuiteRunInformation {
type TagResourceInput struct {
_ struct{} `type:"structure"`
- // The resource ARN of an IoT Device Advisor resource.
+ // The resource ARN of an IoT Device Advisor resource. This can be SuiteDefinition
+ // ARN or SuiteRun ARN.
//
// ResourceArn is a required field
ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
@@ -3596,7 +3638,8 @@ func (s *TestResult) SetGroups(v []*GroupResult) *TestResult {
type UntagResourceInput struct {
_ struct{} `type:"structure" nopayload:"true"`
- // The resource ARN of an IoT Device Advisor resource.
+ // The resource ARN of an IoT Device Advisor resource. This can be SuiteDefinition
+ // ARN or SuiteRun ARN.
//
// ResourceArn is a required field
ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
@@ -3682,7 +3725,9 @@ type UpdateSuiteDefinitionInput struct {
_ struct{} `type:"structure"`
// Updates a Device Advisor test suite with suite definition configuration.
- SuiteDefinitionConfiguration *SuiteDefinitionConfiguration `locationName:"suiteDefinitionConfiguration" type:"structure"`
+ //
+ // SuiteDefinitionConfiguration is a required field
+ SuiteDefinitionConfiguration *SuiteDefinitionConfiguration `locationName:"suiteDefinitionConfiguration" type:"structure" required:"true"`
// Suite definition ID of the test suite to be updated.
//
@@ -3711,6 +3756,9 @@ func (s UpdateSuiteDefinitionInput) GoString() string {
// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateSuiteDefinitionInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "UpdateSuiteDefinitionInput"}
+ if s.SuiteDefinitionConfiguration == nil {
+ invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionConfiguration"))
+ }
if s.SuiteDefinitionId == nil {
invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId"))
}
@@ -3756,7 +3804,7 @@ type UpdateSuiteDefinitionOutput struct {
// Suite definition ID of the updated test suite.
SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"12" type:"string"`
- // Suite definition name of the updated test suite.
+ // Updates the suite definition name. This is a required parameter.
SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"`
// Suite definition version of the updated test suite.
diff --git a/service/kinesisvideowebrtcstorage/api.go b/service/kinesisvideowebrtcstorage/api.go
index f671a54302f..033d678260d 100644
--- a/service/kinesisvideowebrtcstorage/api.go
+++ b/service/kinesisvideowebrtcstorage/api.go
@@ -92,23 +92,13 @@ func (c *KinesisVideoWebRTCStorage) JoinStorageSessionRequest(input *JoinStorage
// the limit of allowed client calls. Try making the call later.
//
// - InvalidArgumentException
-//
// The value for this input parameter is invalid.
//
-// Additional details may notbe returned.
-//
// - AccessDeniedException
-//
-// You do not have required permissions to perform this operation
-//
-// The AccessDeniedException can be thrown for operation access as well as tokens
-// or resource access
+// You do not have required permissions to perform this operation.
//
// - ResourceNotFoundException
-//
-// The specified resource is not found
-//
-// You have not specified a channel in this API call.
+// The specified resource is not found.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSession
func (c *KinesisVideoWebRTCStorage) JoinStorageSession(input *JoinStorageSessionInput) (*JoinStorageSessionOutput, error) {
@@ -132,125 +122,7 @@ func (c *KinesisVideoWebRTCStorage) JoinStorageSessionWithContext(ctx aws.Contex
return out, req.Send()
}
-const opJoinStorageSessionAsViewer = "JoinStorageSessionAsViewer"
-
-// JoinStorageSessionAsViewerRequest generates a "aws/request.Request" representing the
-// client's request for the JoinStorageSessionAsViewer 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 JoinStorageSessionAsViewer for more information on using the JoinStorageSessionAsViewer
-// 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 JoinStorageSessionAsViewerRequest method.
-// req, resp := client.JoinStorageSessionAsViewerRequest(params)
-//
-// err := req.Send()
-// if err == nil { // resp is now filled
-// fmt.Println(resp)
-// }
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer
-func (c *KinesisVideoWebRTCStorage) JoinStorageSessionAsViewerRequest(input *JoinStorageSessionAsViewerInput) (req *request.Request, output *JoinStorageSessionAsViewerOutput) {
- op := &request.Operation{
- Name: opJoinStorageSessionAsViewer,
- HTTPMethod: "POST",
- HTTPPath: "/joinStorageSessionAsViewer",
- }
-
- if input == nil {
- input = &JoinStorageSessionAsViewerInput{}
- }
-
- output = &JoinStorageSessionAsViewerOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
-}
-
-// JoinStorageSessionAsViewer API operation for Amazon Kinesis Video WebRTC Storage.
-//
-// Join the ongoing one way-video and/or multi-way audio WebRTC session as a
-// viewer for an input channel. If there’s no existing session for the channel,
-// create a new streaming session and provide the Amazon Resource Name (ARN)
-// of the signaling channel (channelArn) and client id (clientId).
-//
-// Currently for SINGLE_MASTER type, a video producing device is able to ingest
-// both audio and video media into a stream, while viewers can only ingest audio.
-// Both a video producing device and viewers can join a session first and wait
-// for other participants. While participants are having peer to peer conversations
-// through webRTC, the ingested media session will be stored into the Kinesis
-// Video Stream. Multiple viewers are able to playback real-time media.
-//
-// Customers can also use existing Kinesis Video Streams features like HLS or
-// DASH playback, Image generation, and more with ingested WebRTC media. If
-// there’s an existing session with the same clientId that's found in the
-// join session request, the new request takes precedence.
-//
-// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
-// with awserr.Error's Code and Message methods to get detailed information about
-// the error.
-//
-// See the AWS API reference guide for Amazon Kinesis Video WebRTC Storage's
-// API operation JoinStorageSessionAsViewer for usage and error information.
-//
-// Returned Error Types:
-//
-// - ClientLimitExceededException
-// Kinesis Video Streams has throttled the request because you have exceeded
-// the limit of allowed client calls. Try making the call later.
-//
-// - InvalidArgumentException
-//
-// The value for this input parameter is invalid.
-//
-// Additional details may notbe returned.
-//
-// - AccessDeniedException
-//
-// You do not have required permissions to perform this operation
-//
-// The AccessDeniedException can be thrown for operation access as well as tokens
-// or resource access
-//
-// - ResourceNotFoundException
-//
-// The specified resource is not found
-//
-// You have not specified a channel in this API call.
-//
-// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer
-func (c *KinesisVideoWebRTCStorage) JoinStorageSessionAsViewer(input *JoinStorageSessionAsViewerInput) (*JoinStorageSessionAsViewerOutput, error) {
- req, out := c.JoinStorageSessionAsViewerRequest(input)
- return out, req.Send()
-}
-
-// JoinStorageSessionAsViewerWithContext is the same as JoinStorageSessionAsViewer with the addition of
-// the ability to pass a context and additional request options.
-//
-// See JoinStorageSessionAsViewer 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 *KinesisVideoWebRTCStorage) JoinStorageSessionAsViewerWithContext(ctx aws.Context, input *JoinStorageSessionAsViewerInput, opts ...request.Option) (*JoinStorageSessionAsViewerOutput, error) {
- req, out := c.JoinStorageSessionAsViewerRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
-}
-
-// You do not have required permissions to perform this operation
-//
-// The AccessDeniedException can be thrown for operation access as well as tokens
-// or resource access
+// You do not have required permissions to perform this operation.
type AccessDeniedException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
@@ -380,8 +252,6 @@ func (s *ClientLimitExceededException) RequestID() string {
}
// The value for this input parameter is invalid.
-//
-// Additional details may notbe returned.
type InvalidArgumentException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
@@ -445,91 +315,6 @@ func (s *InvalidArgumentException) RequestID() string {
return s.RespMetadata.RequestID
}
-type JoinStorageSessionAsViewerInput struct {
- _ struct{} `type:"structure"`
-
- // The Amazon Resource Name (ARN) of the signaling channel.
- //
- // ChannelArn is a required field
- ChannelArn *string `locationName:"channelArn" type:"string" required:"true"`
-
- // The unique identifier for the sender client.
- //
- // ClientId is a required field
- ClientId *string `locationName:"clientId" 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 JoinStorageSessionAsViewerInput) 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 JoinStorageSessionAsViewerInput) GoString() string {
- return s.String()
-}
-
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *JoinStorageSessionAsViewerInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "JoinStorageSessionAsViewerInput"}
- if s.ChannelArn == nil {
- invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
- }
- if s.ClientId == nil {
- invalidParams.Add(request.NewErrParamRequired("ClientId"))
- }
- if s.ClientId != nil && len(*s.ClientId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
-// SetChannelArn sets the ChannelArn field's value.
-func (s *JoinStorageSessionAsViewerInput) SetChannelArn(v string) *JoinStorageSessionAsViewerInput {
- s.ChannelArn = &v
- return s
-}
-
-// SetClientId sets the ClientId field's value.
-func (s *JoinStorageSessionAsViewerInput) SetClientId(v string) *JoinStorageSessionAsViewerInput {
- s.ClientId = &v
- return s
-}
-
-type JoinStorageSessionAsViewerOutput struct {
- _ struct{} `type:"structure"`
-}
-
-// String returns the string representation.
-//
-// API parameter values that are decorated as "sensitive" in the API will not
-// be included in the string output. The member name will be present, but the
-// value will be replaced with "sensitive".
-func (s JoinStorageSessionAsViewerOutput) 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 JoinStorageSessionAsViewerOutput) GoString() string {
- return s.String()
-}
-
type JoinStorageSessionInput struct {
_ struct{} `type:"structure"`
@@ -598,9 +383,7 @@ func (s JoinStorageSessionOutput) GoString() string {
return s.String()
}
-// The specified resource is not found
-//
-// You have not specified a channel in this API call.
+// The specified resource is not found.
type ResourceNotFoundException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
diff --git a/service/kinesisvideowebrtcstorage/errors.go b/service/kinesisvideowebrtcstorage/errors.go
index 20b33d68574..5ebc2bb82f3 100644
--- a/service/kinesisvideowebrtcstorage/errors.go
+++ b/service/kinesisvideowebrtcstorage/errors.go
@@ -11,11 +11,7 @@ const (
// ErrCodeAccessDeniedException for service response error code
// "AccessDeniedException".
//
- //
- // You do not have required permissions to perform this operation
- //
- // The AccessDeniedException can be thrown for operation access as well as tokens
- // or resource access
+ // You do not have required permissions to perform this operation.
ErrCodeAccessDeniedException = "AccessDeniedException"
// ErrCodeClientLimitExceededException for service response error code
@@ -28,19 +24,13 @@ const (
// ErrCodeInvalidArgumentException for service response error code
// "InvalidArgumentException".
//
- //
// The value for this input parameter is invalid.
- //
- // Additional details may notbe returned.
ErrCodeInvalidArgumentException = "InvalidArgumentException"
// ErrCodeResourceNotFoundException for service response error code
// "ResourceNotFoundException".
//
- //
- // The specified resource is not found
- //
- // You have not specified a channel in this API call.
+ // The specified resource is not found.
ErrCodeResourceNotFoundException = "ResourceNotFoundException"
)
diff --git a/service/kinesisvideowebrtcstorage/kinesisvideowebrtcstorageiface/interface.go b/service/kinesisvideowebrtcstorage/kinesisvideowebrtcstorageiface/interface.go
index ff76da0920d..540758831f9 100644
--- a/service/kinesisvideowebrtcstorage/kinesisvideowebrtcstorageiface/interface.go
+++ b/service/kinesisvideowebrtcstorage/kinesisvideowebrtcstorageiface/interface.go
@@ -63,10 +63,6 @@ type KinesisVideoWebRTCStorageAPI interface {
JoinStorageSession(*kinesisvideowebrtcstorage.JoinStorageSessionInput) (*kinesisvideowebrtcstorage.JoinStorageSessionOutput, error)
JoinStorageSessionWithContext(aws.Context, *kinesisvideowebrtcstorage.JoinStorageSessionInput, ...request.Option) (*kinesisvideowebrtcstorage.JoinStorageSessionOutput, error)
JoinStorageSessionRequest(*kinesisvideowebrtcstorage.JoinStorageSessionInput) (*request.Request, *kinesisvideowebrtcstorage.JoinStorageSessionOutput)
-
- JoinStorageSessionAsViewer(*kinesisvideowebrtcstorage.JoinStorageSessionAsViewerInput) (*kinesisvideowebrtcstorage.JoinStorageSessionAsViewerOutput, error)
- JoinStorageSessionAsViewerWithContext(aws.Context, *kinesisvideowebrtcstorage.JoinStorageSessionAsViewerInput, ...request.Option) (*kinesisvideowebrtcstorage.JoinStorageSessionAsViewerOutput, error)
- JoinStorageSessionAsViewerRequest(*kinesisvideowebrtcstorage.JoinStorageSessionAsViewerInput) (*request.Request, *kinesisvideowebrtcstorage.JoinStorageSessionAsViewerOutput)
}
var _ KinesisVideoWebRTCStorageAPI = (*kinesisvideowebrtcstorage.KinesisVideoWebRTCStorage)(nil)
diff --git a/service/rds/api.go b/service/rds/api.go
index 502931c27e0..f750f823643 100644
--- a/service/rds/api.go
+++ b/service/rds/api.go
@@ -19796,14 +19796,57 @@ type CreateDBClusterInput struct {
// Valid for: Aurora DB clusters and Multi-AZ DB clusters
KmsKeyId *string `type:"string"`
+ // A value that indicates whether to manage the master user password with Amazon
+ // Web Services Secrets Manager.
+ //
+ // For more information, see Password management with Amazon Web Services Secrets
+ // Manager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)
+ // in the Amazon RDS User Guide and Password management with Amazon Web Services
+ // Secrets Manager (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html)
+ // in the Amazon Aurora User Guide.
+ //
+ // Constraints:
+ //
+ // * Can't manage the master user password with Amazon Web Services Secrets
+ // Manager if MasterUserPassword is specified.
+ //
+ // Valid for: Aurora DB clusters and Multi-AZ DB clusters
+ ManageMasterUserPassword *bool `type:"boolean"`
+
// The password for the master database user. This password can contain any
// printable ASCII character except "/", """, or "@".
//
- // Constraints: Must contain from 8 to 41 characters.
+ // Constraints:
+ //
+ // * Must contain from 8 to 41 characters.
+ //
+ // * Can't be specified if ManageMasterUserPassword is turned on.
//
// Valid for: Aurora DB clusters and Multi-AZ DB clusters
MasterUserPassword *string `type:"string"`
+ // The Amazon Web Services KMS key identifier to encrypt a secret that is automatically
+ // generated and managed in Amazon Web Services Secrets Manager.
+ //
+ // This setting is valid only if the master user password is managed by RDS
+ // in Amazon Web Services Secrets Manager for the DB cluster.
+ //
+ // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
+ // ARN, or alias name for the KMS key. To use a KMS key in a different Amazon
+ // Web Services account, specify the key ARN or alias ARN.
+ //
+ // If you don't specify MasterUserSecretKmsKeyId, then the aws/secretsmanager
+ // KMS key is used to encrypt the secret. If the secret is in a different Amazon
+ // Web Services account, then you can't use the aws/secretsmanager KMS key to
+ // encrypt the secret, and you must use a customer managed KMS key.
+ //
+ // There is a default KMS key for your Amazon Web Services account. Your Amazon
+ // Web Services account has a different default KMS key for each Amazon Web
+ // Services Region.
+ //
+ // Valid for: Aurora DB clusters and Multi-AZ DB clusters
+ MasterUserSecretKmsKeyId *string `type:"string"`
+
// The name of the master user for the DB cluster.
//
// Constraints:
@@ -20293,12 +20336,24 @@ func (s *CreateDBClusterInput) SetKmsKeyId(v string) *CreateDBClusterInput {
return s
}
+// SetManageMasterUserPassword sets the ManageMasterUserPassword field's value.
+func (s *CreateDBClusterInput) SetManageMasterUserPassword(v bool) *CreateDBClusterInput {
+ s.ManageMasterUserPassword = &v
+ return s
+}
+
// SetMasterUserPassword sets the MasterUserPassword field's value.
func (s *CreateDBClusterInput) SetMasterUserPassword(v string) *CreateDBClusterInput {
s.MasterUserPassword = &v
return s
}
+// SetMasterUserSecretKmsKeyId sets the MasterUserSecretKmsKeyId field's value.
+func (s *CreateDBClusterInput) SetMasterUserSecretKmsKeyId(v string) *CreateDBClusterInput {
+ s.MasterUserSecretKmsKeyId = &v
+ return s
+}
+
// SetMasterUsername sets the MasterUsername field's value.
func (s *CreateDBClusterInput) SetMasterUsername(v string) *CreateDBClusterInput {
s.MasterUsername = &v
@@ -21363,6 +21418,19 @@ type CreateDBInstanceInput struct {
// Not applicable.
LicenseModel *string `type:"string"`
+ // A value that indicates whether to manage the master user password with Amazon
+ // Web Services Secrets Manager.
+ //
+ // For more information, see Password management with Amazon Web Services Secrets
+ // Manager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)
+ // in the Amazon RDS User Guide.
+ //
+ // Constraints:
+ //
+ // * Can't manage the master user password with Amazon Web Services Secrets
+ // Manager if MasterUserPassword is specified.
+ ManageMasterUserPassword *bool `type:"boolean"`
+
// The password for the master user. The password can include any printable
// ASCII character except "/", """, or "@".
//
@@ -21370,6 +21438,8 @@ type CreateDBInstanceInput struct {
//
// 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.
@@ -21391,6 +21461,26 @@ type CreateDBInstanceInput struct {
// Constraints: Must contain from 8 to 128 characters.
MasterUserPassword *string `type:"string"`
+ // The Amazon Web Services KMS key identifier to encrypt a secret that is automatically
+ // generated and managed in Amazon Web Services Secrets Manager.
+ //
+ // This setting is valid only if the master user password is managed by RDS
+ // in Amazon Web Services Secrets Manager for the DB instance.
+ //
+ // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
+ // ARN, or alias name for the KMS key. To use a KMS key in a different Amazon
+ // Web Services account, specify the key ARN or alias ARN.
+ //
+ // If you don't specify MasterUserSecretKmsKeyId, then the aws/secretsmanager
+ // KMS key is used to encrypt the secret. If the secret is in a different Amazon
+ // Web Services account, then you can't use the aws/secretsmanager KMS key to
+ // encrypt the secret, and you must use a customer managed KMS key.
+ //
+ // There is a default KMS key for your Amazon Web Services account. Your Amazon
+ // Web Services account has a different default KMS key for each Amazon Web
+ // Services Region.
+ MasterUserSecretKmsKeyId *string `type:"string"`
+
// The name for the master user.
//
// Amazon Aurora
@@ -21940,12 +22030,24 @@ func (s *CreateDBInstanceInput) SetLicenseModel(v string) *CreateDBInstanceInput
return s
}
+// SetManageMasterUserPassword sets the ManageMasterUserPassword field's value.
+func (s *CreateDBInstanceInput) SetManageMasterUserPassword(v bool) *CreateDBInstanceInput {
+ s.ManageMasterUserPassword = &v
+ return s
+}
+
// SetMasterUserPassword sets the MasterUserPassword field's value.
func (s *CreateDBInstanceInput) SetMasterUserPassword(v string) *CreateDBInstanceInput {
s.MasterUserPassword = &v
return s
}
+// SetMasterUserSecretKmsKeyId sets the MasterUserSecretKmsKeyId field's value.
+func (s *CreateDBInstanceInput) SetMasterUserSecretKmsKeyId(v string) *CreateDBInstanceInput {
+ s.MasterUserSecretKmsKeyId = &v
+ return s
+}
+
// SetMasterUsername sets the MasterUsername field's value.
func (s *CreateDBInstanceInput) SetMasterUsername(v string) *CreateDBInstanceInput {
s.MasterUsername = &v
@@ -24479,6 +24581,16 @@ type DBCluster struct {
// restore.
LatestRestorableTime *time.Time `type:"timestamp"`
+ // Contains the secret managed by RDS in Amazon Web Services Secrets Manager
+ // for the master user password.
+ //
+ // For more information, see Password management with Amazon Web Services Secrets
+ // Manager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)
+ // in the Amazon RDS User Guide and Password management with Amazon Web Services
+ // Secrets Manager (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html)
+ // in the Amazon Aurora User Guide.
+ MasterUserSecret *MasterUserSecret `type:"structure"`
+
// Contains the master username for the DB cluster.
MasterUsername *string `type:"string"`
@@ -24935,6 +25047,12 @@ func (s *DBCluster) SetLatestRestorableTime(v time.Time) *DBCluster {
return s
}
+// SetMasterUserSecret sets the MasterUserSecret field's value.
+func (s *DBCluster) SetMasterUserSecret(v *MasterUserSecret) *DBCluster {
+ s.MasterUserSecret = v
+ return s
+}
+
// SetMasterUsername sets the MasterUsername field's value.
func (s *DBCluster) SetMasterUsername(v string) *DBCluster {
s.MasterUsername = &v
@@ -26389,6 +26507,14 @@ type DBInstance struct {
// Specifies the listener connection endpoint for SQL Server Always On.
ListenerEndpoint *Endpoint `type:"structure"`
+ // Contains the secret managed by RDS in Amazon Web Services Secrets Manager
+ // for the master user password.
+ //
+ // For more information, see Password management with Amazon Web Services Secrets
+ // Manager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)
+ // in the Amazon RDS User Guide.
+ MasterUserSecret *MasterUserSecret `type:"structure"`
+
// Contains the master username for the DB instance.
MasterUsername *string `type:"string"`
@@ -26868,6 +26994,12 @@ func (s *DBInstance) SetListenerEndpoint(v *Endpoint) *DBInstance {
return s
}
+// SetMasterUserSecret sets the MasterUserSecret field's value.
+func (s *DBInstance) SetMasterUserSecret(v *MasterUserSecret) *DBInstance {
+ s.MasterUserSecret = v
+ return s
+}
+
// SetMasterUsername sets the MasterUsername field's value.
func (s *DBInstance) SetMasterUsername(v string) *DBInstance {
s.MasterUsername = &v
@@ -38494,6 +38626,80 @@ func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOut
return s
}
+// Contains the secret managed by RDS in Amazon Web Services Secrets Manager
+// for the master user password.
+//
+// For more information, see Password management with Amazon Web Services Secrets
+// Manager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)
+// in the Amazon RDS User Guide and Password management with Amazon Web Services
+// Secrets Manager (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html)
+// in the Amazon Aurora User Guide.
+type MasterUserSecret struct {
+ _ struct{} `type:"structure"`
+
+ // The Amazon Web Services KMS key identifier that is used to encrypt the secret.
+ KmsKeyId *string `type:"string"`
+
+ // The Amazon Resource Name (ARN) of the secret.
+ SecretArn *string `type:"string"`
+
+ // The status of the secret.
+ //
+ // The possible status values include the following:
+ //
+ // * creating - The secret is being created.
+ //
+ // * active - The secret is available for normal use and rotation.
+ //
+ // * rotating - The secret is being rotated.
+ //
+ // * impaired - The secret can be used to access database credentials, but
+ // it can't be rotated. A secret might have this status if, for example,
+ // permissions are changed so that RDS can no longer access either the secret
+ // or the KMS key for the secret. When a secret has this status, you can
+ // correct the condition that caused the status. Alternatively, modify the
+ // DB instance to turn off automatic management of database credentials,
+ // and then modify the DB instance again to turn on automatic management
+ // of database credentials.
+ SecretStatus *string `type:"string"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s MasterUserSecret) 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 MasterUserSecret) GoString() string {
+ return s.String()
+}
+
+// SetKmsKeyId sets the KmsKeyId field's value.
+func (s *MasterUserSecret) SetKmsKeyId(v string) *MasterUserSecret {
+ s.KmsKeyId = &v
+ return s
+}
+
+// SetSecretArn sets the SecretArn field's value.
+func (s *MasterUserSecret) SetSecretArn(v string) *MasterUserSecret {
+ s.SecretArn = &v
+ return s
+}
+
+// SetSecretStatus sets the SecretStatus field's value.
+func (s *MasterUserSecret) SetSecretStatus(v string) *MasterUserSecret {
+ s.SecretStatus = &v
+ return s
+}
+
// The minimum DB engine version required for each corresponding allowed value
// for an option setting.
type MinimumEngineVersionPerAllowedValue struct {
@@ -39787,14 +39993,69 @@ type ModifyDBClusterInput struct {
// Valid for: Multi-AZ DB clusters only
Iops *int64 `type:"integer"`
+ // A value that indicates whether to manage the master user password with Amazon
+ // Web Services Secrets Manager.
+ //
+ // If the DB cluster doesn't manage the master user password with Amazon Web
+ // Services Secrets Manager, you can turn on this management. In this case,
+ // you can't specify MasterUserPassword.
+ //
+ // If the DB cluster already manages the master user password with Amazon Web
+ // Services Secrets Manager, and you specify that the master user password is
+ // not managed with Amazon Web Services Secrets Manager, then you must specify
+ // MasterUserPassword. In this case, RDS deletes the secret and uses the new
+ // password for the master user specified by MasterUserPassword.
+ //
+ // For more information, see Password management with Amazon Web Services Secrets
+ // Manager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)
+ // in the Amazon RDS User Guide and Password management with Amazon Web Services
+ // Secrets Manager (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html)
+ // in the Amazon Aurora User Guide.
+ //
+ // Valid for: Aurora DB clusters and Multi-AZ DB clusters
+ ManageMasterUserPassword *bool `type:"boolean"`
+
// The new password for the master database user. This password can contain
// any printable ASCII character except "/", """, or "@".
//
- // Constraints: Must contain from 8 to 41 characters.
+ // Constraints:
+ //
+ // * Must contain from 8 to 41 characters.
+ //
+ // * Can't be specified if ManageMasterUserPassword is turned on.
//
// Valid for: Aurora DB clusters and Multi-AZ DB clusters
MasterUserPassword *string `type:"string"`
+ // The Amazon Web Services KMS key identifier to encrypt a secret that is automatically
+ // generated and managed in Amazon Web Services Secrets Manager.
+ //
+ // This setting is valid only if both of the following conditions are met:
+ //
+ // * The DB cluster doesn't manage the master user password in Amazon Web
+ // Services Secrets Manager. If the DB cluster already manages the master
+ // user password in Amazon Web Services Secrets Manager, you can't change
+ // the KMS key that is used to encrypt the secret.
+ //
+ // * You are turning on ManageMasterUserPassword to manage the master user
+ // password in Amazon Web Services Secrets Manager. If you are turning on
+ // ManageMasterUserPassword and don't specify MasterUserSecretKmsKeyId, then
+ // the aws/secretsmanager KMS key is used to encrypt the secret. If the secret
+ // is in a different Amazon Web Services account, then you can't use the
+ // aws/secretsmanager KMS key to encrypt the secret, and you must use a customer
+ // managed KMS key.
+ //
+ // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
+ // ARN, or alias name for the KMS key. To use a KMS key in a different Amazon
+ // Web Services account, specify the key ARN or alias ARN.
+ //
+ // There is a default KMS key for your Amazon Web Services account. Your Amazon
+ // Web Services account has a different default KMS key for each Amazon Web
+ // Services Region.
+ //
+ // Valid for: Aurora DB clusters and Multi-AZ DB clusters
+ MasterUserSecretKmsKeyId *string `type:"string"`
+
// The interval, in seconds, between points when Enhanced Monitoring metrics
// are collected for the DB cluster. To turn off collecting Enhanced Monitoring
// metrics, specify 0. The default is 0.
@@ -39946,6 +40207,27 @@ type ModifyDBClusterInput struct {
// Valid for: Aurora DB clusters and Multi-AZ DB clusters
PreferredMaintenanceWindow *string `type:"string"`
+ // A value that indicates whether to rotate the secret managed by Amazon Web
+ // Services Secrets Manager for the master user password.
+ //
+ // This setting is valid only if the master user password is managed by RDS
+ // in Amazon Web Services Secrets Manager for the DB cluster. The secret value
+ // contains the updated password.
+ //
+ // For more information, see Password management with Amazon Web Services Secrets
+ // Manager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)
+ // in the Amazon RDS User Guide and Password management with Amazon Web Services
+ // Secrets Manager (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html)
+ // in the Amazon Aurora User Guide.
+ //
+ // Constraints:
+ //
+ // * You must apply the change immediately when rotating the master user
+ // password.
+ //
+ // Valid for: Aurora DB clusters and Multi-AZ DB clusters
+ RotateMasterUserPassword *bool `type:"boolean"`
+
// The scaling properties of the DB cluster. You can only modify scaling properties
// for DB clusters in serverless DB engine mode.
//
@@ -40132,12 +40414,24 @@ func (s *ModifyDBClusterInput) SetIops(v int64) *ModifyDBClusterInput {
return s
}
+// SetManageMasterUserPassword sets the ManageMasterUserPassword field's value.
+func (s *ModifyDBClusterInput) SetManageMasterUserPassword(v bool) *ModifyDBClusterInput {
+ s.ManageMasterUserPassword = &v
+ return s
+}
+
// SetMasterUserPassword sets the MasterUserPassword field's value.
func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput {
s.MasterUserPassword = &v
return s
}
+// SetMasterUserSecretKmsKeyId sets the MasterUserSecretKmsKeyId field's value.
+func (s *ModifyDBClusterInput) SetMasterUserSecretKmsKeyId(v string) *ModifyDBClusterInput {
+ s.MasterUserSecretKmsKeyId = &v
+ return s
+}
+
// SetMonitoringInterval sets the MonitoringInterval field's value.
func (s *ModifyDBClusterInput) SetMonitoringInterval(v int64) *ModifyDBClusterInput {
s.MonitoringInterval = &v
@@ -40198,6 +40492,12 @@ func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDB
return s
}
+// SetRotateMasterUserPassword sets the RotateMasterUserPassword field's value.
+func (s *ModifyDBClusterInput) SetRotateMasterUserPassword(v bool) *ModifyDBClusterInput {
+ s.RotateMasterUserPassword = &v
+ return s
+}
+
// SetScalingConfiguration sets the ScalingConfiguration field's value.
func (s *ModifyDBClusterInput) SetScalingConfiguration(v *ScalingConfiguration) *ModifyDBClusterInput {
s.ScalingConfiguration = v
@@ -40858,6 +41158,29 @@ type ModifyDBInstanceInput struct {
// Valid values: license-included | bring-your-own-license | general-public-license
LicenseModel *string `type:"string"`
+ // A value that indicates whether to manage the master user password with Amazon
+ // Web Services Secrets Manager.
+ //
+ // If the DB cluster doesn't manage the master user password with Amazon Web
+ // Services Secrets Manager, you can turn on this management. In this case,
+ // you can't specify MasterUserPassword.
+ //
+ // If the DB cluster already manages the master user password with Amazon Web
+ // Services Secrets Manager, and you specify that the master user password is
+ // not managed with Amazon Web Services Secrets Manager, then you must specify
+ // MasterUserPassword. In this case, RDS deletes the secret and uses the new
+ // password for the master user specified by MasterUserPassword.
+ //
+ // For more information, see Password management with Amazon Web Services Secrets
+ // Manager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)
+ // in the Amazon RDS User Guide.
+ //
+ // Constraints:
+ //
+ // * Can't manage the master user password with Amazon Web Services Secrets
+ // Manager if MasterUserPassword is specified.
+ ManageMasterUserPassword *bool `type:"boolean"`
+
// The new password for the master user. The password can include any printable
// ASCII character except "/", """, or "@".
//
@@ -40875,6 +41198,8 @@ type ModifyDBInstanceInput struct {
//
// Default: Uses existing setting
//
+ // Constraints: Can't be specified if ManageMasterUserPassword is turned on.
+ //
// MariaDB
//
// Constraints: Must contain from 8 to 41 characters.
@@ -40900,6 +41225,33 @@ type ModifyDBInstanceInput struct {
// This includes restoring privileges that might have been accidentally revoked.
MasterUserPassword *string `type:"string"`
+ // The Amazon Web Services KMS key identifier to encrypt a secret that is automatically
+ // generated and managed in Amazon Web Services Secrets Manager.
+ //
+ // This setting is valid only if both of the following conditions are met:
+ //
+ // * The DB instance doesn't manage the master user password in Amazon Web
+ // Services Secrets Manager. If the DB instance already manages the master
+ // user password in Amazon Web Services Secrets Manager, you can't change
+ // the KMS key used to encrypt the secret.
+ //
+ // * You are turning on ManageMasterUserPassword to manage the master user
+ // password in Amazon Web Services Secrets Manager. If you are turning on
+ // ManageMasterUserPassword and don't specify MasterUserSecretKmsKeyId, then
+ // the aws/secretsmanager KMS key is used to encrypt the secret. If the secret
+ // is in a different Amazon Web Services account, then you can't use the
+ // aws/secretsmanager KMS key to encrypt the secret, and you must use a customer
+ // managed KMS key.
+ //
+ // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
+ // ARN, or alias name for the KMS key. To use a KMS key in a different Amazon
+ // Web Services account, specify the key ARN or alias ARN.
+ //
+ // There is a default KMS key for your Amazon Web Services account. Your Amazon
+ // Web Services account has a different default KMS key for each Amazon Web
+ // Services Region.
+ MasterUserSecretKmsKeyId *string `type:"string"`
+
// The upper limit in gibibytes (GiB) to which Amazon RDS can automatically
// scale the storage of the DB instance.
//
@@ -41139,6 +41491,23 @@ type ModifyDBInstanceInput struct {
// maximum value is 1,440.
ResumeFullAutomationModeMinutes *int64 `type:"integer"`
+ // A value that indicates whether to rotate the secret managed by Amazon Web
+ // Services Secrets Manager for the master user password.
+ //
+ // This setting is valid only if the master user password is managed by RDS
+ // in Amazon Web Services Secrets Manager for the DB cluster. The secret value
+ // contains the updated password.
+ //
+ // For more information, see Password management with Amazon Web Services Secrets
+ // Manager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)
+ // in the Amazon RDS User Guide.
+ //
+ // Constraints:
+ //
+ // * You must apply the change immediately when rotating the master user
+ // password.
+ RotateMasterUserPassword *bool `type:"boolean"`
+
// Specifies the storage throughput value for the DB instance.
//
// This setting applies only to the gp3 storage type.
@@ -41392,12 +41761,24 @@ func (s *ModifyDBInstanceInput) SetLicenseModel(v string) *ModifyDBInstanceInput
return s
}
+// SetManageMasterUserPassword sets the ManageMasterUserPassword field's value.
+func (s *ModifyDBInstanceInput) SetManageMasterUserPassword(v bool) *ModifyDBInstanceInput {
+ s.ManageMasterUserPassword = &v
+ return s
+}
+
// SetMasterUserPassword sets the MasterUserPassword field's value.
func (s *ModifyDBInstanceInput) SetMasterUserPassword(v string) *ModifyDBInstanceInput {
s.MasterUserPassword = &v
return s
}
+// SetMasterUserSecretKmsKeyId sets the MasterUserSecretKmsKeyId field's value.
+func (s *ModifyDBInstanceInput) SetMasterUserSecretKmsKeyId(v string) *ModifyDBInstanceInput {
+ s.MasterUserSecretKmsKeyId = &v
+ return s
+}
+
// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
func (s *ModifyDBInstanceInput) SetMaxAllocatedStorage(v int64) *ModifyDBInstanceInput {
s.MaxAllocatedStorage = &v
@@ -41494,6 +41875,12 @@ func (s *ModifyDBInstanceInput) SetResumeFullAutomationModeMinutes(v int64) *Mod
return s
}
+// SetRotateMasterUserPassword sets the RotateMasterUserPassword field's value.
+func (s *ModifyDBInstanceInput) SetRotateMasterUserPassword(v bool) *ModifyDBInstanceInput {
+ s.RotateMasterUserPassword = &v
+ return s
+}
+
// SetStorageThroughput sets the StorageThroughput field's value.
func (s *ModifyDBInstanceInput) SetStorageThroughput(v int64) *ModifyDBInstanceInput {
s.StorageThroughput = &v
@@ -46357,13 +46744,50 @@ type RestoreDBClusterFromS3Input struct {
// Services Region.
KmsKeyId *string `type:"string"`
+ // A value that indicates whether to manage the master user password with Amazon
+ // Web Services Secrets Manager.
+ //
+ // For more information, see Password management with Amazon Web Services Secrets
+ // Manager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)
+ // in the Amazon RDS User Guide and Password management with Amazon Web Services
+ // Secrets Manager (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html)
+ // in the Amazon Aurora User Guide.
+ //
+ // Constraints:
+ //
+ // * Can't manage the master user password with Amazon Web Services Secrets
+ // Manager if MasterUserPassword is specified.
+ ManageMasterUserPassword *bool `type:"boolean"`
+
// The password for the master database user. This password can contain any
// printable ASCII character except "/", """, or "@".
//
- // Constraints: Must contain from 8 to 41 characters.
+ // Constraints:
//
- // MasterUserPassword is a required field
- MasterUserPassword *string `type:"string" required:"true"`
+ // * Must contain from 8 to 41 characters.
+ //
+ // * Can't be specified if ManageMasterUserPassword is turned on.
+ MasterUserPassword *string `type:"string"`
+
+ // The Amazon Web Services KMS key identifier to encrypt a secret that is automatically
+ // generated and managed in Amazon Web Services Secrets Manager.
+ //
+ // This setting is valid only if the master user password is managed by RDS
+ // in Amazon Web Services Secrets Manager for the DB cluster.
+ //
+ // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
+ // ARN, or alias name for the KMS key. To use a KMS key in a different Amazon
+ // Web Services account, specify the key ARN or alias ARN.
+ //
+ // If you don't specify MasterUserSecretKmsKeyId, then the aws/secretsmanager
+ // KMS key is used to encrypt the secret. If the secret is in a different Amazon
+ // Web Services account, then you can't use the aws/secretsmanager KMS key to
+ // encrypt the secret, and you must use a customer managed KMS key.
+ //
+ // There is a default KMS key for your Amazon Web Services account. Your Amazon
+ // Web Services account has a different default KMS key for each Amazon Web
+ // Services Region.
+ MasterUserSecretKmsKeyId *string `type:"string"`
// The name of the master user for the restored DB cluster.
//
@@ -46522,9 +46946,6 @@ func (s *RestoreDBClusterFromS3Input) Validate() error {
if s.Engine == nil {
invalidParams.Add(request.NewErrParamRequired("Engine"))
}
- if s.MasterUserPassword == nil {
- invalidParams.Add(request.NewErrParamRequired("MasterUserPassword"))
- }
if s.MasterUsername == nil {
invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
}
@@ -46649,12 +47070,24 @@ func (s *RestoreDBClusterFromS3Input) SetKmsKeyId(v string) *RestoreDBClusterFro
return s
}
+// SetManageMasterUserPassword sets the ManageMasterUserPassword field's value.
+func (s *RestoreDBClusterFromS3Input) SetManageMasterUserPassword(v bool) *RestoreDBClusterFromS3Input {
+ s.ManageMasterUserPassword = &v
+ return s
+}
+
// SetMasterUserPassword sets the MasterUserPassword field's value.
func (s *RestoreDBClusterFromS3Input) SetMasterUserPassword(v string) *RestoreDBClusterFromS3Input {
s.MasterUserPassword = &v
return s
}
+// SetMasterUserSecretKmsKeyId sets the MasterUserSecretKmsKeyId field's value.
+func (s *RestoreDBClusterFromS3Input) SetMasterUserSecretKmsKeyId(v string) *RestoreDBClusterFromS3Input {
+ s.MasterUserSecretKmsKeyId = &v
+ return s
+}
+
// SetMasterUsername sets the MasterUsername field's value.
func (s *RestoreDBClusterFromS3Input) SetMasterUsername(v string) *RestoreDBClusterFromS3Input {
s.MasterUsername = &v
@@ -48808,12 +49241,65 @@ type RestoreDBInstanceFromS3Input struct {
// The license model for this DB instance. Use general-public-license.
LicenseModel *string `type:"string"`
+ // A value that indicates whether to manage the master user password with Amazon
+ // Web Services Secrets Manager.
+ //
+ // For more information, see Password management with Amazon Web Services Secrets
+ // Manager (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)
+ // in the Amazon RDS User Guide.
+ //
+ // Constraints:
+ //
+ // * Can't manage the master user password with Amazon Web Services Secrets
+ // Manager if MasterUserPassword is specified.
+ ManageMasterUserPassword *bool `type:"boolean"`
+
// The password for the master user. The password can include any printable
// ASCII character except "/", """, or "@".
//
+ // 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.
MasterUserPassword *string `type:"string"`
+ // The Amazon Web Services KMS key identifier to encrypt a secret that is automatically
+ // generated and managed in Amazon Web Services Secrets Manager.
+ //
+ // This setting is valid only if the master user password is managed by RDS
+ // in Amazon Web Services Secrets Manager for the DB instance.
+ //
+ // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
+ // ARN, or alias name for the KMS key. To use a KMS key in a different Amazon
+ // Web Services account, specify the key ARN or alias ARN.
+ //
+ // If you don't specify MasterUserSecretKmsKeyId, then the aws/secretsmanager
+ // KMS key is used to encrypt the secret. If the secret is in a different Amazon
+ // Web Services account, then you can't use the aws/secretsmanager KMS key to
+ // encrypt the secret, and you must use a customer managed KMS key.
+ //
+ // There is a default KMS key for your Amazon Web Services account. Your Amazon
+ // Web Services account has a different default KMS key for each Amazon Web
+ // Services Region.
+ MasterUserSecretKmsKeyId *string `type:"string"`
+
// The name for the master user.
//
// Constraints:
@@ -49207,12 +49693,24 @@ func (s *RestoreDBInstanceFromS3Input) SetLicenseModel(v string) *RestoreDBInsta
return s
}
+// SetManageMasterUserPassword sets the ManageMasterUserPassword field's value.
+func (s *RestoreDBInstanceFromS3Input) SetManageMasterUserPassword(v bool) *RestoreDBInstanceFromS3Input {
+ s.ManageMasterUserPassword = &v
+ return s
+}
+
// SetMasterUserPassword sets the MasterUserPassword field's value.
func (s *RestoreDBInstanceFromS3Input) SetMasterUserPassword(v string) *RestoreDBInstanceFromS3Input {
s.MasterUserPassword = &v
return s
}
+// SetMasterUserSecretKmsKeyId sets the MasterUserSecretKmsKeyId field's value.
+func (s *RestoreDBInstanceFromS3Input) SetMasterUserSecretKmsKeyId(v string) *RestoreDBInstanceFromS3Input {
+ s.MasterUserSecretKmsKeyId = &v
+ return s
+}
+
// SetMasterUsername sets the MasterUsername field's value.
func (s *RestoreDBInstanceFromS3Input) SetMasterUsername(v string) *RestoreDBInstanceFromS3Input {
s.MasterUsername = &v
diff --git a/service/secretsmanager/api.go b/service/secretsmanager/api.go
index 6bc8063f1a7..3d8bc739c9a 100644
--- a/service/secretsmanager/api.go
+++ b/service/secretsmanager/api.go
@@ -184,6 +184,10 @@ func (c *SecretsManager) CreateSecretRequest(input *CreateSecretInput) (req *req
// protected secret data and the important information needed to manage the
// secret.
//
+// For secrets that use managed rotation, you need to create the secret through
+// the managing service. For more information, see Secrets Manager secrets managed
+// by other Amazon Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html).
+//
// For information about creating a secret in the console, see Create a secret
// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html).
//
@@ -1949,42 +1953,20 @@ func (c *SecretsManager) RotateSecretRequest(input *RotateSecretInput) (req *req
// RotateSecret API operation for AWS Secrets Manager.
//
// Configures and starts the asynchronous process of rotating the secret. For
-// more information about rotation, see Rotate secrets (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html).
-//
-// If you include the configuration parameters, the operation sets the values
-// for the secret and then immediately starts a rotation. If you don't include
-// the configuration parameters, the operation starts a rotation with the values
-// already stored in the secret.
-//
-// For database credentials you want to rotate, for Secrets Manager to be able
-// to rotate the secret, you must make sure the secret value is in the JSON
-// structure of a database secret (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_secret_json_structure.html).
-// In particular, if you want to use the alternating users strategy (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets_strategies.html#rotating-secrets-two-users),
-// your secret must contain the ARN of a superuser secret.
-//
-// To configure rotation, you also need the ARN of an Amazon Web Services Lambda
-// function and the schedule for the rotation. The Lambda rotation function
-// creates a new version of the secret and creates or updates the credentials
-// on the database or service to match. After testing the new credentials, the
-// function marks the new secret version with the staging label AWSCURRENT.
-// Then anyone who retrieves the secret gets the new version. For more information,
-// see How rotation works (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html).
-//
-// You can create the Lambda rotation function based on the rotation function
-// templates (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_available-rotation-templates.html)
-// that Secrets Manager provides. Choose a template that matches your Rotation
-// strategy (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets_strategies.html).
+// information about rotation, see Rotate secrets (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html)
+// in the Secrets Manager User Guide. If you include the configuration parameters,
+// the operation sets the values for the secret and then immediately starts
+// a rotation. If you don't include the configuration parameters, the operation
+// starts a rotation with the values already stored in the secret.
//
// When rotation is successful, the AWSPENDING staging label might be attached
// to the same version as the AWSCURRENT version, or it might not be attached
// to any version. If the AWSPENDING staging label is present but not attached
// to the same version as AWSCURRENT, then any later invocation of RotateSecret
// assumes that a previous rotation request is still in progress and returns
-// an error.
-//
-// When rotation is unsuccessful, the AWSPENDING staging label might be attached
-// to an empty secret version. For more information, see Troubleshoot rotation
-// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/troubleshoot_rotation.html)
+// an error. When rotation is unsuccessful, the AWSPENDING staging label might
+// be attached to an empty secret version. For more information, see Troubleshoot
+// rotation (https://docs.aws.amazon.com/secretsmanager/latest/userguide/troubleshoot_rotation.html)
// in the Secrets Manager User Guide.
//
// Secrets Manager generates a CloudTrail log entry when you call this action.
@@ -2469,6 +2451,10 @@ func (c *SecretsManager) UpdateSecretRequest(input *UpdateSecretInput) (req *req
//
// To change the rotation configuration of a secret, use RotateSecret instead.
//
+// To change a secret so that it is managed by another service, you need to
+// recreate the secret in that service. See Secrets Manager secrets managed
+// by other Amazon Web Services services (https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html).
+//
// We recommend you avoid calling UpdateSecret at a sustained rate of more than
// once every 10 minutes. When you call UpdateSecret to update the secret value,
// Secrets Manager creates a new version of the secret. Secrets Manager removes
@@ -6174,8 +6160,9 @@ type RotateSecretInput struct {
// Specifies whether to rotate the secret immediately or wait until the next
// scheduled rotation window. The rotation schedule is defined in RotateSecretRequest$RotationRules.
//
- // If you don't immediately rotate the secret, Secrets Manager tests the rotation
- // configuration by running the testSecret step (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html)
+ // For secrets that use a Lambda rotation function to rotate, if you don't immediately
+ // rotate the secret, Secrets Manager tests the rotation configuration by running
+ // the testSecret step (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html)
// of the Lambda rotation function. The test creates an AWSPENDING version of
// the secret and then removes it.
//
@@ -6183,7 +6170,12 @@ type RotateSecretInput struct {
// the secret immediately.
RotateImmediately *bool `type:"boolean"`
- // The ARN of the Lambda rotation function that can rotate the secret.
+ // For secrets that use a Lambda rotation function to rotate, the ARN of the
+ // Lambda rotation function.
+ //
+ // For secrets that use managed rotation, omit this field. For more information,
+ // see Managed rotation (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_managed.html)
+ // in the Secrets Manager User Guide.
RotationLambdaARN *string `type:"string"`
// A structure that defines the rotation configuration for this secret.
diff --git a/service/secretsmanager/doc.go b/service/secretsmanager/doc.go
index e4a983867e4..402a2dd6e55 100644
--- a/service/secretsmanager/doc.go
+++ b/service/secretsmanager/doc.go
@@ -15,6 +15,9 @@
// This version of the Secrets Manager API Reference documents the Secrets Manager
// API version 2017-10-17.
//
+// For a list of endpoints, see Amazon Web Services Secrets Manager endpoints
+// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/asm_access.html#endpoints).
+//
// # Support and Feedback for Amazon Web Services Secrets Manager
//
// We welcome your feedback. Send your comments to awssecretsmanager-feedback@amazon.com